Capítulo 07: Operadores Lógicos (E, OU, NÃO)

🎯 Objetivo da Aula

No mundo real, as decisões raramente dependem de uma única coisa. Nesta aula, você aprenderá sobre os Operadores Lógicos (cor verde). O objetivo é capacitar você a criar regras complexas no Scratch, combinando várias perguntas em um único bloco SE.


🏢 O Cenário Prático (Seu Desafio)

Situação: Para uma carga ser liberada na alfândega da FastLog, ela precisa passar por dois critérios simultâneos. Regra: O motorista precisa estar com o Cinto de Segurança E o Peso da Carga não pode ultrapassar 15.000 kg.

Missão: Criar um validador de liberação que verifique as duas condições ao mesmo tempo.


🧠 Fundamentos: A Teoria Traduzida

1. Operadores Lógicos (As Conexões)

Eles servem para “grudar” os hexágonos de comparação:

🎬 Exemplo 1: Cotidiano (Cinema)

  • [se ((tem ingresso) e (idade >= 16))] -> [Pode Entrar]

🚢 Exemplo 2: Técnico (Liberação de Embarque)

  • [se ((está de cinto) e (peso <= 15000))] -> [Liberar Caminhão]
graph TD
    A[Início] --> B{"Cinto? E Peso <= 15t?"}
    B -- "Sim (Ambos)" --> C[LIBERAR]
    B -- "Não (Algum falhou)" --> D[BARRAR]
    
    style B fill:#2ecc71,stroke:#fff,color:#fff
    style C fill:#2ecc71,stroke:#fff,color:#fff
    style D fill:#e74c3c,stroke:#fff,color:#fff

2. Os Blocos Verdes 🟢

  • [ ( ) e ( ) ]: Só acontece se os dois forem verdade.
  • [ ( ) ou ( ) ]: Acontece se pelo menos um for verdade.
  • [ não ( ) ]: Inverte a lógica (Verdade vira Falso).

🛠️ Mão na Massa: Atividade 07 - Portão de Segurança

Vamos programar a liberação combinada:

Passo 1: Preparação

  1. Crie uma variável Cinto_Ligado (use 1 para Sim e 0 para Não) e outra Peso_Carga.

Passo 2: O Código de Validação

Encaixe os blocos:

  1. 🟡 Eventos: [quando clicar em 🏁]
  2. 🔵 Sensores: [pergunte "O cinto está ligado? (1 para Sim / 0 para Não)" e espere]
  3. 🟧 Variáveis: [mude Cinto_Ligado para (resposta)]
  4. 🔵 Sensores: [pergunte "Peso da carga?" e espere]
  5. 🟧 Variáveis: [mude Peso_Carga para (resposta)]
  6. 🟠 Controle: [se ( ( (Cinto_Ligado) = 1 ) e ( (Peso_Carga) < 15001 ) ) então] ⬅️ Use o bloco verde ’e'
    • 🟣 Aparência: [diga "STATUS: LIBERADO!" por 2 segundos]
  7. 🟠 Controle: [senão]
    • 🟣 Aparência: [diga "STATUS: RETIDO - Segurança ou Peso!" por 2 segundos]

✅ Resultado Esperado

  • Se digitar 1 e 12000 -> Liberado.
  • Se digitar 0 e 12000 -> Retido (segurança falhou).

📤 Instruções de Entrega (Microsoft Teams)

  1. Crie um sistema que peça se o motorista tem Crachá (1) OU se ele é Visitante Autorizado (1).
  2. Se qualquer um dos dois for verdadeiro, diga “Acesso Permitido”.
  3. Envie o print do código no Microsoft Teams na tarefa “Scratch Cap 07 - Operadores Lógicos”.

💡 Checkpoint de Lógica

  • Para TI (Álgebra Booleana): Operadores lógicos permitem criar filtros complexos em uma única linha. O e é restritivo, o ou é inclusivo.
  • Para ADM (Análise de Risco): Use o e para validar múltiplas condições simultâneas (ex: Renda mínima E Garantia aprovada).

🔥 Desafio de Fixação (ADM/TI)

Critério de Seleção: Um candidato só pode ser contratado se tiver idade >= 18 E formacao_concluida = verdadeiro. Crie o programa que valide essa contratação.


🔑 Gabarito de Lógica (Blocos)

Acesso:

  • [se ( ( (cracha) = 1 ) ou ( (visitante) = 1 ) ) então]
  • [diga "Acesso Permitido" por 2 segundos]
  • [senão]
  • [diga "Acesso Negado" por 2 segundos]