Aula 12 - Começando a programar : repetição

2.323 visualizações

Publicada em

Publicada em: Educação
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
2.323
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
97
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aula 12 - Começando a programar : repetição

  1. 1. Introdução a Algoritmos eLinguagens de Programação Aula 12 | Começando a programar: repetição Apresentação Luiz Augusto de M. Morais
  2. 2. Roteiro Repetição ● Analisando o programa atual ● Repetindo com Python ● Usando o interpretador Jogo de Adivinhação ● Entendendo o novo problema ● Primeira tentativa ● Tornando as coisas aleatórias ● Segunda tentativa ● Perguntas idiotas UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  3. 3. RepetiçãoAnalisandoo programa atual UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  4. 4. Analisando o programa atual print(Bem-vindo!) palpite = input(Chute um número: ) palpite = int(palpite) if palpite == 5: print(Você ganhou!) else: if palpite > 5: print(Muito alto.) else: print(Muito baixo.) print(Fim do jogo) UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  5. 5. Analisando o programa atual Certo. Mas tenho que executar várias vezes? UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  6. 6. RepetiçãoRepetindo com Python UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  7. 7. Repetindo com Python Coloque um valor padrão para o teste passar resposta = não while resposta != sim: print(Ok, vamos continuar.) resposta = input(Pede pra sair! )Não esqueça da O valor da variável de testeendentação tem que mudar para sair do loop. UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  8. 8. RepetiçãoUsando o interpretador UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  9. 9. Usando o Interpretador 1/4 >>> resposta = não >>> while resposta != sim: ... print(Ok, vamos continuar) ... resposta = input(Pede pra sair! ) ... Ok, vamos continuar Pede pra sair! não Ok, vamos continuar Pede pra sair! não Ok, vamos continuar Pede pra sair! sim UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  10. 10. Usando o Interpretador 2/4 >>> x = 5 >>> while x > 0: ... print(x) ... 5 5 Loop infinito! 5 5 5 5 5 UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  11. 11. Usando o Interpretador 3/4 >>> x = 5 >>> while x > 0: ... print(x) ... x -= 1 ... 5 Com esse decrementador 4 o loop vai parar 3 2 1 UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  12. 12. Usando o Interpretador 4/4 >>> x = 0 >>> while x < 10: ... if x % 2 == 0: ... print(x) ... x += 1 ... 0 2 4 6 8 UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  13. 13. Jogo de AdivinhaçãoEntendendoo novo problema UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  14. 14. Entendendo o novo problema Já temos um jogo onde você pode dar palpites e o programa informa se o palpite é maior ou menor que o número correto. O problema é: só temos uma chance! Temos que achar uma forma deste código ser repetido várias vezes, até o usuário acertar o palpite. UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  15. 15. Jogo de AdivinhaçãoPrimeira tentativa UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  16. 16. Primeira tentativaprint(Bem-vindo!)palpite = input(Chute um número: ) ● Qual a parte do código tem quepalpite = int(palpite) repetir?if palpite == 5: ● Qual será a variável de teste para o print(Você ganhou!) loop?else: if palpite > 5: ● Não esqueça de definir um valor padrão para a variável de teste fora print(Muito alto.) do loop. else: print(Muito baixo.)print(Fim do jogo) 5 minutos! UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  17. 17. Primeira tentativa print(Bem-vindo!) palpite = 0 while palpite != 5: palpite = input(Chute um número: )Variável de teste palpite = int(palpite)com valor padrão if palpite == 5: print(Você ganhou!) Onde a variável else: de teste muda if palpite > 5: seu valor print(Muito alto.) else: print(Muito baixo.) print(Fim do jogo) UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  18. 18. Jogo de AdivinhaçãoTest Drive UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  19. 19. Jogo de AdivinhaçãoTornandoas coisas aleatórias UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  20. 20. Tornando as coisas aleatórias Módulo que possui funções para gerar números aleatórios import random numero_aleatorio = random.randint(1, 10) print(numero_aleatorio) Qualquer número inteiro entre 1 e 10 UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  21. 21. Jogo de AdivinhaçãoUsando o interpretador UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  22. 22. Usando o Interpretador >>> import random >>> random.randint(1,3) 2 >>> random.randint(1,3) 1 >>> random.randint(1,3) 1 >>> random.randint(1,3) 3 >>> random.randint(1,3) 2 UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  23. 23. Jogo de AdivinhaçãoSegunda tentativa UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  24. 24. Segunda tentativaprint(Bem-vindo!)palpite = 0 ● Importe o módulo que possuiwhile palpite != 5: funções que produzem números palpite = input(Chute um número: ) aleatórios palpite = int(palpite) ● Crie uma variável e armazene if palpite == 5: nela um valor inteiro aleatório print(Você ganhou!) ● Troque o valor que está fixo pela else: nova variável aleatória if palpite > 5: print(Muito alto.) else: print(Muito baixo.) 3 minutos!print(Fim do jogo) UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  25. 25. Segunda tentativa import random print(Bem-vindo!) palpite = 0Módulo que possui segredo = random.randint(1, 10)funções para gerar while palpite != segredo: Guardando nanúmeros aleatórios palpite = input(Chute um número: ) variável segredo palpite = int(palpite) um número inteiro if palpite == segredo: aleatório entre 1 e print(Você ganhou!) 10 else:Substituídonúmero 5 pela if palpite > segredo:variável segredo print(Muito alto.) else: print(Muito baixo.) print(Fim do jogo) UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  26. 26. Jogo de AdivinhaçãoTest Drive UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  27. 27. Jogo de AdivinhaçãoPerguntas Idiotas UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  28. 28. Perguntas Idiotas Por que tem umas palavras coloridas no código? ● Só existe um tipo de estrutura de repetição em Python? ● O que significa while? ● ● Quando é que a execução de um programa sai do bloco while? O que é um loop infinito, mesmo? ● O que é aquele import random? ● Eu posso importar outros módulos? ● O random possui outras funções? ● UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  29. 29. O que aprendemos hoje? ● Estrutura de repetição while ● Módulo: ● random ● Função: ● random.randint() UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  30. 30. ReferênciasBARRY, Paul; GRIFFITHS, David. Head First Programming.Sebastopol: OReilly, 2009. UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETO HERMES

×