Algoritmos e Estruturas de Dados I Estrutura Condicional

  • Slides: 24
Download presentation
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

Estrutura Condicional A estrutura condicional permite a escolha de um grupo de ações a

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

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 <exemplo 1> 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

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 <exemplo 1> inteiro: a, b, c Inicio leia (a,

Estrutura Condicional Exemplo 1: Algoritmo <exemplo 1> 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 Exemplo 2: Faça um algoritmo que dadas três notas de um aluno,

Estrutura Condicional Exemplo 2: 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: nota 1, nota 2, nota 3, media Inicio leia (nota 1, nota 2, nota 3) media ←(nota 1+nota 2+nota 3)/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

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

Estrutura Condicional Exemplo de desvio condicional aninhado: Escreva um algoritmo que determine o grau

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/altura 2) 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)

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 escreva (grauobesidade)

Estrutura Condicional Simples Exemplo 1. Após a execução do seguinte trecho de um algoritmo

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, é

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

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

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

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

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

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

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

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,

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 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 Aninhada Exemplo 8 (outra solução)

Estrutura Condicional A. Algoritmo <crescente> Real: a, b, c, aux Inicio leia (a, b,

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

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)

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

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 = centenas 3 + dezenas 3 + unidades 3 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.