🧠 Unindo Condições: Operadores Lógicos

Até agora, nossas decisões eram baseadas em apenas uma pergunta (Ex: “A idade é maior que 18?”). Mas e se precisarmos de várias condições atendidas ao mesmo tempo?

Por exemplo: Para tirar a habilitação, não basta ter 18 anos. É preciso também ter as horas teóricas E as horas práticas.

🏛️ O Problema do Encadeamento (Nested Ifs)

Sem operadores lógicos, seu código vira um “emaranhado” de chaves, dificultando a leitura e a manutenção. Veja este exemplo de uma autoescola:

❌ Código “Emaranhado” (Sem Operadores Lógicos)

1
2
3
4
5
6
7
se (idade >= 18) {
    se (horasTeoricas >= 45) {
        se (horasPraticas >= 20) {
            escreva("Apto para o exame!")
        } senao { escreva("Faltam horas práticas.") }
    } senao { escreva("Faltam horas teóricas.") }
} senao { escreva("Menor de idade.") }

🛠️ A Solução: Operadores Lógicos

Os operadores lógicos permitem “fundir” essas perguntas em uma única linha, resultando em um único valor de Verdadeiro ou Falso.

OperadorSignificadoExemploRegra de Ouro
eConjunçãoidade >= 18 e cnh == "A"Tudo deve ser verdadeiro.
ouDisjunçãodia == "Sábado" ou dia == "Domingo"Pelo menos um deve ser verdadeiro.
naoNegaçãonao (clima == "Chuva")Inverte o resultado (V vira F).

✅ Código Limpo (Com Operador e)

1
2
3
4
5
se (idade >= 18 e horasTeoricas >= 45 e horasPraticas >= 20) {
    escreva("Apto(a) para a prova de Moto!")
} senao {
    escreva("Requisitos não preenchidos.")
}

🏁 Resumo do Capítulo

Os operadores lógicos simplificam drasticamente a arquitetura do seu código. No próximo capítulo, mergulharemos na Tabela Verdade, a ferramenta matemática que define exatamente como esses operadores se comportam! 🚀