
sábado, 7 de marzo de 2009
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
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
}
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:
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);
}
}
- tomamos el numero
- 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);
}
}
Suscribirse a:
Entradas (Atom)