Capítulo 08: Seleção Múltipla (ESCOLHA-CASO)
🎯 Objetivo da Aula
Nem tudo na vida é sim ou não. Às vezes temos uma lista de opções. Nesta aula, você aprenderá a estrutura ESCOLHA-CASO. O objetivo é evitar o excesso de “Se-Senão” aninhados, criando menus de atendimento e classificação de dados de forma muito mais organizada e legível.
🏢 O Cenário Prático (Seu Desafio)
Situação: O SAC da FastLog precisa de um menu inicial no terminal para direcionar as chamadas. O Menu:
- Falar com Atendimento
- Rastrear Pedido
- Financeiro
- Sair
Missão: Criar um programa que receba a opção do usuário e exiba a mensagem correta para cada setor.
🧠 Fundamentos: A Teoria Traduzida
1. A Estrutura do Escolha
O escolha olha para uma única variável e pula direto para o caso que corresponde ao valor dela.
🚦 Exemplo 1: Cotidiano (Semáforo)
escolha (cor) caso "verde": seguir caso "vermelho": parar fimescolha
📦 Exemplo 2: Técnico (Status de Pedido)
escolha (status) caso 1: "Processando" caso 2: "Despachado" caso 3: "Entregue" fimescolha
graph TD
A[Usuário consulta Pedido] --> B{Status?}
B -->|1| C[Em Processamento]
B -->|2| D[Despachado / Em Rota]
B -->|3| E[Entregue ao Cliente]
style B fill:#8e44ad,stroke:#fff,color:#fff2. A Sintaxe no VisuAlg
No VisuAlg, você não precisa do comando “pare” (break). Ele executa apenas o caso correspondente e já pula para o fim da estrutura.
📖 Exemplo Guiado: Menu do SAC
O comando escolha pula direto para o caso correspondente ao valor da variável. O outrocaso funciona como uma resposta padrão para opções inválidas.
🛠️ Prática Obrigatória 1: Classificador de Região
Crie um algoritmo que peça o codigo_regiao (inteiro). Use o escolha para exibir: Caso 1: “Sudeste”, Caso 2: “Sul”, Caso 3: “Norte/Nordeste”. Para qualquer outro número, exiba “Região não atendida”.
✅ Resultado Esperado
🛠️ Prática Obrigatória 2: Classificação de Clientes FastLog
Peça o código da categoria do cliente (1 - Bronze, 2 - Prata, 3 - Ouro). Use o escolha para exibir qual o desconto de cada um: Bronze (5%), Prata (10%) ou Ouro (15%).
✅ Resultado Esperado
🔥 Desafio de Fixação (Opcional): Frete por Modal
Crie um programa que peça o peso da carga e o código do modal de transporte: 1. Terrestre (R$ 10/kg), 2. Aéreo (R$ 50/kg), 3. Marítimo (R$ 5/kg). Calcule e exiba o valor final do frete.
📤 Instruções de Entrega (Microsoft Teams)
Após validar seus códigos:
- No VisuAlg, não é necessário o comando “pare” entre os casos.
- Salve os arquivos com a extensão
.alg(Ex:Atividade_08_SeuNome.alg). - Envie no Microsoft Teams na tarefa “VisuAlg Cap 08 - Seleção Múltipla”.