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,c
Inicio
leia (a,b,c)
se (a+b)<c então
escreva (“ok”)
fim se
Fim
Estrutura Condicional
2. Estrutura Condicional Composta
Formato :
Se condição então
seqüência A de comandos
senão
seqüência B de comandos
Fim se
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
falsa.
Estrutura Condicional
Exemplo 1:
Algoritmo <exemplo1>
inteiro: a,b,c
Inicio
leia (a,b)
se (a+b)=6 então
c ←1000
senão
c ←2500
fim se
escreva (c)
Fim
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,media
Inicio
leia (nota1,nota2,nota3)
media ←(nota1+nota2+nota3)/3
se media>=7 então
escreva (“Aprovado”)
senão
escreva (“Reprovado”)
fim se
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>
real : peso,altura,indicemassa
literal:grauobesidade
Inicio
leia (peso,altura)
indicemassa←peso/altura**2
se indicemassa<26 então
grauobesidade ←”normal”
senão
se indicemassa<30 então
grauobesidade ←”obeso”
senão
grauobesidade ←”obeso morbido”
fim se
fim se
escreva (grauobesidade)
Estrutura Condicional Simples
Exemplo 1 . Após a execução do seguinte trecho de um algoritmo
Algoritmo <trecho>
Início.
D ←0
se A<=B e C>=B então
D ←5
fim 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
Estrutura Condicional Simples
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.
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
Estrutura Condicional Simples
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.
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
Estrutura Condicional Composta
Exemplo 4. Faça um programa que leia um número inteiro e
verique se o mesmo é par ou ímpar..
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
Estrutura Condicional Composta
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.
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
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>
escreva (menor)
Fim
inteiro: a,b,c,menor
Inicio
leia (a,b,c)
se (a<b e a<c) então
menor ←a
senão
se (b<c) então
menor ← b
senão
menor ← c
fim se
Estrutura Condicional Aninhada
Exemplo 6: (outra solução)
Algoritmo <menor>
inteiro: a,b,c,menor
Inicio
leia (a,b,c)
se (a<b) então
menor ←a
senão
menor←b
se (c<menor) então
menor ← c
fim se
escreva (menor)
Fim
Estrutura Condicional Aninhada
Exemplo 7 O Botafogo Futebol Clube deseja aumentar o salário de seus
jogadores. O reajuste deve obedecer a seguinte tabela:
Salário atual
Aumento
< =1000
20%
>1000 e <=5000
10%
>5000
0%
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.
Estrutura Condicional Aninhada
Exemplo 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)
Estrutura Condicional Aninhada
Exemplo 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 lados
Chama-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 Aninhada
Algoritmo <triangulos>
Real: x,y,z
Inicio
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ão
escreva (“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 se
senã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.
Download

AEDI-estrutura-condicional