• Jueves 14 de Noviembre de 2024, 04:41

Autor Tema:  Algoritmo recursivo Torres de Hanoi ??  (Leído 7144 veces)

Ergon

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Algoritmo recursivo Torres de Hanoi ??
« en: Miércoles 14 de Octubre de 2009, 12:19 »
0
muy buenas !!!

soy muy novato en el tema de la programacion en C++ y os pido ayuda para que me ayudaeis a interpretar un algoritmo.
Tengo que hacer el juego de las torres de Hanoi con un brazo robotico. El robot usara idioma RAPL-II

El profesor nos ha pasado esto:
-------------------------------------------------------------------------------------------------------------------------
Las Torres de Hanoi (RECURSIVA).
Esta practica trata de implementar el problema de las Torres de Hanoi de
manera recursiva. Se parte de unas condiciones iniciales conocidas (p. ex. Hay 6
piezas en una de las torres y las otras dos estan vacias) y el programa tiene que aceptar
reproducir acciones del tipo: “Mueve n piezas de la torre A a la torre B”. El algoritmo
recursivo que mueve N piezas de la Torre_A a la Torre_B, es el siguiente:


Mover_Piezas(Torre_A, Torre_B, Npiezas)
{

Torre_C= Otra_Torre(Torre_A, Torre_B)                       // Busca la torre auxiliar

Si (n!=1)
{
       Mover_Piezas(Torre_A, Torre_C, Npiezas-1);
       Cambiar_Pieza(Torre_A, Torre_B);                               // Mueve solo la pieza superior
       Mover_Piezas(Torre_C, Torre_B, Npiezas-1);
}

sinó
       Cambiar_Pieza(Torre_A, Torre_B);                               // Mueve solo la pieza superior


el tema esta en si me podrias explicar como funciona este algoritmo ya q no entiendo como trabaja.
Podrias decirme que variables deberia declarar?
"Mover_Piezas" , "Cambiar_Piezas" es una variable de estructura?

muchas gracias por adelnatado !!!!

P.D: si alguien tiene otro algoritmo donde crea q lo entenderia mejor...

eternity

  • Miembro activo
  • **
  • Mensajes: 78
  • Nacionalidad: ar
    • Ver Perfil
    • http://lameriendadejuan.blogspot.com/
Re: Algoritmo recursivo Torres de Hanoi ??
« Respuesta #1 en: Miércoles 14 de Octubre de 2009, 14:32 »
0
te sugiero que veas esto: http://www.solotuweb.com/fs~id~5319.html
 :alien:


Ergon

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Algoritmo recursivo Torres de Hanoi ??
« Respuesta #2 en: Miércoles 14 de Octubre de 2009, 20:09 »
0
muchas gracias por el link !!!sera de gran ayuda, aunque yo lo hago en c++ y las cosas cambian algo...

Pero una cosilla, alguien podria explicarme como se supone q deberia funcionar el algoritmo q puse??

Por ejemplo, si le digo q jugaremos con 4 piezas hace el algoritmo 4 veces. Primero cuando N=4, cuando N=3, cuando N=2... ??

gracias

eternity

  • Miembro activo
  • **
  • Mensajes: 78
  • Nacionalidad: ar
    • Ver Perfil
    • http://lameriendadejuan.blogspot.com/
Re: Algoritmo recursivo Torres de Hanoi ??
« Respuesta #3 en: Miércoles 14 de Octubre de 2009, 20:17 »
0
el órden del algorítmo se basa en la cantidad de discos, por lo cual para mover todos los dicos(N) de A a C pasando por B, se requieren 2^N - 1 Movimientos B)

mas info acá http://www.rodoval.com/heureka/hanoi/