Capítulo 07: Operadores Lógicos e Portas Booleanas (E, OU, NÃO)
🎯 Objetivo da Aula
No mundo real, uma decisão raramente depende de um único fator isolado. Uma carreta de alto valor não é liberada para cruzar a rodovia apenas porque o motorista tem carteira válida: ela precisa ao mesmo tempo ter a apólice de seguro aprovada E o rastreador via satélite ativo. No Scratch, combinamos múltiplos testes utilizando os Operadores Lógicos Booleanos.
Ao final desta aula, você será capaz de:
- Compreender o funcionamento das Portas Lógicas na computação: Conjunção (
e), Disjunção (ou) e Negação (não). - Dominar o uso dos blocos hexagonais verdes:
<[ ] e [ ]>(Ambas as condições precisam ser verdadeiras).<[ ] ou [ ]>(Basta uma das condições ser verdadeira).<não [ ]>(Inverte o resultado do teste).
- Construir um Validador de Checklist de Viagem Noturna e Segurança de Carga.
📥 Material de Apoio e Roteiro de Blocos:
- 📄 Roteiro Estruturado (.txt): Baixar Capitulo_07.txt (guia textual com a sequência de blocos)
- 📦 Exercícios Separados (.zip): Baixar Capitulo_07.zip
🏢 O Cenário Prático (Seu Desafio)
Situação: A equipe de gerenciamento de risco da FastLog estabeleceu regras rígidas para a saída de caminhões com Cargas Especiais:
- Regra 1 (Conjunção E): Para liberar a saída, o veículo precisa ter o Lacre Intacto (
sim) E o Rastreador Ligado (sim). Se faltar qualquer um dos dois, a cancela não abre! - Regra 2 (Disjunção OU): Se a carga for de produtos perigosos, o motorista precisa ter o Curso MOPP (
sim) OU estar acompanhado de um Instrutor Técnico (sim).
Missão: Programar o sistema de auditoria na guarita de segurança da FastLog utilizando expressões booleanas compostas.
🧠 Fundamentos: As Portas Lógicas no Scratch
1. O Operador Conjunção: <[ ] e [ ]>
Exige que todas as partes sejam verdadeiras simultaneamente:
| Condição A | Condição B | Resultado de <(A) e (B)> | Ação no Pátio |
|---|---|---|---|
| Verdadeiro | Verdadeiro | VERDADEIRO | ✅ Cancela abre! |
| Verdadeiro | Falso | FALSO | ❌ Bloqueado (falta B). |
| Falso | Verdadeiro | FALSO | ❌ Bloqueado (falta A). |
| Falso | Falso | FALSO | ❌ Bloqueado total. |
2. O Operador Disjunção: <[ ] ou [ ]>
Basta que pelo menos uma das condições seja verdadeira para que o bloco seja executado:
graph TD
A["Início: Teste de Escolta ou Blindagem"] --> B{"<(Tem_Blindagem = 'sim') ou (Tem_Escolta = 'sim')>"}
B -- "Pelo menos um SIM" --> C["LIBERADO: Nível de segurança aceitável."]
B -- "Ambos NÃO" --> D["BLOQUEIO: Risco crítico de sinistro!"]
style B fill:#f39c12,stroke:#fff,stroke-width:2px,color:#fff
style C fill:#27ae60,stroke:#fff,stroke-width:2px,color:#fff
style D fill:#c0392b,stroke:#fff,stroke-width:2px,color:#fff3. O Operador Negação: <não [ ]>
Inverte a polaridade do resultado:
- Se o teste for falso,
<não [falso]>se transforma em Verdadeiro. - Exemplo logístico:
<não <tocando em [cancela]?>>significa “enquanto não estiver encostando na cancela”.
📖 Exemplo Guiado: Checklist de Saída da Portaria
Passo a Passo no Scratch 3.0:
- Crie as variáveis:
Lacre_OkeRastreador_Ok. - Adicione o ator
Auditor_Segurançae monte o script:
🛠️ Prática Obrigatória 1: Autorização de Transporte de Produtos Perigosos
O Desafio:
Para conduzir um caminhão-tanque de combustível da FastLog:
- Pergunte se o motorista possui a certificação especial MOPP:
[Possui certificado MOPP? (sim/nao):]e salve emTem_MOPP. - Pergunte se o caminhão possui extintor de incêndio pressurizado:
[Extintor inspecionado? (sim/nao):]e salve emExtintor_Ok. - Use o operador
<[ ] e [ ]>:- Se possuir MOPP E o extintor estiver ok: Exiba
[TRANSPORTE PERIGOSO AUTORIZADO]com som de aprovação. - Senão: Exiba
[VIOLAÇÃO DE NORMAS AMBIENTAIS: Caminhão retido no box de segurança!].
- Se possuir MOPP E o extintor estiver ok: Exiba
🛠️ Prática Obrigatória 2: Acesso Preferencial por Tag ou Emergência
Crie um sistema de cancela automática com o operador <[ ] ou [ ]>:
- Crie as variáveis
Tem_Tag_PedagioeVeiculo_Emergencia. - Pergunte se o veículo possui a Tag eletrônica da FastLog (
sim/nao). - Pergunte se é um veículo de emergência/ambulância (
sim/nao). - Se
Tem_Tag_Pedagio = 'sim'OUVeiculo_Emergencia = 'sim':- A cancela abre imediatamente:
diga [FAIXA EXPRESSA LIBERADA: Siga em frente sem parar.].
- A cancela abre imediatamente:
- Senão:
diga [PARE: Dirija-se à cabine de atendimento manual para pesagem.].
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo do projeto com o nome:
Atividade_07_SeuNome_SeuSobrenome.sb3. - Teste todas as 4 combinações possíveis (sim/sim, sim/nao, nao/sim, nao/nao).
- No Microsoft Teams, envie na tarefa “Scratch Cap 07 - Operadores Lógicos”.
- Clique em Entregar (Turn In).
💡 Checkpoint de Lógica & Engenharia de Software
Você acabou de aplicar os conceitos de Álgebra Booleana de George Boole (1854). Esses mesmos blocos lógicos são a fundação física de todas as portas eletrônicas (AND, OR, NOT) existentes nos processadores Intel, AMD e Apple Silicon modernos.
🔥 Desafio de Fixação: Validação de Três Condições Aninhadas
Para uma carreta bitrem viajar à noite, são exigidos:
(Descanso_Motorista = 'sim') E (Clima_Bom = 'sim') E (Pressao_Pneus = 'sim').
Encaixe dois blocos <[ ] e [ ]> (um dentro do outro) para avaliar as 3 regras simultaneamente!
🔑 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_07.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.
- O que o operador
<[ ] e [ ]>exige para que o resultado final seja Verdadeiro? - O que o operador
<[ ] ou [ ]>exige para que o resultado final seja Verdadeiro? - O que o operador
<não [ ]>faz ao resultado de um teste? - No Exemplo Guiado, quais são os nomes das duas variáveis criadas para o checklist de saída da portaria?
- No Exemplo Guiado, quais duas condições precisam ser “sim” simultaneamente para a “AUDITORIA APROVADA”?
- Na Prática Obrigatória 1, quais dois requisitos, combinados com o operador
e, autorizam o “TRANSPORTE PERIGOSO”? - Na Prática Obrigatória 2, quais duas condições, combinadas com o operador
ou, liberam a “FAIXA EXPRESSA”? - Segundo o Checkpoint, quem formulou a Álgebra Booleana, e em que ano?
- Segundo o Checkpoint, que tipo de processadores modernos foram citados como exemplo de porta lógica física AND/OR/NOT?
- No Exemplo Guiado, que valor é usado no bloco
mude o efeito [cor v] parapara indicar a aprovação (cor verde) da auditoria?