Você está na página 1de 6

14/04/2015

Prof. Dr.

Aula 7
Carlos A. Sics A. do Nascimento
caugusto.sicsu@uva.br
Curso de Engenharia

Engo.

Objetivos
O aluno dever ser capaz de:
Utilizar o comando alternativo para estrutura de deciso com
mltiplas opes: escolha;
Identificar quais algoritmos esto aptos ao uso desse comando
alternativo;

Resolver exerccios que necessitem do uso de estruturas de


deciso com mltiplas opes: escolha.

14/04/2015

Prof. Dr. Eng Carlos A. Sics A. do Nascimento

14/04/2015

Estrutura de deciso com o comando escolha:


O comando escolha utilizado para simplificar o algoritmo quando
existe a necessidade de se usar o comando se com mltiplas
opes.
Esse comando pode ser utilizado somente em
determinadas situaes.
Algumas linguagens de programao permitem que sejam usadas
condies distintas para a definio da escolha, mas nas
linguagens de programao baseadas na linguagem C, tais como
java, C#, etc, a estrutura escolha deve ser controlada por uma
varivel inteira ou do tipo caractere (um nico caractere).
No exemplo a seguir, temos um conjunto de decises utilizando a
estrutura se e determinadas pela igualdade, que podem ser
facilmente substitudas pelo uso do comando escolha.
14/04/2015

Prof. Dr. Eng Carlos A. Sics A. do Nascimento

se (COND = 1) entao
escreva (Matemtica)
senao
se (COND = 2) entao
escreva (Portugus)
senao
se (COND = 3) entao
escreva (Fsica)
senao
se (COND = 4) entao
escreva (Biologia)
senao
escreva (Qumica)
fimse
fimse
fimse
fimse
14/04/2015

Observe que todas as


condies so de
comparao com a
igualdade e sempre
utilizam a mesma varivel
para o controle.

Prof. Dr. Eng Carlos A. Sics A. do Nascimento

14/04/2015

Para esse tipo de problema, existe uma forma de simplificao


utilizando o comando escolha, mas para que seja possvel utilizla, alguns detalhes so importantes:
Todas as condies dos comandos se devem testar a mesma
varivel, no caso sempre testada a varivel COND;
Todas as condies dos comandos se devem testar a igualdade da
varivel com um determinado valor: COND = N;
Todo comando se (exceto o primeiro) encontra-se no lado N
(no, ou falsidade, ou seja, no senao) do comando se anterior.
Se todas essas condies forem satisfeitas, possvel substituir o
conjunto de comandos se aninhados pelo comando escolha.

14/04/2015

Prof. Dr. Eng Carlos A. Sics A. do Nascimento

Pseudocdigo
algoritmo "Escolha"
var
cond : inteiro
inicio
escreva("O que voc deseja fazer hoje (1-Matemtica 2-Portugus 3-Fsica 4-Biologia 5Qumica)")
leia(cond)
escolha (cond)
caso 1
escreva(Matemtica")
caso 2
escreva(Portugus")
caso 3
escreva(Fsica")
caso 4
escreva(Biologia")
outrocaso
// Se no foi identificada nenhuma opo anterior essa executada
escreva(Qumica")
fimescolha
fimalgoritmo
14/04/2015
Prof. Dr. Eng Carlos A. Sics A. do Nascimento
6

14/04/2015

Pseudocdigo
algoritmo "Escolha"
var
opc : inteiro
inicio
escreva("O que voc deseja fazer hoje (1-Cinema 2-Praia 3-Piscina 4-Restaurante)")
leia(opc)
escolha (opc)
caso 1
escreva("Voc escolheu ir ao Cinema")
caso 2
escreva("Voc escolheu ir a Praia")
caso 3
escreva("Voc escolheu ir a Piscina")
caso 4
escreva("Voc escolheu ir ao Restaurante")
outrocaso
// Se no foi identificada nenhuma opo anterior essa executada
escreva("Voc no fez uma escolha vlida")
fimescolha
fimalgoritmo
14/04/2015

Prof. Dr. Eng Carlos A. Sics A. do Nascimento

O Algoritmo pode tambm identificar mais de uma opo vlida para uma mesma ao,
simulando logicamente o uso do OU.
algoritmo "EscolhaMes"
var
mes, numeroDias : inteiro
inicio
escreva("Indique o nmero do ms (1-12)")
leia(mes)
escolha (mes)
caso 2
numeroDias <- 28
caso 4, 6, 9, 11
numeroDias <- 30
caso 1, 3, 5, 7, 8, 10, 12
numeroDias <- 31
outrocaso
// Se no foi identificada nenhuma opo anterior essa executada
escreval("Voc no fez uma escolha de ms vlido.")
fimescolha
escreval("Este ms possui ", numeroDias)
fimalgoritmo
14/04/2015

Prof. Dr. Eng Carlos A. Sics A. do Nascimento

14/04/2015

Exerccios
1. Faa um algoritmo que receba o consumo mensal (em KW/h) e o
tipo de cliente de uma empresa fornecedora de energia eltrica,
calcule e apresente o valor a ser pago pelo cliente, de acordo
com a tabela abaixo:
Tipo de Cliente
Valor do KW/h
1 (Residencial)
R$ 0,68
2 (Comercial)
R$ 0,98
3 (Industrial)
R$ 1,19

14/04/2015

Prof. Dr. Eng Carlos A. Sics A. do Nascimento

2. Faa um algoritmo que receba o valor de um salrio e a faixa


salarial de um funcionrio, calcule o aumento correspondente,
de acordo com a tabela a seguir e ao final apresente o salrio
reajustado:
Faixa Salarial

Percentual de aumento (%)

8,0

7,6

7,2

7,0

6,7

6,3

6,0

5,5

Demais faixas
14/04/2015

5,0

Prof. Dr. Eng Carlos A. Sics A. do Nascimento

10

14/04/2015

3. Faa um algoritmo que receba a idade de um nadador,


classifique-o em de acordo com uma das categorias a seguir e
apresente a categoria correspondente:
Faixa de Idade

Categoria

5-7

Infantil A

8 - 10

Infantil B

11 13

Juvenil A

14 17

Juvenil B

18 - 25

Snior

Demais idades

Fora das faixas possveis

Obs.: Use a simulao do OU para as faixas.

14/04/2015

Prof. Dr. Eng Carlos A. Sics A. do Nascimento

11

FIM da Aula 7

14/04/2015

Prof. Dr. Eng Carlos A. Sics A. do Nascimento

12

Você também pode gostar