O documento apresenta informações sobre comandos de decisão em algoritmos, incluindo os comandos se, senao e aninhamento de se's. São descritos exemplos de problemas resolvidos usando tais comandos, como verificar aprovação de aluno com base em média e empréstimos permitidos. O documento fornece sintaxes e explicações detalhadas sobre o funcionamento dos comandos de decisão.
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. • 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
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
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
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. A expressão passada no comando SE,
deve ser do tipo lógica, caso contrário
o código não executa.
13
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. • 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. • 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. • 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. • Algoritmos
• Comandos de Decisões
Exemplo
18
Inicio
Fim
Aprovado
n1, n2
media ≥ 7?
F
V
media (n1 + n2) / 2
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.
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
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.
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. • 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. • 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
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
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. • 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. 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. • 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. • 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. • 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. • Algoritmos
• Comandos de Decisões
Exemplo
36
Inicio
Fim
Aprovado
n1, n2
media ≥ 7?
F V
media (n1 + n2) / 2
Reprovado
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
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
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. • 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. • 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
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.
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
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. • 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. • 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. • 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. • 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
Não existe aninhamento de
senao’s.
se (cond1)
sequência de comandos;
senao
sequência de comandos;
senao //ERRO!
sequência de comandos;
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. • 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. • 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. 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. • 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
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. • 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