Os materiais didáticos aqui disponibilizados estão licenciados através de Creative Commons Atribuição-SemDerivações-SemDerivados CC BY-NC-ND. Você possui a permissão para visualizar e compartilhar, desde que atribua os créditos do autor. Não poderá alterá-los e nem utilizá-los para fins comerciais.
Atribuição-SemDerivações-SemDerivados
CC BY-NC-ND
Cursos / Informática para Internet / Lógica de Programação / Aula
Da mesma forma que na estrutura simples, na estrutura composta também podemos utilizar SEs encadeados. Você sabe que isso ocorre quando há várias condições a serem testadas. Veja como fica a sintaxe da estrutura de decisão composta com seleções encadeadas:
Início
se <condição> entao
<comandos>
senao
se <condição> entao
<comandos>
senao
<comandos>
fimSe
fimAlgoritmo
Para ilustrar melhor o uso de estrutura composta encadeada, vamos incrementar um pouco mais o algoritmo da média:
algoritmo "calcula média com desvio composto encadeado"
var
nota1:real
nota2:real
media:real
inicio
escreval("Digite o valor da primeira nota:")
leia(nota1)
escreval("Digite o valor da segunda nota:")
leia(nota2)
media <- (nota1 + nota2)/2
escreval("A média é =",media)
se media >= 7 entao
escreval("Aluno aprovado! Parabéns!")
senao
se (media < 7) e (media>=4) entao
escreval("Aluno em recuperação! Estude")
senao
escreval("Aluno Reprovado!")
fimse
fimse
fimalgoritmo
Veja que, no exemplo, temos a situação em que se a média não for maior que 7.0, nem está entre 4.0 e 7.0, só pode ser menor que 4.0. Nesse caso, ou o aluno é aprovado, ou fica em recuperação, ou é reprovado.
Vejamos, agora, um outro exemplo de decisão composta inserida em outra decisão composta.
Em uma empresa, os funcionários que forem solteiros não receberão bônus natalinos. Os funcionários que não forem solteiros e tiverem filhos receberão um bônus de 20% de seu salário-base (ou seja, receberão o valor de seu salário acrescido de 20%). Os funcionários que não forem solteiros e não tiverem filhos receberão um bônus de 15% de seu salário-base (ou seja, receberão o valor de seu salário mais 15%). Veja o algoritmo que calcula o bônus dos funcionários:
algoritmo "Bonus natalino"
var
salario:real
estado_civil:caracter
tem_filhos:caracter
inicio
escreval("Digite o valor do salario: ")
leia(salario)
escreval("É solteiro? S ou N?")
leia(estado_civil)
se (estado_civil = "S") ou (estado_civil = "s") entao
escreval("Você não tem direito a bônus.")
escreval("Seu salario é: R$ ",salario)
senao
escreval("Tem filhos? S ou N?")
leia(tem_filhos)
se (tem_filhos = "S") ou (tem_filhos = "s") entao
salario <- salario * 1.20
escreval("Seu salário natalino é: R$ ",salario)
senao
salario <- salario * 1.15
escreval("Seu salário natalino é: R$ ",salario)
fimse
fimse
fimalgoritmo
No algoritmo que acabamos de escrever, perceba que, se um funcionário não é solteiro, ele pode ser casado com filhos ou sem filhos. Ou seja, temos uma estrutura de decisão composta inserida em outra estrutura de decisão composta.
Versão 5.3 - Todos os Direitos reservados