Algoritmos e Estruturas de Dados I
– Estrutura Condicional
Profa. Mercedes Gonzales
Márquez
Algoritmo
Formato, adotado pela disciplina, de um algoritmo
sem módulos
Algoritmo <nome>
declarações de variáveis e constantes
Inicio
comandos
Fim
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 Composta
Exemplo 2. Após a execução do seguinte trecho de um algoritmo
Algoritmo <trecho>
Início
.
se A2<=B3 então
TESTE ←verdadeiro
senão
TESTE←falso
fim se
C ←TESTE
Fim
Em C estará armazenado o valor falso se, originalmente:
A2<B3
A2<=B3
A2>=B3
A2>B3
A2=B3
Estrutura Condicional Aninhada
Exemplo 3: 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 3: (outra solução)
Algoritmo <menor>
inteiro: a,b,c,menor
Inicio
leia (a,b,c)
se (a<b) então
se (a<c) então
menor ←a
senão
menor←c
senão
se (b<c) então
menor ← b
senão
menor ← c
fim se
fim se
escreva (menor)
Fim
Estrutura Condicional Aninhada
Exemplo 3: (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 4 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 5. 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 5 (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 5 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
•
•
•
Tarefas:
Estude os exercícios resolvidos de estrutura
condicional do livro Introdução à Programação 500
Algoritmos Resolvidos de Anita Lopes.
Estude a lista de exercícios resolvidos de estrutura
condicional que se encontrará no site da disciplina a
partir do dia 17/4/2013.
A lista de exercícios propostos de estrutura
condicional também estará disponível no site da
disciplina no dia 17/4/2013.
Download

AEDI-estrutura-condicional