Disciplina: Constr. de Algoritmos e Prog. de Sistemas
Professor: Jeovane Reges
Caxias – MA
2016
ACULDADE DE CIÊNCIAS
E TECNOLOGIA DO
MARANHÃO
Link Drive
bit.ly/ads-algoritmos
2
3
Algoritmos
4
Controle de Fluxo
<Comandos de Decisões>
• 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
• 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
Comandos de Decisões
• 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
Comando se
9
• 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
• 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
• 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.
A expressão passada no comando SE,
deve ser do tipo lógica, caso contrário
o código não executa.
13
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.
• 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
• 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
• 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
• Algoritmos
• Comandos de Decisões
 Exemplo
18
Inicio
Fim
Aprovado
n1, n2
media ≥ 7?
F
V
media  (n1 + n2) / 2
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
Problema I
Dado um número, informar se ele é
divisível por 2.
• 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
Comandos de Decisões
<Encadeados - CDE>
• 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
Problema II
Dado um número, informar se ele é
divisível por 2 e 3.
• 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
• 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
• 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
Comando senao
28
• 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
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.
• 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
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.
• 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
• 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
• 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
• Algoritmos
• Comandos de Decisões
 Exemplo
36
Inicio
Fim
Aprovado
n1, n2
media ≥ 7?
F V
media  (n1 + n2) / 2
Reprovado
37
Problema III
Dado um número, informar se ele é
ou não múltiplo de 2.
• 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
Problema IV
Faça um algoritmo que dados dois
números, apresente o maior deles.
• 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
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.
• 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
• 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
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.
Aninhamento Se’s
45
• 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
• 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
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.
• 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
• 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...
• 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
• 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
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
Comandos de Decisões
<Múltipla Escolha – Escolha .. Caso>
• 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
• 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
• 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
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
• 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
Problema VI
Dado o número de um mês exiba o
nome correspondente.
// Se for dado o número 1 deverá imprimir "Janeiro"
• 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

Construcao de Algoritmos - Aula 06

  • 1.
    Disciplina: Constr. deAlgoritmos e Prog. de Sistemas Professor: Jeovane Reges Caxias – MA 2016 ACULDADE DE CIÊNCIAS E TECNOLOGIA DO MARANHÃO
  • 2.
  • 3.
  • 4.
  • 5.
    • Algoritmos • Comandosde 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.
    • Algoritmos • Comandosde Decisões • Introdução • Os comandos de controle de fluxo, dividem-se:  Comandos de decisões; e  Comandos de repetições. 6
  • 7.
  • 8.
    • Algoritmos • Comandosde 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.
  • 10.
    • Algoritmos • Comandosde 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.
    • Algoritmos • Comandosde 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.
    • Algoritmos • Comandosde 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.
    A expressão passadano comando SE, deve ser do tipo lógica, caso contrário o código não executa. 13
  • 14.
    Exemplo 01 14 Faça umalgoritmo que dadas as duas notas de aluno calcule a média das notas e diga se ele está aprovado.
  • 15.
    • Algoritmos • Comandosde Decisões  Critérios de aprovação da Facema • Aprovado: • A média deve ser maior ou igual a 7.0. 15
  • 16.
    • Algoritmos • Exemplo01 • 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.
    • Algoritmos • Comandosde 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.
    • Algoritmos • Comandosde Decisões  Exemplo 18 Inicio Fim Aprovado n1, n2 media ≥ 7? F V media  (n1 + n2) / 2
  • 19.
    19 Da mesma formaque o algoritmo tem início e fim, o comando de decisão também deve ser devidamente inicializado e finalizado.
  • 20.
    20 Problema I Dado umnúmero, informar se ele é divisível por 2.
  • 21.
    • Algoritmos • Comandosde 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.
  • 23.
    • Algoritmos • Comandosde 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 Problema II Dado umnúmero, informar se ele é divisível por 2 e 3.
  • 25.
    • Algoritmos • Comandosde 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.
    • Algoritmos • Comandosde 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.
    • Algoritmos • Comandosde 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.
  • 29.
    • Algoritmos • Comandosde 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 Se o comandose diz o que fazer quando a condição é verdadeira, o comando senao trata o que fazer quando a condição é falsa.
  • 31.
    • Algoritmos • Comandosde 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.
    Exemplo 02 32 Faça umalgoritmo que dadas as duas notas de aluno, calcule a média das notas e diga se ele está aprovado ou reprovado.
  • 33.
    • Algoritmos • Comandosde 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.
    • Algoritmos • Exemplo02 • 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.
    • Algoritmos • Comandosde 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.
    • Algoritmos • Comandosde Decisões  Exemplo 36 Inicio Fim Aprovado n1, n2 media ≥ 7? F V media  (n1 + n2) / 2 Reprovado
  • 37.
    37 Problema III Dado umnúmero, informar se ele é ou não múltiplo de 2.
  • 38.
    • Algoritmos • Comandosde 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 Problema IV Faça umalgoritmo que dados dois números, apresente o maior deles.
  • 40.
    • Algoritmos • Comandosde 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 Problema V O bancoAlgoritmos 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.
    • Algoritmos • Comandosde 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.
    • Algoritmos • Comandosde 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 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.
  • 46.
    • Algoritmos • Se’saninhados • 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.
    • Algoritmos • Comandosde 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.
    Exemplo 03 48 Faça umalgoritmo que dadas as duas notas de aluno, calcule a média das notas e diga se ele está aprovado, de final ou reprovado.
  • 49.
    • Algoritmos • Comandosde 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.
    • Algoritmos • Exemplo03 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.
    • Algoritmos 51 algoritmo "Exemplo03" 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.
    • Algoritmos • Comandosde Decisões  Exemplo 52 Inicio Fim Aprovado n1, n2 media ≥ 7? F V media  (n1 + n2) / 2 Reprovado media < 4? Final VF
  • 53.
    53 Não existe aninhamentode senao’s. se (cond1) sequência de comandos; senao sequência de comandos; senao //ERRO! sequência de comandos;
  • 54.
    54 Comandos de Decisões <MúltiplaEscolha – Escolha .. Caso>
  • 55.
    • Algoritmos • Comandosde 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.
    • Algoritmos • Comandosde 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.
    • Algoritmos • Comandosde 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.
    Exemplo 04 58 Faça umalgoritmos que apresente um menu para o usuário perguntando se ele deseja: 1 – Ir à praia ou 2 – Ir ao cinema
  • 59.
    • Algoritmos  Resoluçãodo 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 Problema VI Dado onúmero de um mês exiba o nome correspondente. // Se for dado o número 1 deverá imprimir "Janeiro"
  • 61.
    • Algoritmos • Comandosde 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