Aula 10 - Comando de Decisão Múltipla e Comandos de Repetição

1,733 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,733
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
47
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Aula 10 - Comando de Decisão Múltipla e Comandos de Repetição

  1. 1. Aula 10 – Comando de DecisãoMúltipla e Comando de Repetição Prof. André Constantino da Silva LOGT1 – Lógica Noturno 18 de maio de 2012
  2. 2. Na aula anterior...• Resultados dos operadores matemáticos• Operadores - Relacionais - Lógicos• Comando de Decisão Múltipla
  3. 3. Nesta aula...• Comando de Decisão Múltipla• Comandos de Repetição
  4. 4. Comando de Decisão MúltiplaAlgumas situaçõesexigem a realizaçãode uma ação dentrevárias açõespossíveis, baseadono valor de umavariável (condição)- Estutura escolha
  5. 5. ExemploConsidere a seguinte classificação defaixa etária de atletas: Categoria Idade Infantil 5 a 10 anos Juvenil 11 a 15 anos Junior 16 a 20 anos Profissional 21 a 25 anos Não classificado Demais idadesComo seria um algortimo que leia a idadedo atleta e diga qual é a categoria desteatleta?
  6. 6. Resposta Usando conhecimentos aprendidosalgoritmo "categorias de atletas"var idade: inteiroinicio leia(idade) se (idade >= 5) e (idade <= 10) entao escreva("Atleta é da categoria Infantil") senao se (idade >= 11) e (idade <= 15) entao escreva("Atleta é da categoria Juvenil") senao se (idade >= 16) e (idade <= 20) entao escreva("Atleta é da categoria Junior") senao se (idade >= 21) e (idade <= 25) entao escreva("Atleta é da categoria Profissional") senao escreva("O atleta não pode ser classificado nas categorias") fimse fimse fimse fimsefimalgoritmo
  7. 7. Resposta – Usando Escolhaalgoritmo "categorias de atletas"var idade: inteiroinicio leia(idade) escolha idade caso 5, 6, 7, 8, 9, 10 escreva("Atleta é da categoria Infantil") caso 11, 12, 13, 14, 15 escreva("Atleta é da categoria Juvenil") caso 16, 17, 18, 19, 20 escreva("Atleta é da categoria Junior") caso 21, 22, 23, 24, 25 escreva("Atleta é da categoria Profissional") outrocaso escreva("O atleta não pode ser classificado nas categorias") fimescolhafimalgoritmo
  8. 8. Estrutura do Escolhaescolha <expressão-de-seleção> caso <valor1a>, <valor2a>, ..., <valorna> <comandos-a> caso <valor1b>, <valor2b>, ..., <valornb> <comandos-b> caso <valor1c>, <valor2c>, ..., <valornb> <comandos-c> ... outrocaso < comandos-x>fimescolha
  9. 9. ExercícioVamos classificar os alunos conforme afrequência na matéria Considerando que afrequência seja um número inteiro de 0 a10. Categoria Frequência Assíduo 10 Boa frequência 8 ou 9 Frequência regular 6 ou 7 Baixa frequência 3, 4 ou 5 Baixíssima frequência 0, 1 ou 2 Frequencia não pode ser <0Escreva um algoritmo que imprima a qual negativacategoriaque 0nãoaluno pertence.10 um pode ser Frequencia maior >
  10. 10. ExercícioAltere o algoritmo para a seguintesituação: Categoria Frequência Assíduo 9 < frequencia <= 10 Boa frequência 7 < frequencia <= 9 Frequência regular 5 < frequencia <= 7 Baixa frequência 2 < frequencia <= 5 Baixíssima frequência 0 <= frequencia <= 2 Frequencia não pode ser <0 negativa Frequencia não pode ser > 10 maior que 0
  11. 11. Quando usar qual?Todos são estruturas de condição• se-entao• se-entao-senao• escolha
  12. 12. Observem • Onde está a condição na estrutura?se <expressão-lógica-verdadeira> entao escolha <expressão-de-seleção> <comando(s)1> caso <valor1a>, <valor2a>, ...fimse <comandos-a> caso <valor1b>, <valor2b>, ... <comandos-b> caso <valor1c>, <valor2c>, ... <comandos-c> ...se <expressão-lógica-verdadeira> entao outrocaso <comando(s)1> < comandos-x>senao fimescolha <comando(s)2>fimse
  13. 13. Observem Quantas opções de comandos a executar existem?se <expressão-lógica-verdadeira> entao escolha <expressão-de-seleção> <comando(s)1> caso <valor1a>, <valor2a>, ...fimse <comandos-a> caso <valor1b>, <valor2b>, ... <comandos-b> caso <valor1c>, <valor2c>, ... <comandos-c> ...se <expressão-lógica-verdadeira> entao outrocaso <comando(s)1> < comandos-x>senao fimescolha <comando(s)2>fimse
  14. 14. Estrutura de Repetição
  15. 15. Estrutura de Repetição• Decidir e controlar quantas vezes uma ação (ou conjunto de ações) deve ser executada• Também chamadas de estruturas de iteração ou laços• Em Portugol, temos: - enquanto-faca - para-faca
  16. 16. Exemplo 1• Imprimir * cem vezes
  17. 17. Exemplo 1algoritmo " escreve_*_100_vezes"var i: inteiroinicioi <- 1enquanto i <= 100 faca escreval(“*”) i <- i+1fimenquantofimalgoritmo
  18. 18. Exemplo 2• Imprimir de 1 a 5
  19. 19. Exemplo 2algoritmo " escreve_numeros_1_a_5"var i: inteiroinicioi <- 1enquanto i <= 5 faca escreval(i) i <- i+1fimenquantofimalgoritmo
  20. 20. Estrutura de Repetição enquanto-facaenquanto <expressão-lógica-verdadeira> faca <seqüência-de-comandos>fimenquanto
  21. 21. Exemplo 3Faça um algoritmo que leia umnumero do usuário e só pare desolicitar o número somente quandoele digitar 1001
  22. 22. Exemplo 3algoritmo "digite1001"var numero: inteiroinicioenquanto (numero <> 1001) faca leia(numero)fimenquantofimalgoritmo
  23. 23. Exemplo 3Faça um algoritmo que leia umapalavra do usuário e pare desolicitar a palavra somente quandoele digitar sair
  24. 24. Exemplo 3algoritmo "digiteSair"var texto: caracterinicioenquanto (texto <> "sair") faca leia(texto)fimenquantofimalgoritmo
  25. 25. Exemplo 4• Escreva * a quantidade de vezes do usuário pedir
  26. 26. Exemplo 4algoritmo "escreva varias vezes"var quantidade, totalimpresso: inteiroinicio escreva("Digite a quantidade de vezes: ") leia(quantidade) totalimpresso <- 0 enquanto (totalimpresso <> quantidade) faca escreva("*") totalimpresso <- totalimpresso + 1 fimenquantofimalgoritmo
  27. 27. Exemplo 5• Leia um número inteiro positivo do usuário e escreva todos os números inteiros até o número escolhido
  28. 28. Exemplo 5algoritmo "escreva numeros inteiros"var numerodesejado, numeroatual: inteiroinicio escreva("Digite um numero inteiro: ") leia(numerodesejado) numeroatual <- 0 enquanto (numeroatual <> numerodesejado) faca escreva(numeroatual, " ") numeroatual <- numeroatual + 1 fimenquanto escreva(numeroatual, " ")fimalgoritmo
  29. 29. Exemplo 6• Calcular o n-ésimo elemento da sequência1, 3, 5, 7, 9, ...
  30. 30. 1, 3, 5, 7, 9, ...algoritmo "categorias de atletas"var indicedesejado, indice, numeroanterior, numeroatual:inteiroinicio indice <- 0 numeroanterior <- 0 numeroatual <- 1 leia(indicedesejado) enquanto (indice <> indicedesejado) faca numeroanterior <- numeroatual numeroatual <- numeroanterior + 2 indice <- indice + 1 escreva(numeroatual, " ") fimenquantofimalgoritmo

×