Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Lógica de Programação com Javascript - Aula #05

1,981 views

Published on

Lógica de Programação com Javascript - Aula #05

  1. 1. Aula #05 Controle de fluxo: laço de repetição
  2. 2. Laço de repetição: ENQUANTO e FAÇA, ENQUANTO ● Para transformar dados em informações, um programa faz cálculos, manipula dados e toma decisões. ● Para repetir instruções por um número de vezes desconhecido, todas as linguagens de alto nível possuem as instruções ‘ENQUANTO’ e ‘FAÇA, ENQUANTO’. <script> var numero = 1; while (numero != 0) { numero = prompt(‘Digite um número:’); alert(numero); } alert(‘FIM.’); </script> No código acima, o programa pedirá um número ao usuário e o mostrará em seguida, enquanto o número digitado for diferente de 0. A mensagem ‘FIM’ será mostrada ao fim. Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  3. 3. Laço de repetição: ENQUANTO ● A instrução ENQUANTO possui: ○ Uma condição de execução - é o que define quando o laço deve continuar ○ Um bloco de instruções - é realizado a cada iteração Condição de execução while (i != 0) { alert(i); Instrução Bloco de Instruções alert(‘Você não digitou 0’); i = prompt(‘Digite um número:’); } Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  4. 4. Laço de repetição: Faça, Enquanto ● A instrução FAÇA, ENQUANTO possui: ○ Uma condição de execução - é o que define quando o laço deve continuar ○ Um bloco de instruções - é realizado antes da primeira iteração e a cada iteração do { i = prompt(‘Digite um número:’); Instrução Bloco de Instruções alert(i); } while (i != 0) Condição de execução Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  5. 5. Exercícios 1. Faça um programa que receba números do usuário até que ele digite ‘0’ e então calcule a média aritimética. 2. Faça um jogo onde um jogador digita um número e o outro deve tentar adivinhar. Enquanto o segundo jogador não acertar o número, uma mensagem ‘Você errou!’ deve aparecer. Se o jogador acertar, uma mensagem ‘Você ganhou!’ deve aparecer. 3. Faça um jogo onde um jogador digita um número e o outro deve tentar adivinhar. Enquanto o segundo jogador não acertar o número, uma mensagem ‘Você errou!’ deve aparecer e também uma dica dizendo se o número secreto é maior ou menor do que o digitado. Se o jogador acertar, uma mensagem ‘Você ganhou!’ deve aparecer. 4. Faça um jogo onde um jogador digita cinco números e o outro deve adivinhar a soma dos números ou três deles. Enquanto o segundo jogador não acertar o número, uma mensagem ‘Você errou!’ deve aparecer. Se o jogador acertar a soma ou três dos cinco números, uma mensagem ‘Você ganhou!’ deve aparecer. 5. Faça um jogo onde um jogador digita cinco números e o outro deve adivinhar a soma dos números ou três deles. Enquanto o segundo jogador não acertar o número, uma mensagem ‘Você errou!’ deve aparecer. Se o jogador acertar a soma ou três dos cinco números, uma mensagem ‘Você ganhou!’ deve aparecer. Se o usuário errar mais de 10 vezes, o programa deve mostrar uma mensagem com a resposta e o texto ‘Fim. Você perdeu’, e terminar sua execução. Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  6. 6. Laço de repetição: Para ● Para transformar dados em informações, um programa faz cálculos, manipula dados e toma decisões. ● Para repetir instruções por um número de vezes conhecido, todas as linguagens de alto nível possuem a instrução ‘PARA’. <script> var numero = prompt(‘Digite o número para qual deseja ver a tabuada.’); for (var i=1; i<=10; i++) { alert(numero*i); } alert(‘FIM.’); </script> No código acima, se o usuário digitar ‘5’, por exemplo, o programa exibirá os números: 5, 10, 15, 20, 25, 30, 35, 40, 45, 50. A mensagem ‘FIM’ será mostrada ao fim. Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  7. 7. Laço de repetição: Para ● A instrução PARA possui: ○ Uma instrução de inicialização - acontece uma vez, antes das iterações ○ Uma condição de execução - é o que define quando o laço deve continuar ○ Uma instrução de pós-iteração - acontece ao final de cada iteração, após o bloco de instruções ○ Um bloco de instruções - é realizado a cada iteração Inicialização Condição de execução Pós-iteração for (var i=0; i<10; i++) { alert(‘Iteração:’); Instrução Bloco de Instruções alert(i); alert(‘i aumentará ao final da repetição’); } Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  8. 8. Laço de repetição: Para for (var i=0; i<5; i++) { alert(i); } Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  9. 9. Laço de repetição: Para for (var i=0; i<5; i++) { alert(i); } 1. Cria a variável ‘i’, com o valor ‘0’ Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  10. 10. Laço de repetição: Para for (var i=0; i<5; i++) { alert(i); } 1. Cria a variável ‘i’, com o valor ‘0’ 2. Mostra ‘0’ Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  11. 11. Laço de repetição: Para for (var i=0; i<5; i++) { alert(i); } 1. Cria a variável ‘i’, com o valor ‘0’ 2. Mostra ‘0’ 3. Aumenta ‘i’ para 1 Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  12. 12. Laço de repetição: Para for (var i=0; i<5; i++) { alert(i); } 1. Cria a variável ‘i’, com o valor ‘0’ 2. Mostra ‘0’ 3. Aumenta ‘i’ para 1 4. Verifica se a condição de execução ainda é verdadeira (1 < 5 = verdadeiro) Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  13. 13. Laço de repetição: Para for (var i=0; i<5; i++) { alert(i); } 1. Cria a variável ‘i’, com o valor ‘0’ 2. Mostra ‘0’ 3. Aumenta ‘i’ para 1 4. Verifica se a condição de execução ainda é verdadeira (1 < 5 = verdadeiro) 5. Mostra ‘1’ Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  14. 14. Laço de repetição: Para for (var i=0; i<5; i++) { alert(i); } 1. Cria a variável ‘i’, com o valor ‘0’ 2. Mostra ‘0’ 3. Aumenta ‘i’ para 1 4. Verifica se a condição de execução ainda é verdadeira (1 < 5 = verdadeiro) 5. Mostra ‘1’ 6. Aumenta ‘i’ para 2 Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  15. 15. Laço de repetição: Para for (var i=0; i<5; i++) { alert(i); } 1. Cria a variável ‘i’, com o valor ‘0’ 2. Mostra ‘0’ 3. Aumenta ‘i’ para 1 4. Verifica se a condição de execução ainda é verdadeira (1 < 5 = verdadeiro) 5. Mostra ‘1’ 6. Aumenta ‘i’ para 2 7. Verifica se a condição de execução ainda é verdadeira (2 < 5 = verdadeiro) Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  16. 16. Laço de repetição: Para for (var i=0; i<5; i++) { alert(i); } 1. Cria a variável ‘i’, com o valor ‘0’ 2. Mostra ‘0’ 3. Aumenta ‘i’ para 1 4. Verifica se a condição de execução ainda é verdadeira (1 < 5 = verdadeiro) 5. Mostra ‘1’ 6. Aumenta ‘i’ para 2 7. Verifica se a condição de execução ainda é verdadeira (2 < 5 = verdadeiro) 8. Mostra ‘2’ Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  17. 17. Laço de repetição: Para for (var i=0; i<5; i++) { alert(i); } 1. Cria a variável ‘i’, com o valor ‘0’ 2. Mostra ‘0’ 3. Aumenta ‘i’ para 1 4. Verifica se a condição de execução ainda é verdadeira (1 < 5 = verdadeiro) 5. Mostra ‘1’ 6. Aumenta ‘i’ para 2 7. Verifica se a condição de execução ainda é verdadeira (2 < 5 = verdadeiro) 8. Mostra ‘2’ 9. Aumenta ‘i’ para 3 Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  18. 18. Laço de repetição: Para for (var i=0; i<5; i++) { alert(i); } 1. Cria a variável ‘i’, com o valor ‘0’ 2. Mostra ‘0’ 3. Aumenta ‘i’ para 1 4. Verifica se a condição de execução ainda é verdadeira (1 < 5 = verdadeiro) 5. Mostra ‘1’ 6. Aumenta ‘i’ para 2 7. Verifica se a condição de execução ainda é verdadeira (2 < 5 = verdadeiro) 8. Mostra ‘2’ 9. Aumenta ‘i’ para 3 10. Verifica se a condição de execução ainda é verdadeira (3 < 5 = verdadeiro) Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  19. 19. Laço de repetição: Para for (var i=0; i<5; i++) { alert(i); } 1. Cria a variável ‘i’, com o valor ‘0’ 2. Mostra ‘0’ 3. Aumenta ‘i’ para 1 4. Verifica se a condição de execução ainda é verdadeira (1 < 5 = verdadeiro) 5. Mostra ‘1’ 6. Aumenta ‘i’ para 2 7. Verifica se a condição de execução ainda é verdadeira (2 < 5 = verdadeiro) 8. Mostra ‘2’ 9. Aumenta ‘i’ para 3 10. Verifica se a condição de execução ainda é verdadeira (3 < 5 = verdadeiro) 11. Etc... Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  20. 20. Laço de repetição: Para for (var i=0; i<5; i++) { alert(i); } 1. Cria a variável ‘i’, com o valor ‘0’ 2. Mostra ‘0’ 3. Aumenta ‘i’ para 1 4. Verifica se a condição de execução ainda é verdadeira (1 < 5 = verdadeiro) 5. Mostra ‘1’ 6. Aumenta ‘i’ para 2 7. Verifica se a condição de execução ainda é verdadeira (2 < 5 = verdadeiro) 8. Mostra ‘2’ 9. Aumenta ‘i’ para 3 10. Verifica se a condição de execução ainda é verdadeira (3 < 5 = verdadeiro) 11. Etc... Aula #05 - Controle de fluxo: laço de repetição número Qual é o último do? que será mostra Ramon Kayo - 2013/2014
  21. 21. Laço de repetição: QUEBRE ● Você pode parar um laço de repetição antes de sua condição falhar com a instrução QUEBRE. for (var i=0; i<5; i++) { if (algoImportante) { break; //sai do laço de repetição } } while (true) { if (algoImportante) { break; //sai do laço de repetição } } Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  22. 22. Exercícios 6. Faça um algoritmo que dada uma entrada numérica do usuário, calcule a tabuada do número até 10. 7. Faça um algoritmo que dadas duas entrada numéricas do usuário, x e y, calcule a tabuada do x até y. 8. Faça um algoritmo que dada uma entrada numérica do usuário, mostre uma contagem regressiva até 0. 9. Faça um algoritmo capaz de calcular o fatorial de um número. 10. Sabendo que um tabuleiro de batalha naval possui colunas de 1 a 10 e linhas de 1 a 10, faça um algoritmo que mostre todas as posições possíveis do tabuleiro, com exceção de 2-1, 2-2 e 2-3. 11. Faça um algoritmo que mostre todos os números ímpares, com exceção do 5, de 1 até o número que o usuário determinar pela entrada. 12. Faça um programa que receba 10 valores do usuário e calcule a média aritimética dos valores, utilizando somente 2 variáveis. Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014
  23. 23. Créditos Alguns exercícios e exemplos foram retirados do livro ‘Estudo de Algoritmos: Soluções em C++ 1a Edição’ de Custódio T. K. Martins e Milton Rodrigues. Aula #05 - Controle de fluxo: laço de repetição Ramon Kayo - 2013/2014

×