O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

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

2.084 visualizações

Publicada em

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

×