Capítulo 07: Operadores Lógicos e Portas Booleanas (E, OU, NAO)
🎯 Objetivo da Aula
Em auditorias de conformidade (Compliance) e triagem de segurança, quase nunca avaliamos uma única regra isolada. Para liberar um caminhão para uma viagem noturna, por exemplo, o veículo precisa estar rastreado E o motorista precisa estar descansado OU possuir um segundo condutor de revezamento.
Nesta aula, você aprenderá a:
- Compreender a Álgebra Booleana e o funcionamento das Tabelas-Verdade.
- Dominar a conjunção
e(AND), a disjunçãoou(OR) e a negaçãonao(NOT) no Portugol Studio. - Utilizar Parênteses de Agrupamento para definir a precedência exata de testes compostos.
- Construir filtros rigorosos de auditoria operacional.
📥 Material de Apoio e Código-Fonte da Aula:
- 📄 Arquivo Pronto (.por): Baixar Capitulo_07.por (abra diretamente no Portugol Studio)
- 📦 Exercícios Separados (.zip): Baixar Capitulo_07.zip
🏢 O Cenário Prático (Seu Desafio)
Situação: A diretoria da FastLog instituiu o Programa de Qualificação de Transportadores (Selo Ouro). Para receber o Selo Ouro, a transportadora parceira deve atender simultaneamente a três requisitos:
- Ter taxa de pontualidade maior ou igual a 90.0%.
- Ter índice de avarias menor ou igual a 2.0%.
- NÃO possuir nenhuma pendência jurídica ou fiscal ativa (
nao temPendenciaFiscal).
Missão: Você deve criar o programa de auditoria que avalie os três critérios em uma única expressão lógica e homologue ou reprove o parceiro comercial.
🧠 Fundamentos: As Tabelas-Verdade dos Operadores Booleanos
1. O Operador e (Conjunção / AND)
O operador e só resulta em verdadeiro se TODAS as condições forem verdadeiras ao mesmo tempo:
| Expressão A | Expressão B | A e B |
|---|---|---|
verdadeiro | verdadeiro | verdadeiro |
verdadeiro | falso | falso |
falso | verdadeiro | falso |
falso | falso | falso |
2. O Operador ou (Disjunção / OR)
O operador ou resulta em verdadeiro se PELO MENOS UMA das condições for verdadeira:
| Expressão A | Expressão B | A ou B |
|---|---|---|
verdadeiro | verdadeiro | verdadeiro |
verdadeiro | falso | verdadeiro |
falso | verdadeiro | verdadeiro |
falso | falso | falso |
3. O Operador nao (Negação / NOT)
O operador nao inverte o estado booleano (nao verdadeiro vira falso; nao falso vira verdadeiro).
graph TD
A["Expressão: (Pontualidade >= 90) e (Avarias <= 2) e (nao PendenciaFiscal)"] --> B{Avaliação Booleana}
B -- "Todos verdadeiro" --> C["Resultado: verdadeiro -> SELO OURO HOMOLOGADO!"]
B -- "Qualquer falso" --> D["Resultado: falso -> FORNECEDOR REPROVADO"]
style B fill:#8e44ad,stroke:#fff,color:#fff
style C fill:#27ae60,stroke:#fff,color:#fff
style D fill:#c0392b,stroke:#fff,color:#fff📖 Exemplo Guiado: Auditoria de Homologação de Parceiros
Código do Programa:
✅ Exemplo de Execução no Console (Shift + F6):
🛠️ Prática Obrigatória 1: Liberação de Cancela de Portaria
Passo 1: O Desafio
Crie um programa liberacao_cancela.por que avalie as regras:
Um caminhão só pode cruzar a cancela se:
- O lacre estiver conferido (
lacreConferido == verdadeiro) E - Possuir Nota Fiscal (
temNotaFiscal == verdadeiro) OU autorização da diretoria (autorizacaoDiretoria == verdadeiro).
✅ Resultado Esperado (Prática 1):
🛠️ Prática Obrigatória 2: Detector de Risco Noturno
Um alerta de perigo deve ser emitido se o caminhão estiver trafegando em horário noturno (hora >= 22 ou hora < 5) E transportando carga de alto valor (valor > 50000) E com rastreador desligado (nao rastreadorLigado).
Crie o programa detector_risco.por que emita o alarme de segurança.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_07_SeuNome_SeuSobrenome.por. - Teste diferentes combinações booleanas para validar o circuito lógico.
- No Microsoft Teams, envie na tarefa “Portugol Cap 07 - Operadores Lógicos”.
- Clique em Entregar (Turn In).
💡 Checkpoint de Lógica & Engenharia de Software
Você acabou de dominar as Portas Lógicas Digitais. Em sistemas de segurança cibernética (Firewalls e autenticação de dois fatores - 2FA), expressões lógicas compostas são utilizadas para interceptar ataques e autorizar acessos com precisão de milissegundos.
🔥 Desafio de Fixação: Validador de Triângulos
Crie um programa que receba os 3 lados de um triângulo e verifique se as medidas formam um triângulo válido (a soma de dois lados deve ser sempre maior que o terceiro lado). Se for válido, informe se é Equilátero (3 lados iguais), Isósceles (2 lados iguais) ou Escaleno (3 lados diferentes).
🔑 Gabarito de Código Completo
Prática 1:
Prática 2:
Desafio:
📝 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.
- Segundo a tabela-verdade do operador
e, quando o resultado éverdadeiro? - Segundo a tabela-verdade do operador
ou, quando o resultado éfalso? - O que faz o operador
naoa uma expressão booleana? Qual o resultado denao verdadeiro? - Quais são os três critérios que uma transportadora parceira deve atender simultaneamente para receber o “Selo Ouro”, segundo o Cenário Prático?
- No Exemplo Guiado, como a variável
homologadocombina os três critérios de auditoria (que operadores lógicos conectam as três condições)? - Na Prática Obrigatória 1 (Liberação de Cancela de Portaria), quais condições devem ser combinadas com
Ee quais devem ser combinadas comOUpara liberar a passagem do caminhão? - Na Prática Obrigatória 2 (Detector de Risco Noturno), quais três condições, combinadas com o operador
E, disparam o alarme de segurança? - No código do Exemplo Guiado, para que servem os parênteses ao redor de cada condição na expressão que calcula
homologado? - Segundo o Checkpoint de Lógica, em que tipo de sistemas de segurança (citados no texto) as expressões lógicas compostas são usadas para interceptar ataques e autorizar acessos?
- Na expressão do Exemplo Guiado, o que a parte
nao temPendenciaFiscalavalia?