Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.

24
Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez

Transcript of Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.

Page 1: Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.

Algoritmos e Estruturas de Dados I – Estrutura Condicional

Profa. Mercedes Gonzales Márquez

Page 2: 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

Page 3: Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.

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

Page 4: Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.

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.

Page 5: Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.

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

Page 6: Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.

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

Page 7: Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.

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

Page 8: Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.

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

Page 9: Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.

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

Page 10: Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.

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

Page 11: Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.

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.

Page 12: Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.

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.

Page 13: Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.

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..

Page 14: Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.

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.

Page 15: Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.

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

Page 16: Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.

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

Page 17: Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.

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%

Page 18: Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.

Estrutura Condicional AninhadaExemplo 8. Dados três valores distintos, faça um algoritmo que os coloque em ordem crescente (suponha números diferentes)

Page 19: Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.

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

Page 20: Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.

Estrutura Condicional AninhadaExemplo 8 (outra solução)

Page 21: Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.

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

Page 22: Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.

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.

Page 23: Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.

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

Page 24: Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.

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.