A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Aula Teste INFNET terça-feira, 11 de janeiro de 2011

Apresentações semelhantes


Apresentação em tema: "Aula Teste INFNET terça-feira, 11 de janeiro de 2011"— Transcrição da apresentação:

1 Aula Teste INFNET terça-feira, 11 de janeiro de 2011
IMPLEMENTAÇÃO DA TORRE DE HANOI NA LINGUAGEM JAVA Prof. Alex Avellar

2 Objetivo Apresentar os conceitos fundamentais da Torre de Hanoi
Apresentar o algoritmo para resolução do problema Realizar uma implementação em Linguagem Java do Algoritmo proposto

3 Pré-requisitos Conhecimentos em Programação
Conhecimentos em comandos básicos da linguagem Java

4 Apresentações Experiência Expectativa Motivação
Material de Apoio:

5 Sumário Objetivo Fundamentos da Torre de Hanoi Descrição do Algoritmo
Conceitos da Linguagem Java Implementação da solução Conclusão

6 Bibliografia 1) PREISS, Bruno R. , Estruturas de Dados e Algoritmos: padrões de projetos orientados a objetos com java, 2000. 2) FURGERI, S., Java 6 – Desenvolvendo e Implementando Aplicações, Érica , 2009. 3) SEDGEWICK, R., Algorithms in Java, Addison – Wesley, 2003. 4) TOWER OF HANOI: Fascinating Facts (LHS):

7 1. Torre de Hanoi

8 Fundamentos da Torre de Hanoi
Fonte: TOWER OF HANOI Edouard Lucas Lenda Hindu Torre de Bramanismo Jovens Monges Discos de Ouro 64 Níveis De Parville Templo de Bernares Centro do Mundo Hastes de Diamante e Discos finos como o corpo de uma abelha

9 Limitações

10 2. Algoritmo

11

12 Algoritmo

13 3. Implementação

14 Implementação da Torre de Hanoi na linguagem Java
import java.util.*; public class Hanoi { else { System.out.println("Pino 1: "+ t1 ); System.out.println("Pino 2: "+ t2 ); System.out.println("Pino 3: "+ t3 ); System.out.println(""); movimentar (ndiscos -1, t1, t3, t2); t3.push(t1.peek()); t1.pop(); movimentar (ndiscos -1, t2, t1, t3); } } public void movimentar (int ndiscos, Stack t1, Stack t2, Stack t3) { if( ndiscos == 1 ) { t3.push(t1.peek()); t1.pop(); System.out.println("Pino 1: "+ t1 ); System.out.println("Pino 2: "+ t2 ); System.out.println("Pino 3: "+ t3 ); System.out.println(""); }

15 Implementação da Torre de Hanoi na linguagem Java
import java.util.*; public class Hanoi { else { System.out.println("Pino 1: "+ t1 ); System.out.println("Pino 2: "+ t2 ); System.out.println("Pino 3: "+ t3 ); System.out.println(""); movimentar (ndiscos -1, t1, t3, t2); t3.push(t1.peek()); t1.pop(); movimentar (ndiscos -1, t2, t1, t3); } } public void movimentar (int ndiscos, Stack t1, Stack t2, Stack t3) { if( ndiscos == 1 ) { t3.push(t1.peek()); t1.pop(); System.out.println("Pino 1: "+ t1 ); System.out.println("Pino 2: "+ t2 ); System.out.println("Pino 3: "+ t3 ); System.out.println(""); }

16 Implementação da Torre de Hanoi na linguagem Java
import java.util.*; public class Hanoi { else { System.out.println("Pino 1: "+ t1 ); System.out.println("Pino 2: "+ t2 ); System.out.println("Pino 3: "+ t3 ); System.out.println(""); movimentar (ndiscos -1, t1, t3, t2); t3.push(t1.peek()); t1.pop(); movimentar (ndiscos -1, t2, t1, t3); } } public void movimentar (int ndiscos, Stack t1, Stack t2, Stack t3) { if( ndiscos == 1 ) { t3.push(t1.peek()); t1.pop(); System.out.println("Pino 1: "+ t1 ); System.out.println("Pino 2: "+ t2 ); System.out.println("Pino 3: "+ t3 ); System.out.println(""); }

17 Implementação da Torre de Hanoi na linguagem Java
public static void main(String args[]) { Hanoi obj = new Hanoi (); // Numero total de discos int ndiscos = 3; // Instancia Vetor pinos Stack Pino[] = new Stack [3]; // Instancia Pinos for (int i = 0; i < 3; i++) { Pino[i] = new Stack(); } // Entra com valores for (int i = ndiscos; i > 0; i--) { Pino[0].push(new Integer(i)); } obj.movimentar(ndiscos, Pino[0], Pino[1], Pino[2]); } }

18 Implementação da Torre de Hanoi na linguagem Java
public static void main(String args[]) { Hanoi obj = new Hanoi (); // Numero total de discos int ndiscos = 3; // Instancia Vetor pinos Stack Pino[] = new Stack [3]; // Instancia Pinos for (int i = 0; i < 3; i++) { Pino[i] = new Stack(); } // Entra com valores for (int i = ndiscos; i > 0; i--) { Pino[0].push(new Integer(i)); } obj.movimentar(ndiscos, Pino[0], Pino[1], Pino[2]); } }

19 Implementação da Torre de Hanoi na linguagem Java
// Entra com valores for (int i = ndiscos; i > 0; i--) { Pino[0].push(new Integer(i)); } obj.movimentar(ndiscos, Pino[0], Pino[1], Pino[2]); } } public static void main(String args[]) { Hanoi obj = new Hanoi (); // Numero total de discos int ndiscos = 3; // Instancia Vetor pinos Stack Pino[] = new Stack [3]; // Instancia Pinos for (int i = 0; i < 3; i++) { Pino[i] = new Stack(); }

20 Implementação da Torre de Hanoi na linguagem Java
public static void main(String args[]) { Hanoi obj = new Hanoi (); // Numero total de discos int ndiscos = 3; // Instancia Vetor pinos Stack Pino[] = new Stack [3]; // Instancia Pinos for (int i = 0; i < 3; i++) { Pino[i] = new Stack(); } // Entra com valores for (int i = ndiscos; i > 0; i--) { Pino[0].push(new Integer(i)); } obj.movimentar(ndiscos, Pino[0], Pino[1], Pino[2]); } }

21 Implementação da Torre de Hanoi na linguagem Java
else { System.out.println("Pino 1: "+ t1 ); System.out.println("Pino 2: "+ t2 ); System.out.println("Pino 3: "+ t3 ); System.out.println(""); movimentar (ndiscos -1, t1, t3, t2); t3.push(t1.peek()); t1.pop(); movimentar (ndiscos -1, t2, t1, t3); } } public void movimentar (int ndiscos, Stack t1, Stack t2, Stack t3) { if( ndiscos == 1 ) { t3.push(t1.peek()); t1.pop(); System.out.println("Pino 1: "+ t1 ); System.out.println("Pino 2: "+ t2 ); System.out.println("Pino 3: "+ t3 ); System.out.println(""); }

22 Implementação da Torre de Hanoi na linguagem Java
public void movimentar (int ndiscos, Stack t1, Stack t2, Stack t3) { if( ndiscos == 1 ) { t3.push(t1.peek()); t1.pop(); System.out.println("Pino 1: "+ t1 ); System.out.println("Pino 2: "+ t2 ); System.out.println("Pino 3: "+ t3 ); System.out.println(""); } else { System.out.println("Pino 1: "+ t1 ); System.out.println("Pino 2: "+ t2 ); System.out.println("Pino 3: "+ t3 ); System.out.println(""); movimentar (ndiscos -1, t1, t3, t2); t3.push(t1.peek()); t1.pop(); movimentar (ndiscos -1, t2, t1, t3); } }

23 Implementação da Torre de Hanoi na linguagem Java
else { System.out.println("Pino 1: "+ t1 ); System.out.println("Pino 2: "+ t2 ); System.out.println("Pino 3: "+ t3 ); System.out.println(""); movimentar (ndiscos -1, t1, t3, t2); t3.push(t1.peek()); t1.pop(); movimentar (ndiscos -1, t2, t1, t3); } } public void movimentar (int ndiscos, Stack t1, Stack t2, Stack t3) { if( ndiscos == 1 ) { t3.push(t1.peek()); t1.pop(); System.out.println("Pino 1: "+ t1 ); System.out.println("Pino 2: "+ t2 ); System.out.println("Pino 3: "+ t3 ); System.out.println(""); }

24 Implementação da Torre de Hanoi na linguagem Java
else { System.out.println("Pino 1: "+ t1 ); System.out.println("Pino 2: "+ t2 ); System.out.println("Pino 3: "+ t3 ); System.out.println(""); movimentar (ndiscos -1, t1, t3, t2); t3.push(t1.peek()); t1.pop(); movimentar (ndiscos -1, t2, t1, t3); } }

25 Exercício Reescreva o algoritmo da Torre de Hanoi apresentado a solução de forma iterativa, ou seja usando estrutura de repetições (laços) Codifique em Linguagem Java Entre no link abaixo e envie o algoritmo criado e o programa final

26 5. Conclusões e Perguntas


Carregar ppt "Aula Teste INFNET terça-feira, 11 de janeiro de 2011"

Apresentações semelhantes


Anúncios Google