Capítulo 08: Decisões Encadeadas e Seleção Múltipla
🎯 Objetivo da Aula
Nos sistemas empresariais, as opções disponíveis para o usuário frequentemente ultrapassam a escolha simples entre dois caminhos. Um centro de distribuição possui dezenas de docas especializadas, e cada tipo de carga precisa ser direcionado com base em seu código de classificação fiscal. No Scratch, construímos rotas de seleção múltipla através de Condicionais Encadeadas (Aninhadas).
Ao final desta aula, você será capaz de:
- Compreender o conceito de Aninhamento Condicional (Nested If-Else).
- Simular estruturas de Menu de Opções e Escolha/Caso (Switch/Case) utilizando blocos
se então senãoem cascata. - Garantir o tratamento seguro da cláusula padrão (Default / Opção Inválida).
- Construir o Roteador Inteligente de Docas de Descarregamento da FastLog.
📥 Material de Apoio e Roteiro de Blocos:
- 📄 Roteiro Estruturado (.txt): Baixar Capitulo_08.txt (guia textual com a sequência de blocos)
- 📦 Exercícios Separados (.zip): Baixar Capitulo_08.zip
🏢 O Cenário Prático (Seu Desafio)
Situação: O pátio de triagem da FastLog recebe carretas com perfis de carga completamente distintos:
- Código
1(Alimentos Perecíveis / Frios): Deve ir para a Doca 1 (Câmara Frigorífica). - Código
2(Eletrônicos e Medicamentos de Alto Valor): Deve ir para a Doca 2 (Cofre / Alta Segurança). - Código
3(Carga Seca Geral e Embalagens): Deve ir para a Doca 3 (Galpão Geral). - Qualquer outro número: Sistema deve alertar: “Código de Doca Inexistente! Pare o veículo na guarita.”.
Missão: Programar a triagem automática de veículos no Scratch, direcionando o motorista e alterando a fantasia do caminhão com base no código digitado.
🧠 Fundamentos: Como Montar Condicionais em Cascata no Scratch?
1. O Encaixe de um Bloco Dentro do Outro
Para criar três ou mais caminhos no Scratch, colocamos um novo bloco 🟠 se então senão dentro da “boca” do senão do bloco anterior:
graph TD
A["Início: Captura Código da Carga"] --> B{"Código = 1?"}
B -- "SIM" --> C["Doca 1: Alimentos Frigorificados"]
B -- "NÃO" --> D{"Código = 2?"}
D -- "SIM" --> E["Doca 2: Eletrônicos (Alta Segurança)"]
D -- "NÃO" --> F{"Código = 3?"}
F -- "SIM" --> G["Doca 3: Carga Seca Geral"]
F -- "NÃO" --> H["ALERTA: Código Inválido!"]
style B fill:#f39c12,stroke:#fff,color:#fff
style C fill:#27ae60,stroke:#fff,color:#fff
style D fill:#e67e22,stroke:#fff,color:#fff
style E fill:#2980b9,stroke:#fff,color:#fff
style F fill:#d35400,stroke:#fff,color:#fff
style G fill:#8e44ad,stroke:#fff,color:#fff
style H fill:#c0392b,stroke:#fff,color:#fff2. A Importância da Última Porta: O Tratamento de Erros
O último senão da pilha nunca deve ser deixado em branco. Ele funciona como uma Rede de Proteção: se o operador digitar por engano o número 9 ou uma letra qualquer, o sistema não ficará travado em silêncio; ele emitirá o alerta de código incorreto.
📖 Exemplo Guiado: Roteador de Docas da FastLog
Passo a Passo no Scratch 3.0:
- Crie a variável:
Codigo_Carga. - Adicione o ator
Painel_Triageme insira o script abaixo:
🛠️ Prática Obrigatória 1: Menu de Operações do Almoxarifado
O Desafio:
Crie um menu interativo para o atendente do armazém:
- Opção
1: Consultar Saldo de Paletes. - Opção
2: Registrar Entrada de Mercadoria. - Opção
3: Solicitar Manutenção de Empilhadeira. - Outra Opção:
"Opção inexistente no menu do terminal.". Programe o ator para exibir uma mensagem específica para cada opção escolhida.
🛠️ Prática Obrigatória 2: Tarifador de Modais de Envio
Crie um sistema que calcule o custo de envio de 100 kg com base no modal selecionado:
- Pergunte:
[Escolha o modal de transporte (1-Rodoviário | 2-Ferroviário | 3-Aéreo):]. - Se
1: Custo de R$ 150,00 e prazo de 3 dias. - Se
2: Custo de R$ 80,00 e prazo de 7 dias (Mais econômico para grãos). - Se
3: Custo de R$ 450,00 e prazo de 24 horas (Expresso). - Senão: Alerte que o modal não opera na região.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo do projeto com o nome:
Atividade_08_SeuNome_SeuSobrenome.sb3. - Teste todas as 4 opções (1, 2, 3 e uma opção inválida como 99).
- No Microsoft Teams, envie na tarefa “Scratch Cap 08 - Decisões Encadeadas”.
- Clique em Entregar (Turn In).
💡 Checkpoint de Lógica & Engenharia de Software
Você acabou de aplicar o conceito de Roteamento em Árvore de Decisão (Decision Trees). Em sistemas de inteligência de negócios (Business Intelligence e Machine Learning), árvores de decisão como essa são usadas para aprovar limites de crédito, prever churn de clientes e otimizar frotas de distribuição.
🔥 Desafio de Fixação: Classificador de Severidade de Avarias
Pergunte a nota de avaria da embalagem de 1 a 4:
1: Avaria Leve (Reparo de fita stretch).2: Avaria Média (Troca da caixa de papelão).3: Avaria Grave (Devolução imediata ao remetente).4: Avaria Crítica (Acionamento de perito de seguro).- Outro: Código não reconhecido.
🔑 Gabarito de Código (Blocos do Scratch)
Prática 1:
Prática 2:
Desafio:
📥 Download do Roteiro Completo desta Aula:
Baixe o arquivo consolidado Capitulo_08.txt ou o pacote compactado (.zip) com os scripts e desafios da aula.
📝 Atividade Extra: Questionário de Fixação (Caderno)
Instruções: Responda no caderno, de próprio punho, as 10 perguntas abaixo com base no que foi estudado neste capítulo. Ao concluir, leve o caderno até o professor para correção e visto.
- Como se constrói uma terceira (ou mais) opção de caminho no Scratch, encaixando blocos
se então senão? - Por que o último
senãoda pilha nunca deve ser deixado em branco, segundo o capítulo? - No Exemplo Guiado, para qual doca (número) vai a carga com Código
1? - No Exemplo Guiado, o que o sistema deve responder se o operador digitar um código diferente de 1, 2 ou 3?
- Na Prática Obrigatória 1, quais são as três opções do menu do almoxarifado?
- Na Prática Obrigatória 2, qual é o custo do frete (em R$) e o prazo (em dias) do modal “Ferroviário”?
- Segundo o Checkpoint, em que área da computação (relacionada a negócios) árvores de decisão como essa são usadas?
- No Exemplo Guiado, quantos blocos
se então senãoestão aninhados um dentro do outro para tratar os 3 códigos de doca mais o caso inválido? - Segundo o Cenário Prático, o que deve ser feito quando a carreta chega com um código de doca que não seja 1, 2 ou 3?
- Na Prática Obrigatória 2, qual é o modal de transporte mais caro e mais rápido, e qual é o seu custo (R$) e prazo?