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 Prof. Alex Avellar IMPLEMENTAÇÃO DA TORRE DE HANOI NA LINGUAGEM JAVA.

Apresentações semelhantes


Apresentação em tema: "Aula Teste INFNET terça-feira, 11 de janeiro de 2011 Prof. Alex Avellar IMPLEMENTAÇÃO DA TORRE DE HANOI NA LINGUAGEM JAVA."— Transcrição da apresentação:

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

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 2

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

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

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

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

7 1. Torre de Hanoi

8 Fundamentos da Torre de Hanoi 8 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 Fonte: TOWER OF HANOI

9 Limitações

10 2. Algoritmo

11

12 12 Algoritmo

13 3. Implementação

14 14 import java.util.*; public class Hanoi { 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(""); } 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); } }

15 15 import java.util.*; public class Hanoi { 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(""); } 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); } }

16 16 import java.util.*; public class Hanoi { 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(""); } 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); } }

17 17 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(); } 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]); } }

18 18 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(); } 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]); } }

19 19 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(); } 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]); } }

20 20 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(); } 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]); } }

21 21 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(""); } 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); } }

22 22 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(""); } 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); } }

23 23 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(""); } 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); } }

24 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 Prof. Alex Avellar IMPLEMENTAÇÃO DA TORRE DE HANOI NA LINGUAGEM JAVA."

Apresentações semelhantes


Anúncios Google