Construcao de Algoritmos - Aula 06

44 visualizações

Publicada em

Estruturas de decisão:
- Se e senao
- Escolha ... caso
Estruturas de repetição:
- Enquanto
- Repita ... ate
- Para

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

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
44
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4
Ações
Compartilhamentos
0
Downloads
5
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Construcao de Algoritmos - Aula 06

  1. 1. Disciplina: Constr. de Algoritmos e Prog. de Sistemas Professor: Jeovane Reges Caxias – MA 2016 ACULDADE DE CIÊNCIAS E TECNOLOGIA DO MARANHÃO
  2. 2. Link Drive bit.ly/ads-algoritmos 2
  3. 3. 3 Algoritmos
  4. 4. 4 Controle de Fluxo <Comandos de Decisões>
  5. 5. • Algoritmos • Comandos de Decisões • Introdução • Os algoritmos vistos até então, realizam apenas instruções básicas:  São conhecidos como algoritmos sequenciais. • Alguns problemas mais complexos exigem maior controle sobre as suas operações. • Esse controle é exercido com a utilização dos comandos de controle de fluxo. 5
  6. 6. • Algoritmos • Comandos de Decisões • Introdução • Os comandos de controle de fluxo, dividem-se:  Comandos de decisões; e  Comandos de repetições. 6
  7. 7. 7 Comandos de Decisões
  8. 8. • Algoritmos • Comandos de Decisões • Introdução • Comandos de decisões são também conhecidos como comandos de seleções ou condicionais. • Por condição entende-se qualquer "expressão" que resulte em uma resposta do tipo verdadeiro ou falso. • Os comandos de decisões dividem-se em: simples, encadeado ou composto. 8
  9. 9. Comando se 9
  10. 10. • Algoritmos • Comandos de Decisões • Comando se • É a forma mais simples dos comandos de decisões: se <expressão> entao. • O critério de seleção é dado por uma expressão, cujo valor deve ser um dado do tipo lógico. • Se esse valor for verdadeiro, então as instruções definidas dentro do comando são executadas; caso contrário, segue execução do programa. 10
  11. 11. • Algoritmos • Comandos de Decisões • Comando se  Exemplos: 11 Expressão Resultado 10 < 12 8 + 6 10 % 3 = 0 20 / 3 "5 > 3 && 15 < 20" Logico Inteiro Logico Real Caractere
  12. 12. • Algoritmos • Comandos de Decisões • Comando se  Sintaxe 12 se ([expressão]) entao // Executado se a expressão for verdadeira [bloco de comandos] fimse As instruções aqui definidas, só serão executada se o valor declarado na expressão for VERDADEIRO.
  13. 13. A expressão passada no comando SE, deve ser do tipo lógica, caso contrário o código não executa. 13
  14. 14. Exemplo 01 14 Faça um algoritmo que dadas as duas notas de aluno calcule a média das notas e diga se ele está aprovado.
  15. 15. • Algoritmos • Comandos de Decisões  Critérios de aprovação da Facema • Aprovado: • A média deve ser maior ou igual a 7.0. 15
  16. 16. • Algoritmos • Exemplo 01 • Solucionando o problema... 16 • Entrada: • n1  8 // primeira nota • n2  6.2 // segunda nota • Solução: • media  (n1 + n2)/2 • Se a media for maior ou igual a 7,0 entao o aluno está aprovado. • Saída: • Aluno Aprovado
  17. 17. • Algoritmos • Comandos de Decisões • Exemplo: Algoritmo para calcular média aritmética de um aluno e dizer se o mesmo foi aprovado. 17 algoritmo "Exemplo 01" var n1, n2, media: real inicio n1  8 n2  6.2 media  (n1 + n2) / 2 se (media >= 7) entao escreval("Aluno aprovado!") fimse fimalgoritmo
  18. 18. • Algoritmos • Comandos de Decisões  Exemplo 18 Inicio Fim Aprovado n1, n2 media ≥ 7? F V media  (n1 + n2) / 2
  19. 19. 19 Da mesma forma que o algoritmo tem início e fim, o comando de decisão também deve ser devidamente inicializado e finalizado.
  20. 20. 20 Problema I Dado um número, informar se ele é divisível por 2.
  21. 21. • Algoritmos • Comandos de Decisões  Resolução do Problema I 21 algoritmo "Problema 01" var numero: inteiro inicio escreva("Digite um valor: ") leia(numero) se (numero % 2 = 0) entao escreval("Número divisível por 2") fimse fimalgoritmo
  22. 22. 22 Comandos de Decisões <Encadeados - CDE>
  23. 23. • Algoritmos • Comandos de Decisões • Encadeados  Sintaxe 23 se ([expressão 1]) entao se ([expressão 2]) entao //Executado se ambas as condições forem verdadeiro [bloco de comandos] fimse fimse Se ambas as condições forem VERDADEIRAS, então as instruções aqui definidas serão executada.
  24. 24. 24 Problema II Dado um número, informar se ele é divisível por 2 e 3.
  25. 25. • Algoritmos • Comandos de Decisões  Resolução do Problema II {1} 25 algoritmo "Problema 02" var numero: inteiro inicio escreva("Digite um valor: ") leia(numero) se (numero % 2 = 0) entao se (numero % 3 = 0) entao escreval("Número divisível por 2 e 3") fimse fimse fimalgoritmo
  26. 26. • Algoritmos • Comandos de Decisões  Resolução do Problema II {2} 26 algoritmo "Problema 02" var numero: inteiro inicio escreva("Digite um valor: ") leia(numero) se ((numero % 2 = 0) E (numero % 3 = 0)) entao escreva("Número divisível por 2 e 3") fimse fimalgoritmo
  27. 27. • Algoritmos • Comandos de Decisões • Comando se • Na execução do comando se a condição será avaliada e:  Se a condição for verdadeira, a sequência de instruções será executada.  Se a condição for falsa, a sequência de instruções não será executada, e o programa continuará sua execução a partir do final do comando fimse. 27
  28. 28. Comando senao 28
  29. 29. • Algoritmos • Comandos de Decisões • Comando senao • As instruções definidas no comandos se são executados quando uma determinada condição for atendida. • Se a condição não for atendida, o algoritmo segue seu fluxo de execução natural. • O comando SENAO, indica um segundo caminho a ser seguido.  Quando a condição pré-estabelecida não for atendida 29
  30. 30. 30 Se o comando se diz o que fazer quando a condição é verdadeira, o comando senao trata o que fazer quando a condição é falsa.
  31. 31. • Algoritmos • Comandos de Decisões • Comando senao  Sintaxe: 31 se ([expressão]) entao // Executado se a expressão do SE for verdadeira [bloco de comandos 1] senao // Executado se a expressão do SE for falsa [bloco de comandos 2] fimse
  32. 32. Exemplo 02 32 Faça um algoritmo que dadas as duas notas de aluno, calcule a média das notas e diga se ele está aprovado ou reprovado.
  33. 33. • Algoritmos • Comandos de Decisões  Critérios de aprovação da Facema • Aprovado: • A média deve ser maior ou igual a 7.0. • Reprovado: • A média deve ser menor do 7.0. 33
  34. 34. • Algoritmos • Exemplo 02 • Solucionando o problema... 34 • Entrada: • n1  8 // primeira nota • n2  5.2 // segunda nota • Solução: • media  (n1 + n2)/2 • Se a media for maior ou igual a 7.0 entao o aluno está aprovado. • Senao está reprovado. • Saída: • Aluno Aprovado • Aluno Reprovado
  35. 35. • Algoritmos • Comandos de Decisões  Exemplo: 35 algoritmo "Exemplo 02" var n1, n2, media: real inicio n1  8 n2  5.2 media  (n1 + n2) / 2 se (media >= 7) entao escreva("Aluno Aprovado!") senao escreva("Aluno Reprovado!") fimse fimalgoritmo
  36. 36. • Algoritmos • Comandos de Decisões  Exemplo 36 Inicio Fim Aprovado n1, n2 media ≥ 7? F V media  (n1 + n2) / 2 Reprovado
  37. 37. 37 Problema III Dado um número, informar se ele é ou não múltiplo de 2.
  38. 38. • Algoritmos • Comandos de Decisões  Resolução do Problema III 38 algoritmo "Problema 03" var numero: inteiro inicio escreva("Digite um valor: ") leia(numero) se (numero % 2 = 0) entao escreva("Número múltiplo de 2") senao escreva("Não é múltiplo de 2") fimse fimalgoritmo
  39. 39. 39 Problema IV Faça um algoritmo que dados dois números, apresente o maior deles.
  40. 40. • Algoritmos • Comandos de Decisões  Resolução do Problema IV 40 algoritmo "Problema 04" var n1, n2: real inicio n1  19 n2  14 se (n1 > n2) entao escreva("Maior: ", n1) senao escreva("Maior: ", n2) fimse fimalgoritmo
  41. 41. 41 Problema V O banco Algoritmos não permite que seus cliente façam empréstimos superior a 300% do seu salário. Dado o valor do salário e do empréstimo informar se o empréstimo é permitido ou não.
  42. 42. • Algoritmos • Comandos de Decisões  Resolução do Problema V 42 algoritmo "Problema 05" var sal, emprestimo, valor_max: real inicio sal  2300 emprestimo  600 valor_max  sal * 3.0 se (emprestimo < valor_max) entao escreva("Empréstimo permitido!") senao escreva("Empréstimo não permitido!") fimse fimalgoritmo
  43. 43. • Algoritmos • Comandos de Decisões • Comando senao • Antes, na execução do comando se, tínhamos:  Se a condição fosse verdadeira, a primeira sequência de instruções (bloco se) era executada.  Caso contrário, a sequência de instruções não era executada e o programa seguia o seu fluxo padrão. • Na execução do comando senao temos:  Se a condição for falsa, a segunda sequência de instruções (bloco senao) será executada. 43
  44. 44. 44 O comando senao é opcional, e sua sequência de instruções "somente" será executada se o valor da condição que está sendo testada no comando se for FALSA.
  45. 45. Aninhamento Se’s 45
  46. 46. • Algoritmos • Se’s aninhados • Funcionamento: • Em um aninhamento de Se’s, o programa começa a "testar" as condições começando pela condição 1. • Se o resultado dessa condição for verdadeiro, o programa executará o bloco de instruções associados a ele. • Do contrário, executará o bloco de comandos associados ao comando senao se correspondente, se ele existir. 46
  47. 47. • Algoritmos • Comandos de Decisões • Se’s aninhados  Sintaxe: 47 se ([expressão 1]) entao [bloco 1] senao se ([expressão 2]) entao [bloco 2] senão [bloco 3] fimse fimse
  48. 48. Exemplo 03 48 Faça um algoritmo que dadas as duas notas de aluno, calcule a média das notas e diga se ele está aprovado, de final ou reprovado.
  49. 49. • Algoritmos • Comandos de Decisões  Critérios de aprovação da Facema • Aprovado: • A média deve ser maior ou igual a 7.0. • Reprovado: • A média deve ser menor do 4.0. • De final: • A média deve ser menor do que 7.0 e maior ou igual a 4.0. 49
  50. 50. • Algoritmos • Exemplo 03 50 • Entrada: • n1  8 // primeira nota • n2  5.2 // segunda nota • Solução: • media  (n1 + n2)/2 • Se a media for maior ou igual a 7.0, entao o aluno está aprovado. • Senao se a média for menor do 7.0 e maior ou igual a 4.0, entao o aluno está de final. • Senao está reprovado. • Saída: • Aluno Aprovado • Aluno de final • Aluno Reprovado Solucionandooproblema...
  51. 51. • Algoritmos 51 algoritmo "Exemplo 03" var n1, n2, media: real inicio n1  8 n2  5.2 media  (n1 + n2) / 2 se (media >= 7) entao escreva("Aluno aprovado!") senao se ((media < 7) E (media >= 4)) entao escreva("Aluno de final!") senao escreva("Aluno reprovado!") fimse fimse fimalgoritmo Exemplo03
  52. 52. • Algoritmos • Comandos de Decisões  Exemplo 52 Inicio Fim Aprovado n1, n2 media ≥ 7? F V media  (n1 + n2) / 2 Reprovado media < 4? Final VF
  53. 53. 53 Não existe aninhamento de senao’s. se (cond1) sequência de comandos; senao sequência de comandos; senao //ERRO! sequência de comandos;
  54. 54. 54 Comandos de Decisões <Múltipla Escolha – Escolha .. Caso>
  55. 55. • Algoritmos • Comandos de Decisões • Múltipla Escolha • Nos comandos de decisões estudados, um comando ou bloco de comandos é executado quando uma determinada condição é atendida. • Porém, existem problemas em que uma expressão pode assumir quaisquer valores. • Onde, para cada valor assumido, comandos diferentes são executados. 55
  56. 56. • Algoritmos • Comandos de Decisões • Múltipla Escolha  Sintaxe: 56 escolha([comando]) caso [opção 1] [bloco 1] caso [opção 2] [bloco 2] ... caso [opção n] [bloco n] outrocaso [bloco] fimescolha
  57. 57. • Algoritmos • Comandos de Decisões • Múltipla Escolha • O [comando] pode ser qualquer expressão válida. • Este é avaliado e o seu valor resultante é comparado com as opções distintas [opção 1], [opção 2], ..., [opção n]. • Se o valor for diferente de todos os casos, então o comando outrocaso é executado. 57
  58. 58. Exemplo 04 58 Faça um algoritmos que apresente um menu para o usuário perguntando se ele deseja: 1 – Ir à praia ou 2 – Ir ao cinema
  59. 59. • Algoritmos  Resolução do problema : 59 algoritmo "Escolha Caso" var opcao: inteiro inicio escreval("Digite 1 para praia ou 2 para cinema") leia(opcao) escolha (opcao) caso 1 escreva("Levar protetor solar") caso 2 escreva("Comprar pipoca e coca-cola") outrocaso escreva("Leia um bom livro") fimescolha fimalgoritmo Exemplo04
  60. 60. 60 Problema VI Dado o número de um mês exiba o nome correspondente. // Se for dado o número 1 deverá imprimir "Janeiro"
  61. 61. • Algoritmos • Comandos de Decisões 61 algoritmo "Problema 06" var mes: inteiro inicio escreva("Digite o número de um mês: ") leia(mes) escolha (mes) caso 1 escreval("Janeiro") caso 2 escreval("Fevereiro") outrocaso escreva("Mês inválido") fimescolha fimalgoritmo ResoluçãodoProblemaVI

×