Algoritmos e Estruturas de Dados I – Estrutura Condicional
Profa. Mercedes Gonzales Márquez
Estrutura Condicional
A estrutura condicional permite a escolha de um grupo de ações a ser executado quando determinada condição, representada por uma expressão lógica, é ou não satisfeita.
Esta estrutura pode se apresentar de duas formas:
1.Estrutura Condicional Simples
2.Estrutura Condicional Composta
Estrutura Condicional
1. Estrutura Condicional Simples Formato : Se condição então sequência de comandos Fim se Neste caso, a seqüência de comandos só será executada se a condição for verdadeira.
Exemplo:
Algoritmo <exemplo1>inteiro: a,b,cInicio
leia (a,b,c)se (a+b)<c então escreva (“ok”)
fim seFim
Estrutura Condicional
2.2. Estrutura Condicional Composta Estrutura Condicional Composta Formato :Formato : SeSe condição condição entãoentão
seqüência A de comandosseqüência A de comandos senãosenão
seqüência B de comandosseqüência B de comandos Fim seFim seNeste caso, a seqüência A de comandos só será executada se a condição for Neste caso, a seqüência A de comandos só será executada se a condição for verdadeira e a seqüência B de comandos só será executada se a condição for verdadeira e a seqüência B de comandos só será executada se a condição for falsa.falsa.
Estrutura Condicional
Exemplo 1:Exemplo 1:Algoritmo <exemplo1>Algoritmo <exemplo1>inteiro: a,b,cinteiro: a,b,cInicioInicio leia (a,b)leia (a,b) se (a+b)=6 entãose (a+b)=6 então c ←1000c ←1000 senãosenão c ←2500c ←2500 fim sefim se escreva (c)escreva (c)FimFim
Estrutura Condicional
Exemplo2: Faça um algoritmo que dadas três notas de um aluno, determine a média e
imprima o conceito Aprovado ou Reprovado, para média >=7 e <7 respectivamente.
Algoritmo <media>real: nota1,nota2,nota3,mediaInicio
leia (nota1,nota2,nota3)media ←(nota1+nota2+nota3)/3se media>=7 então
escreva (“Aprovado”)senão
escreva (“Reprovado”)fim se
Fim
Estrutura Condicional
Desvio condicional aninhado:
Usado para tomadas de decisões para mais de 2 opções.
Exemplo:se condição então
seqüência A de comandos
senão
se condição então
seqüência B de comandos
senão
seqüência C de comandos
fim se
fim se
Estrutura Condicional
Exemplo de desvio condicional aninhado:Escreva um algoritmo que determine o grau de obesidade de uma pessoa, sendo fornecido o peso e a altura da pessoa. O grau de obesidade é determinado pelo índice de massa corpórea (massa=peso/altura2) através da tabela abaixo
Indice Massa corpórea
Grau de obesidade
<26 Normal
>=26 e <30 Obeso
>=30 Obeso mórbido
Estrutura Condicional
Algoritmo<grauobesidade>Algoritmo<grauobesidade>real : peso,altura,indicemassareal : peso,altura,indicemassaliteral:grauobesidadeliteral:grauobesidadeInicioInicio
leia (peso,altura)leia (peso,altura)indicemassa←peso/altura**2indicemassa←peso/altura**2sese indicemassa<26 indicemassa<26 entãoentão
grauobesidade ←”normal”grauobesidade ←”normal” senãosenão
se se indicemassa<30 indicemassa<30 entãoentãograuobesidade ←”obeso”grauobesidade ←”obeso”
senão senão grauobesidade ←”obeso morbido”grauobesidade ←”obeso morbido”
fim sefim sefim sefim seescreva (grauobesidade)escreva (grauobesidade)
FimFim
Estrutura Condicional Simples
Algoritmo <trecho>Início.
D ←0se A<=B e C>=B então
D ←5fim se
Fim
Em D estará armazenado o valor 5 se:(a) A<B<C(b) A<=B<=C(c) A<B<=C(d) B<C<A(e) Nenhuma das respostas acima
Exemplo 1 . Após a execução do seguinte trecho de um algoritmo
Estrutura Condicional Simples
Algoritmo <bissexto>
inteiro: ano
Início
leia (ano)
se (mod(ano,400)=0 ou (mod(ano,4)=0 e mod(ano,100)<>0) então
escreva (“O ano”, ano,”é bissexto”)
fim se
Fim
Exemplo 2. Verificar se um determinado ano, fornecido pelo usuário, é bissexto. Um ano é bissexto se for divisível por 400 ou se for divisível por 4 e não for divisível por 100. Exemplos: 1988, 1992, 1996, 2000. Repare que 1900 não é bissexto.
Estrutura Condicional Simples
Algoritmo <aposentadoria>
inteiro: idade, tempo
Início
leia (idade, tempo)
se (idade>=65 ou tempo<=30 ou (idade<=60 e tempo<=25))
escreva (“Pode se aposentar”)
fim se
Fim
Exemplo 3. Leia a idade e o tempo de serviço de um trabalhador e escreva se ele pode ou não se aposentar. As condições para aposentadoria são:• Ter pelo menos 65 anos de idade.• Ou ter trabalhado pelo menos 30 anos.• Ou ter pelo menos 60 anos e ter trabalhado pelo menos 25 anos.
Estrutura Condicional Composta
Algoritmo <par>
inteiro: num
Início
Leia (num)
Se (mod(num,2)=0) então
escreva (“O número”, num,”é par”)
senão
escreva (“O número”, num,”é ímpar”)
fim se
Fim
Exemplo 4. Faça um programa que leia um número inteiro e verique se o mesmo é par ou ímpar..
Estrutura Condicional Composta
Algoritmo <senha>
inteiro: senha
SENHA_VERDADEIRA=12345
Início
Leia (senha)
Se (senha=SENHA_VERDADEIRA) então
escreva (“Senha verdadeira”)
senão
escreva (“Senha falsa”)
fim se
Fim
Exemplo 5. Faça um programa em que o usuário digite uma senha numérica, e o algoritmo deverá reconhecer se a senha é verdadeira ou falsa, de acordo com um valor estabelecido previamente no algoritmo.
Estrutura Condicional Aninhada
Exemplo 6: Faça um algoritmo que leia três valores inteiros, determine e imprima o menor deles (suponha números diferentes) Algoritmo <menor>Algoritmo <menor>
inteiro: a,b,c,menorinteiro: a,b,c,menor
InicioInicio
leia (a,b,c)leia (a,b,c)
se (a<b e a<c) entãose (a<b e a<c) então
menor ←amenor ←a
senãosenão
se (b<c) entãose (b<c) então
menor ← bmenor ← b
senãosenão
menor ← cmenor ← c
fim sefim se
fim sefim se
escreva (menor)escreva (menor)
FimFim
Estrutura Condicional AninhadaExemplo 6: (outra solução)
Algoritmo <menor>Algoritmo <menor>
inteiro: a,b,c,menorinteiro: a,b,c,menor
InicioInicio
leia (a,b,c)leia (a,b,c)
se (a<b) entãose (a<b) então
menor ←amenor ←a
senãosenão
menor←bmenor←b
se (c<menor) entãose (c<menor) então
menor ← cmenor ← c
fim sefim se
escreva (menor)escreva (menor)
FimFim
Estrutura Condicional Aninhada
Exemplo 7 O Botafogo Futebol Clube deseja aumentar o salário de seus jogadores. O reajuste deve obedecer a seguinte tabela:
Escreva um algoritmo que leia o nome e o salário atual de um jogador, e exiba o nome, o salário atual e o salário reajustado.
Salário atual Aumento
< =1000 20%
>1000 e <=5000 10%
>5000 0%
Estrutura Condicional AninhadaExemplo 8. Dados três valores distintos, faça um algoritmo que os coloque em ordem crescente (suponha números diferentes)
Estrutura Condicional A.Algoritmo <crescente>
Real: a, b, c,aux
Inicio
leia (a,b,c)
se (a>b ou a>c) então
se (b<c) então
aux ←a
a ←b
b ←aux
senão
aux ←a
a ←c
c ←aux
fim se
fim se
se (b>c) então
aux ←b
b ←c
c ←aux
fim se
escreva (a,b,c)
Fim
Estrutura Condicional AninhadaExemplo 8 (outra solução)
Estrutura Condicional A.Algoritmo <crescente>
Real: a, b, c,aux
Inicio
leia (a,b,c)
se (a>b ) então
aux ←a
a ←b
b ←aux
fim se
se (a>c) então
aux ←a
a ←c
c ←aux
fim se
se b>c então
aux ←b
b ←c
c ←aux
fim se
escreva (a,b,c)
Fim
Estrutura Condicional Aninhada
Exemplo 9 Dados três valores x,y e z, verificar se eles podem ser os comprimentos dos lados de um triângulo e, se forem, verificar se é um triângulo eqüilátero, isósceles ou escaleno. Se eles não formarem um triângulo, escrever uma mensagem.Revisão:O comprimento de cada lado de um triângulo é menor do que a soma dos comprimentos dos outros dois ladosChama-se de triângulo equilátero ao triângulo que tem os comprimentos dos três lados iguais.Chama-se triângulo isósceles ao triângulo que tem os comprimentos de dois lados iguais. Chama-se triângulo escaleno ao triângulo que tem os comprimentos de três lados diferentes.
Estrutura Condicional AninhadaAlgoritmo <triangulos>Real: x,y,zInicio
leia (x,y,z)se x<y+z e y<x+z e z<x+y então
se x=y e x=z entãoescreva (“triângulo equilátero”)
senão se x=y ou x=z ou y=z então
escreva (“triângulo isosceles”)senão
escreva (“triângulo escaleno”)fim se
fim sesenão
escreva (“não existe triângulo”)fim se
Fim
Estrutura Condicional – Exercícios
Exercício 10. Um número n no intervalo de 100 a 999 é chamado número de Angstron se n obedece a seguinte regra:n = centenas3 + dezenas3 + unidades3
Exemplo:153 = 13 + 53 + 33
Escreva um programa que leia um número inteiro no intervalo [100;999] e verique se é um número de Angstron.