Post on 29-Jun-2015
Estrutura de decisão encadeada
Pseudocódigo:
Se <expr1> então
<comandos 1>
senão
Se <expr 2> então
<comandos 2>
senão
<comandos 3>
FimSe
FimSe
Java:
if (expr1)
{
<comandos 1>
}
else if (expr2)
{
<comandos 2>
}
else
{
<comandos 3>
}
Exercício 1
Algoritmo para ler a idade digitada pelo usuário e apresentar a categoria esportiva correspondente, conforme a tabela abaixo:
Faixa etária Categoria
10 a 12 anos Infantil13 a 15 anos Mirim16 a 18 anos Juvenil19 a 35 anos AdultoAcima de 35 anos Sênior
Exercício 2
IMC Classificação
< 18 Magreza
18,0 a 24,9 Saudável
25,0 a 29,9 Sobrepeso
>= 30,0 Obesidade
O índice de massa corporal (IMC) avalia o nível de gordura de cada pessoa e é adotado pela Organização Mundial de Saúde (OMS). O IMC de uma pessoa é dado pela divisão da massa em kg pela altura em metros.
Elabore um algoritmo que, a partir da massa e da altura informados pelo usuário, calcule e apresente seu IMC e sua classificação conforme a tabela seguinte:
Estrutura de múltipla escolha
Utilizada quando o resultado de uma expressão pode assumir diversos valores, sendo que comandos distintos devem ser executados em cada caso.
Escolha/caso - Pseudocódigo
Escolha (<expressão>)
caso 1: <comandos>
caso 2: <comandos>
...
caso contrário: <comandos>
FimEscolha;
Exemplo 1 - pseudocódigo
Algoritmo DemoEscolhaInícioAlgoritmodeclarar mes numérico_inteiro;Ler(mes);Escolha (mes)
caso 1: Escrever(“Janeiro”);caso 2: Escrever(“Fevereiro”);...caso 12: Escrever(“Dezembro”);caso contrário: Escrever(“Mês inválido”);
FimEscolhaFimAlgoritmo.
Comando switch em Java
switch (<expressão inteira ou char>){case <expr constante 1>: bloco; break;case <expr constante 2>: bloco; break;case <expr constante 3>: bloco; break;...case <expr constante n>: bloco; break;default: bloco; break;}
Exemplo 1 - JavaImport javax.swing.JOPtionPane;public class DemoSwitch{public static void main(String args[]){
int mes = Integer.parseInt(JOptionPane.showInputDialog(“Digite o mês”));
switch (mes){
case 1: System.out.println(“Janeiro”); break;case 2: System.out.println(“Fevereiro”); break;...case 12: System.out.println(“Dezembro”); break;default: System.out.println(“Mês inválido”); break;
}}
}
Exemplo 2 - pseudocódigo
Algoritmo DadoInícioAlgoritmodeclarar num numérico_inteiro;Ler(num);Escolha (num)
caso 2, 4, 6: Escrever(“Par”);caso 1, 3, 5: Escrever(“Ímpar”);
FimEscolhaFimAlgoritmo.
Exemplo 2 - JavaImport javax.swingt.JOptionPane;public class Dado{public static void main(String args[]){
int num = Integer.parseInt(JOptionPane.showInputDialog(“Digite um número”));
switch (num){
case 2:case 4:case 6: System.out.println(“par”); break;case 1:case 3:case 5: System.out.println(“Ímpar”); break;
}}
}
Múltipla escolha x decisão encadeada
A sintaxe da estrutura de múltipla escolha é mais concisa (enxuta, simples)
A estrutura de múltipla escolha é mais limitada que a estrutura encadeada, pois não é adequada para trabalhar com faixas contínuas ou largas de valores e, também, serve para testar apenas uma expressão por vez.
Exercício 1
Escrever um programa em Java para apresentar o nome do lanche do MacDonalds conforme o nº da opção digitada pelo cliente (usuário):
1. BigMac
2. Quarteirão3. MacChicken4. Cheddar MacMelt5. MacMax
O programa deverá apresentar ao usuário o menu de opções disponíveis e deverá informar caso seja digitada uma opção inválida.
Exercício 2
Elaborar um algoritmo em pseudocódigo e o programa em Java correspondente para imprimir o número de dias de um dado mês e ano. Anos bissextos deverão ser tratados convenientemente.
Dica: Anos bissextos são múltiplos de 4 e não são múltiplos de 100, exceto os anos múltiplos de 400, que também são bissextos.