Lógica de Programação – Desvio Condicional Aninhado (SE…ENTÃO…SENÃO…SE) – 12
Desvio Condicional Aninhado (SE…ENTÃO…SENÃO…SE)
Existem situações em um algoritmo nas quais é necessário verificar condições de teste sucessivas, onde uma ação será executada caso um conjunto anterior de ações seja satisfeito. Podemos usar para resolver esse tipo de problemas uma estrutura denominada Desvio Condicional Aninhado, que nada mais é do que o encadeamento de estruturas de decisão compostas em um algoritmo. Também chamamos a esse tipo de estrutura de Desvio Condicional Encadeado, por este motivo.
Sintaxe:
O fluxograma a seguir ilustra o processo de operação do condicional encadeado:
Exemplo: Vamos continuar a incrementar o algoritmo criado na lição sobre condicional composto. Desta vez, o programa deve solicitar duas notas de uma aluno, e calcular a média dessas notas. Caso a média calculada seja maior ou igual a 7, o programa deve emitir a mensagem “Aprovado”; se a média for menor do que 5, a mensagem a ser exibida é “Reprovado”. Porém, se a média do aluno ficar entre 5 e 7, deve ser exibida a mensagem “Recuperação”. Em todos os casos deve ser ecoada na tela a média calculada.
Veja abaixo um fluxograma representando nosso algoritmo:
E logo a seguir, o algoritmo implementado em português estruturado (no VisualG), usando o condicional aninhado:
Var N1, N2 : inteiro MEDIA : real inicio escreval ("Entre com a primeira nota:") leia (N1) escreval ("Entre com a segunda nota:") leia (N2) MEDIA <- (N1 + N2) / 2 se (media >= 7) entao escreval ("Aprovado") senao se (media >= 5) entao escreval ("Recuperação") senao escreval ("Reprovado") fimse fimse escreva ("Sua média é ", MEDIA) fimalgoritmo |
Anterior: Desvio Condicional Composto – SE .. ENTÃO .. SENÃO
Próximo: Estrutura de Repetição ENQUANTO
Código:
algoritmo “Condicional Aninhado”
// Função : Estudo de Estrutura Condicional Aninhada
// Autor : Fábio dos Reis
// Data : 04/04/2013
var
N1, N2, MEDIA : real
inicio
escreval (“Digite a primeira nota: “)
leia (N1)
escreval (“Digite a segunda nota: “)
leia (N2)
MEDIA <- (N1 + N2) / 2 se (MEDIA >= 7) entao
escreval (“Aprovado”)
senao
se (MEDIA >= 5) entao
escreval (“Recuperação”)
senao
escreva (“Reprovado”)
fimse
fimse
fimalgoritmo
Calculadora:
algoritmo “semnome”
var
valor1, valor2, resultado: Real
operacao: caractere
inicio
Escreva (“Digite o primeiro valor: “)
Leia (valor1)
Escreva (“Digite a operação: “)
Leia (operacao)
Escreva (“Digite o segundo valor: “)
Leia (valor2)
Se (operacao = “+”) entao
resultado <- valor1 + valor2
Senao
Se (operacao = "-") entao
resultado <- valor1 – valor2
Senao
Se (operacao = "*") entao
resultado <- valor1 * valor2
Senao
Se (operacao = "/") entao
resultado <- valor1 / valor2
Senao
FimSe
FimSe
FimSe
Fimse
Escreva ("O resultado é: ", resultado)
fimalgoritmo
ótimo texto
Muito obrigado! Descobri que cada “se” colocado depois de um “senao” precisa do seu próprio “fimse”. Me salvou!
Boa Tarde
Possui um exemplo se-então e se-então-senão e incluindo a estrutura condicional E ;OU
Na boa Fábio, comecei a vê seus vídeos no dia 20 e não consigo mais parar de assistir, você ensina muito bem cara, da até vontade de querer sempre estudar vendo seus vídeos. Fica com Deus irmão
Muito obrigado Gabriel, fico feliz em saber! Abraço!
Algoritmo em Python considerando frequência do aluno:
“Média + frequencia”
a = int(input(“Digite nota da 1° avaliação: “))
b = int(input(“Digite nota da 2° avaliação: “))
c = int(input(“Digite nota da 3° avaliação: “))
d = int(input(“Digite nota da 4° avaliação: “))
frequencia = float(input(“Digite a frequência do aluno: “))
if (frequencia >= 75):
media = (a + b + c + d)/4
if(media > 6):
print(“Média”, media)
print(“Aluno aprovado”)
elif(media >= 6):
print(“Média”, media)
print(“Aluno pode fazer prova de recuperação”)
else:
print(“Média”, media)
print(“Aluno reprovado”)
else:
print(“Aluno reprovado direto”)