Tercera práctica
Problema a resolver:
calcular los movimientos que se realiza de "n" discos en 3 postes.Procedimiento:
1. Comenzamos a analizar el
programa a resolver.
2. Identificamos los datos de
entrada (numero de discos y postes) y salida (numero de movimientos).
3. Creamos el diagrama UML, la cual contiene el nombre de la clase, atributos y métodos.
4. Comenzamos a codificar y creamos
la clase llamada TorresHanoi.
5. Después utilizamos una
herramienta de java conocido como refactor
para encapsular las variables
(numdiscos y nummovimientos) y de esa
manera realizamos el programa más fácil
y práctico.
6. Posteriormente comenzamos a crear los métodos: intercambio y jugar.
7. Creamos otra clase llamado
Torres para solución de la clase
TorresHanoi.
8. Por último ejecutamos el
programa, así logrando imprimir los resultados deseados.
En esta tercera practica; consistió en cambiar los discos de una torre a otro, con la condicion no poder mover un disco grande a un pequeño; analizamos las supuestas combinaciones tratando de cumplir la condición, para llegar a lo deseado.
En esta practica pudimos notar que se nos complico ya que tuvimos, que analizar los movimientos.
Autores
Diagrama UML
solución en java
Comienza la clase TorresHanoi
package Ortiz;
import javax.swing.JOptionPane;
public class TorresHanoi {
private int numdiscos;
private int nummovimientos;
public void intercambio( int numdiscos,char A,char B,char C){
if(numdiscos==1){
setNummovimientos(getNummovimientos() +1);
JOptionPane.showMessageDialog(null,"mover disco del poste A al poste B "+"\n"+"numeros de movimientos "+nummovimientos);
}
else{
intercambio(numdiscos-1,A,B,C);
setNummovimientos(getNummovimientos()+1);
JOptionPane.showMessageDialog(null,"mover disco del poste A al poste C "+"\n"+"numeros de movimientos "+nummovimientos);
intercambio(numdiscos-1,A,B,C);
}
}
public void jugar(){
JOptionPane.showMessageDialog(null,"el total de movimientos efectuados fueron "+ nummovimientos);
}
Termina la clase TorresHanoi
comienza la clase Torres
package Ortiz;
public class Torres {
public static void main(String []largs){
TorresHanoi x;
x=new TorresHanoi();
x.intercambio(3, 'A' ,'B', 'C');
x.jugar();
}
}
}
}
}
}
}
fin de la clase
Conclusión:
En esta tercera practica; consistió en cambiar los discos de una torre a otro, con la condicion no poder mover un disco grande a un pequeño; analizamos las supuestas combinaciones tratando de cumplir la condición, para llegar a lo deseado.
En esta practica pudimos notar que se nos complico ya que tuvimos, que analizar los movimientos.
Autores
Javier Arley Gonzalez Roblero, Manuel Alejandro Mendez lopez y Saulo Ortiz Ortiz