sábado, 7 de marzo de 2009

estructuras lineales

Torres de hanoi

algoritmo iteractivo

solucionar ( actual, final )
{
sea máximo el número de discos total
sea destino el sitio final de máximo
sea disco = máximo
repita
mientras disco > 0 haga
si disco ya está en destino,
o bien, mover disco a destino tiene éxito entonces
si disco = máximo entonces
decremente máximo en 1
si máximo = 0 entonces
termine // solución lista
fin-si
sea destino el sitio final de máximo
fin-si
si_no
sea destino el sitio distinto de destino y del
sitio en donde está disco
fin-si
decremente disco en 1
fin-mientras
sean p y q los sitios distintos de destino
sea disco el menor de los discos de los topes de p y q
sea destino el sitio entre p y q con el mayor tope
fin-repita
}

algoritmo recursivo


Hanoi (dim N , p A, p B , p C)
// N, origen, destino , auxiliar
If N == 1
print Pasar disco de A a B
else
Hanoi(N-1 , A , C, B)
print Pasar disco de A a B
Hanoi(N-1 , C , B , A)

sábado, 21 de febrero de 2009

Fibonacci

1.realizar la busqueda de el decimo termino de la secuencia de fibonacci .

FUNCION
ant=0 ,sig=1

ant+sig= sig

Algoritmo iteractivo:
Dim:fibo(10) :int
var:n:int
inicio
fibo(1)= 0
fibo(2)= 1
para n=3,10,1 haga
fibo(n)= fibo(n-1) +fibo(n-2)
fin para

print fibo(10)
terminar

Algoritmo recursivo:
función fib(n)

si n<2>

return n

si no

return fib(n-1) + fib(n-2)


Implementacion java:

public static int fibo(int 10)
{
if (n==1 II n==2)
int ant= fibo(n-1)
int sig= fibo (n-2)
return ant+sig
}



sábado, 14 de febrero de 2009

Factoriales

vamos a mostrar como relizar un ejercicio de un factorial. Primero el factorial de un numero n es igual a n!= 1x2x3x4.........n y la formula a utilizar es n!=n! como ejemplo vamos a tomar un numero cualquiera y lo vamos a implementar en la ecuacion:

  • tomamos el numero
n=5
  • relizamos procedimiento

resultado=1x2x3x4x5

resultado=120

Determinar 5!

Interactiva

var:k,m,fact,auxfact:int

inicio

k=5

m=1

mientras que m <= k haga

fact=1

auxfact=1

fact=fact * auxfact

auxfact=auxfact +1

fin mientras que

print fact

terminar

Algoritmo recursivo

FUNCIÓN Factorial(n)
INICIO
SI (n<2) factorial =" 1;" factorial =" n">

Implementacion en java


public int factorial (double numero) {
for (numero=5;numero!=0;numero --) {
//si numero es igual a 0 devuelva a 1
if (numero==0)
return 1;
//si no coga el anterior y multiplique por el mismo pero restado en 1
else
return numero * factorial(numero-1);
}
}



Estructuras relacionales

grafos :
-dirigidos
-no dirigidos

estructuras recursivas

algoritmos de ordenamiento

estructuras lineales

colas,filas,pilas