Buscar

estruturas-de-decisc3a3o-de-mc3baltipla-escolha-aula-6

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Estruturas de decisão de múltipla escolha 
Nas estruturas de decisão que vimos na aula 4, um comando ou bloco de comandos é 
executado de acordo com uma ou mais condições. Você viu que, quando a condição não é 
satisfeita, a estrutura pode encerrar (estrutura de decisão simples) ou seguir outro caminho 
(estrutura composta). 
Existem problemas, porém, em que uma expressão (ou uma variável) pode assumir 
diversos valores e que, para cada valor assumido, comandos diferentes são executados. Ou 
seja, os valores são mutuamente exclusivos. 
Para essas situações, utilizamos as estruturas de múltipla escolha. 
Imagine que você quer decidir o que vai fazer no final de semana. Veja: 
 
VAR 
 opcao : Inteiro 
INICIO 
 escreval (“Digite „1‟, para praia”) 
 escreval (“Digite „2‟ para cinema”) 
 escreval (Digite „3‟ para churrasco”) 
 leia opcao 
 ESCOLHA opcao 
 CASO 1 
 escreva (“Sair de casa às 8 horas da manhã.”) 
 CASO 2 
 escreva (“Sair de casa às 2 horas da tarde.”) 
 CASO 3 
 escreva (“Sair de casa ao meio-dia.”) 
 OUTROCASO //caso escolha opção diferente das anteriores 
 escreva (“Já que não optou, fique em casa mesmo e leia um 
livro.”) 
 FIMESCOLHA 
FIM 
 
Ao tentar decidir o que fazer no fim de semana, você tinha três opções: ir à praia, ir ao 
cinema ou ir a um churrasco. Para cada opção, há um comando diferente (nesse caso, um 
horário diferente para sair de casa). Isso mostra que os comandos são como dissemos a 
pouco, mutuamente exclusivos. 
Veja que, caso você não escolha nenhuma das opções anteriores, há um comando definido 
por padrão (que, nesse caso, é ficar em casa e ler um livro). 
A sintaxe da estrutura de múltipla escolha é a seguinte: 
PSEUDOCÓDIGO FLUXOGRAMA 
Inicio 
 escolha <opção> 
 caso <opção 1> 
 <comandos1> 
 caso <opcao2> 
 <comandos2> 
 ... 
 caso <opção n> 
 <comandosn> 
 outrocaso 
 <comandos_padrão> 
 fimescolha 
Fim 
 
 
 
 
 
 
Atividade 3 
 
1. Vamos praticar? Para compreender o funcionamento da estrutura 
de múltipla escolha, escreva o algoritmo do exemplo que 
acabamos de utilizar (do fim de semana) no VisuAlg e execute. 
Lembre-se de adequar o algoritmo, se necessário, de acordo com 
a sintaxe. 
 
 
 
 
Exercício Resolvido 1 
Escreva um algoritmo que diga se uma capital brasileira é da região Nordeste ou 
Sudeste, de acordo com a opção digitada pelo usuário. Em caso do usuário digitar 
o nome de uma capital que não esteja entre as opções, escreva que a capital é de 
outra região. 
Resolução: 
 
algoritmo "capitais" 
//o primeiro passo é declarar uma variável do tipo literal para 
armazenar o nome da capital: 
var 
capital : literal 
inicio 
// solicitar que o usuário digite o nome da capital: 
escreval ("Entre com o nome de uma capital do Brasil: ") 
// receber o valor digitado: 
leia (capital) 
//inicio da estrutura de múltipla escolha. O algoritmo seleciona o 
nome da capital digitado: 
escolha capital 
//o algoritmo compara o nome digitado com as opções existentes (para capitais da 
região nordeste): 
caso "Natal", "João Pessoa", "Salvador", "Fortaleza", "São Luís", 
"Maceió", "Aracaju","Recife", "Teresina" 
// se o resultado da comparação (teste de igualdade) for 
verdadeiro para uma das capitais acima: 
 escreval ("É uma capital da Região Nordeste.") 
//se a comparação anterior não for verdadeira para nenhuma das capitais nordestinas, 
o algoritmo compara o nome digitado com as opções existentes no outro grupo (de 
capitais do Sudeste do País): 
caso "São Paulo", "Rio de Janeiro", "Belo Horizonte", "Vitória" 
// se o resultado da comparação (teste de igualdade) for verdadeiro para um deles: 
 escreval ("É uma capital da Região Sudeste.") 
//caso o teste de igualdade das opções anteriores não tiver 
resultado verdadeiro (a capital digitada não é nenhuma das 
existentes), a solução default (padrão) é selecionada: 
outrocaso 
 escreval ("É de outra região.") 
//fim da estrutura de múltipla escolha: 
fimescolha 
fimalgoritmo 
 
 
Observação 1: a palavra reservada outrocaso pode ser entendida como um desvio, em caso 
do usuário escolher uma opção que não esteja entre as opções existentes. Sua utilização é 
opcional. Execute o algoritmo no VisuAlg. 
Observação 2: para uma melhor fixação, evite copiar e colar o texto da aula. Prefira 
reescrever o algoritmo no VisuAlg. Dessa forma, você ficará mais familiarizado com a 
sintaxe e, logo, sua habilidade em utilizar a estrutura será melhorada. 
 
Decisão de múltipla escolha x decisão encadeada 
Se você compreendeu tudo o que vimos até agora sobre as estruturas de decisão, pode 
estar se perguntando: “Mas, essa estrutura de múltipla escolha não é a mesma coisa que 
uma estrutura de decisão composta encadeada?” 
De fato, elas podem ser similares. Os dois algoritmos abaixo fazem a mesma coisa: 
 
DECISÃO ENCADEADA MÚLTIPLA ESCOLHA 
Var 
opcao:inteiro 
inicio 
leia (opcao) 
 se opcao=1 entao 
 escreval ("praia") 
 senao 
 se opcao=2 entao 
 escreval ("cinema") 
 senao 
 se opcao=3 entao 
 escreval ("churrasco") 
 senao 
 escreval ("Fique em casa") 
 fimse 
 fimse 
 fimse 
fimalgoritmo 
Var 
opcao:inteiro 
inicio 
leia (opcao) 
 escolha opcao 
 caso 1 
 escreval ("praia") 
 caso 2 
 escreval ("cinema") 
 caso 3 
 escreval ("churrasco") 
 outrocaso 
 escreval ("fique em casa") 
 fimescolha 
fimalgoritmo 
 
 
Execute os dois algoritmos no VisuAlg e veja que, em ambos os casos, a saída é a mesma. 
Por que, então, utilizar a estrutura de múltipla escolha, se podemos utilizar a decisão 
encadeada que aprendemos até aqui? 
Cada palavra reservada que utilizamos em um algoritmo representa um comando que o 
programa vai executar, desde a inicialização do algoritmo, passando pelos comandos 
básicos (as instruções primitivas) e os comandos de cada estrutura de controle, até a 
finalização do algoritmo. Tudo isso são instruções que passamos para que o computador 
execute. 
Sabendo disso, podemos ver que o algoritmo que utiliza a decisão encadeada tem um 
número maior de instruções. Isso demanda uma quantidade maior de memória e 
processamento do computador para executar o algoritmo, o que afeta diretamente o 
desempenho. 
Seria como se você precisasse caminhar de um ponto a outro, tendo duas opções de 
caminho: em uma, você segue em linha reta e, na outra, você vai em zigue-zague. Em qual 
dessas opções você acha que chegaria mais rápido? Em qual chegaria menos cansado? 
Em um algoritmo simples, provavelmente, você não perceberá a diferença. Mas, em 
programas maiores e mais complexos, fica evidente a queda no desempenho. Por isso, é 
mais conveniente, nesses casos (de seleção mutuamente exclusiva), utilizar a estrutura de 
múltipla escolha. 
Há, também, outra diferença básica entre as duas estruturas, que pode determinar quando 
utilizar uma ou outra: 
DECISÃO ENCADEADA MÚLTIPLA ESCOLHA 
Pode testar mais de um valor ao mesmo 
tempo. Ou seja, podem ser utilizadas 
expressões relacionais. 
Só pode testar igualdade e só testa um valor 
por vez, por isso, não pode utilizar expressões 
lógicas ou relacionais. 
 
 
 
 
 
 
 
Atividade 4 
 
1. Escreva um algoritmo que leia o número equivalente a um mês do 
ano e diga se é do primeiro, segundo ou terceiro bimestre. Se não 
for de nenhum, exiba a mensagem: “É do segundo semestre.”2. Escreva um algoritmo que leia o número equivalente a um mês do 
ano e diga o número de dias do mês correspondente. Exiba a 
mensagem “valor inválido”, se o número digitado não 
corresponder a nenhum mês (1 a 12). 
 
 
 
 
 
Resumo 
 
Nesta aula, você encerrou o estudo das estruturas de decisão. Você conheceu a estrutura de 
decisão composta e viu que essa estrutura se caracteriza pela existência de um caminho 
alternativo, caso a condição pré-estabelecida não tenha sido atendida. Você viu, também, 
que esse caminho alternativo é precedido pela palavra reservada SENÃO, na sintaxe da 
estrutura. Além disso, você conheceu exemplos de estruturas compostas encadeadas, viu a 
diferença entre estruturas com condições mutuamente exclusivas e estruturas de decisão 
compostas inseridas em outras decisões compostas. Além disso, você viu as estruturas de 
múltipla escolha, com o comando ESCOLHA. Você conheceu os comandos e a sintaxe dessa 
estrutura. Viu que os algoritmos escritos com essa estrutura poderiam utilizar, também, a 
estrutura de decisão composta encadeada. Viu, porém, que há diferenças importantes que 
podem determinar quando é mais conveniente utilizar uma ou outra. 
 
Autoavaliação 
1. Diferencie estruturas de decisão simples de estruturas de decisão 
compostas. 
2. Explique as duas possíveis sintaxes da estrutura de decisão composta, 
diferenciando-as entre si. 
3. Escreva um algoritmo que leia um número e diga se é múltiplo de 3. 
4. Escreva um algoritmo que leia dois números e diga se o primeiro é divisível 
pelo segundo. 
5. Escreva um algoritmo que leia um número e diga se é positivo, negativo ou 
nulo. 
6. Escreva um algoritmo que leia um número e diga se ele é divisível por 5, 
por dois ou por nenhum deles. 
7. Escreva um algoritmo que leia duas datas digitadas pelo usuário (três 
valores inteiros, primeiro o dia, depois o mês e depois o ano) e, em 
seguida, exiba a data mais recente. 
8. Escreva um algoritmo que leia três números inteiros e os coloque em 
ordem crescente. 
9. Escreva um algoritmo que leia três números inteiros e os coloque em 
ordem decrescente. 
10. Escreva um algoritmo que leia o número equivalente a um mês do ano e 
diga se é do primeiro, segundo ou terceiro bimestre. Se não for de 
nenhum, exiba a mensagem: “É do segundo semestre.” 
11. Escreva um algoritmo que receba a idade de uma pessoa e, caso seja 
maior de 15 anos, dizer que pode fazer musculação. Caso contrário, dizer 
que menores de 15 anos não podem fazer musculação e oferecer as opções 
de futebol, caso seja do sexo masculino, e ginástica, caso seja do sexo 
feminino. 
12. Determine a sintaxe da estrutura de múltipla escolha. 
13. Explique para que é usado o comando outrocaso. É obrigatório? Qual a 
importância desse comando? 
14. Qual a estrutura de controle que pode ser considerada similar à estrutura 
de múltipla escolha? 
15. Apresente um exemplo de algoritmo que possa ser resolvido com qualquer 
uma dessas duas estruturas. 
16. Qual a principal diferença entre essas duas estruturas? Quando sabemos 
que é melhor utilizar uma ou outra? 
17. Escreva um algoritmo que receba o código correspondente ao cargo de um 
funcionário de uma escola e seu salário atual e mostre o valor do novo 
salário, com aumento, conforme tabela abaixo: 
 
Código do Cargo Cargo Aumento 
1 Secretário 45% 
2 Professor 35% 
3 Tesoureiro 25% 
4 Coordenador 15% 
5 Diretor Não tem aumento 
 
18. Você acabou de almoçar em um restaurante e quer uma bela sobremesa. O 
restaurante dispõe de um sistema informatizado em que, sem precisar 
chamar o garçom, você pode pedir a sobremesa através de um dispositivo 
portátil, que é entregue a cada cliente assim que ele entra no restaurante. 
Lá, existem as seguintes opções de sobremesa: 1- Mousse; 2- Sorvete; 3- 
MilkShake e 4- Sunday. Para pedir a sobremesa, você só precisa digitar o 
número desejado e aguardar. Escreva um algoritmo que mostre 
essemenu de sobremesas. Se a opção digitada não estiver entre os valores 
1 e 4, exiba um alerta de erro e peça ao cliente que digite um valor válido. 
19. Uma fábrica oferece às suas operárias um auxílio mensal além do salário. 
Para as casadas sem filhos, o auxilio mensal é de 15% do seu salário-base. 
Para as que têm filhos, casadas ou não, o auxílio é de 35% do salário-base. 
Para as solteiras sem filhos, não há auxílio extra. Faça um algoritmo que 
receba a opção (1, 2 ou 3) que determine em que categoria a funcionária 
se encontra, o valor do salário-base (igual para todas) e mostre o valor do 
salário com o auxílio.

Continue navegando