Módulo 7 - E, OU e NÃO desenhados
Combinando tudo: parênteses e prioridade
9 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 02/07/2026
O que você vai aprender
- Aplicar a ordem de prioridade: primeiro NÃO, depois E, por último OU.
- Prever o resultado de expressões mistas com e sem parênteses.
- Usar parênteses para tornar a intenção explícita, mesmo quando opcionais.
- Reescrever condições confusas em versões legíveis.
Ouvir o resumo desta aula
Um recap de cerca de 2 minutos na voz do Valim, para ouvir no trânsito ou na academia.
Ler a transcrição do resumo
Resumo da aula: Combinando tudo: parênteses e prioridade.
Os objetivos desta aula. Aplicar a ordem de prioridade: primeiro NÃO, depois E, por último OU. Prever o resultado de expressões mistas com e sem parênteses. Usar parênteses para tornar a intenção explícita, mesmo quando opcionais. Reescrever condições confusas em versões legíveis.
Veja o essencial, parte por parte.
A ordem que o computador segue (goste você ou não). Sem parênteses, a ordem é fixa: NÃO primeiro, E depois, OU por último.
Prevendo expressões mistas, passo a passo. O método seguro para ler qualquer expressão mista tem três passos.
O estilo profissional: condições que se leem sozinhas. Parênteses não são sinal de insegurança; são gentileza com quem lê. O computador dispensa, o humano agradece.
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
A ordem que o computador segue (goste você ou não)
Você já conhece esse filme da matemática: 2 + 3 x 4 dá 14, não 20, porque a multiplicação fala mais alto que a soma. A lógica herdou o costume. Quando uma condição mistura operadores sem parênteses, o computador não lê da esquerda para a direita como a gente lê texto: ele resolve primeiro todos os NÃO, depois os E, e só então os OU. Não é capricho: E se comporta como multiplicação de valores lógicos e OU como soma, e a hierarquia veio junto da álgebra que fundamenta os dois.
Olhe com calma o exemplo do desenho, porque ele é um bug clássico de portaria. A regra “tem_ingresso OU tem_convite E e_socio”, sem parênteses, deixa entrar QUALQUER pessoa com ingresso, sócia ou não, porque o computador agrupa “(tem_convite E e_socio)” primeiro e o ingresso vira porta independente. Se a intenção do clube era exigir sócio SEMPRE, a condição certa seria “(tem_ingresso OU tem_convite) E e_socio”. Uma dupla de parênteses separa a festa tranquila da confusão na porta.
Prevendo expressões mistas, passo a passo
O método seguro para ler qualquer expressão mista tem três passos. Primeiro, desenhe os parênteses invisíveis que a prioridade cria: circule os NÃO com seus alvos, depois agrupe os E, e o que sobrar são OUs ligando blocos. Segundo, avalie cada bloco de dentro para fora, como na tabela-verdade. Terceiro, desconfie do resultado: se a leitura em voz alta soa diferente da intenção da regra, os parênteses estão no lugar errado (ou faltando).
// chove = V, tem_carona = F, tem_guarda_chuva = V
// Expressão: NÃO chove OU tem_carona E tem_guarda_chuva
// Passo 1 (parênteses invisíveis): (NÃO chove) OU (tem_carona E tem_guarda_chuva)
// Passo 2: (NÃO V) OU (F E V) -> F OU F -> F
// Com parênteses explícitos mudando a intenção:
// NÃO (chove OU tem_carona) E tem_guarda_chuva
// (NÃO (V OU F)) E V -> (NÃO V) E V -> F E V -> F
// Mesmo resultado aqui, mas por caminhos DIFERENTES: nem sempre coincide!Os parênteses invisíveis da prioridade, desenhados antes de avaliar. O hábito evita sustos.
🎮 Jogo da aula
A festa do clube
João tem ingresso, não tem convite e NÃO é sócio. O porteiro-robô avalia a condição abaixo. O que acontece?
ingresso <- V
convite <- F
socio <- F
se ingresso OU convite E socio então
escreva("Pode entrar")
senão
escreva("Entrada negada")
fimVale registrar o que o jogo demonstra: o computador não errou, a condição é que dizia outra coisa. É a regra número 1 do módulo 1 voltando com força: execução literal. Em condição composta, a distância entre o que você QUIS dizer e o que ESTÁ escrito se mede em parênteses. Por isso o hábito profissional é generoso com eles: até quando a prioridade já faria o certo, o parêntese conta ao próximo leitor qual era a intenção.
O estilo profissional: condições que se leem sozinhas
Fechando o módulo, três hábitos de gente grande. Primeiro: parênteses sempre que E e OU dividem a mesma condição, sem exceção, mesmo quando redundantes. Segundo: se a condição passou de duas ou três partes, dê nomes aos pedaços com variáveis lógicas intermediárias: “cliente_vip <- compras >= 10 E cadastro_completo”, e a condição final vira “cliente_vip OU convidado”. Terceiro: leia em voz alta; se você tropeçou falando, o próximo programador vai tropeçar lendo, e o próximo programador costuma ser você daqui a seis meses.
Condição que dá manutenção
- se NÃO bloqueado E compras >= 10 E cadastro = V OU convidado = V então
- Uma linha, quatro operadores, zero parênteses: cada leitor entende uma coisa.
Condição que se lê sozinha
- elegivel <- (NÃO bloqueado) E compras >= 10 E cadastro = V
- se elegivel OU convidado = V então
- Pedaços nomeados: a intenção vira código.
Parênteses não são sinal de insegurança; são gentileza com quem lê. O computador dispensa, o humano agradece.
Teste rápido
Sem parênteses, como o computador lê a condição “A OU B E C”?
Perguntas frequentes
- A prioridade NÃO > E > OU vale em todas as linguagens?
- Nas principais, sim: Python (not, and, or), JavaScript (!, &&, ||), SQL (NOT, AND, OR) e as demais linguagens populares seguem essa hierarquia. Mesmo assim, o estilo profissional usa parênteses em condições mistas, porque legibilidade vale mais que confiança na memória.
- Por que o E vem antes do OU e não o contrário?
- Herança da álgebra booleana: o E se comporta como multiplicação (V=1, F=0: V E F = 1x0 = 0) e o OU como soma. A matemática já dava prioridade à multiplicação, e a lógica manteve a tradição. A analogia também ajuda a lembrar: E multiplica exigências, OU soma alternativas.
- Parênteses demais deixam o código lento?
- Não. Parênteses orientam a leitura da expressão antes de o programa rodar; o custo em velocidade é zero. O que parênteses de menos podem custar é um bug de produção, que sai bem mais caro que qualquer caractere extra.
- Como quebro uma condição gigante sem mudar o comportamento?
- Crie variáveis lógicas intermediárias com nomes que contam a história: “documentos_ok”, “dentro_do_horario”, “cliente_vip”. Atribua cada pedaço e monte a condição final com dois ou três nomes. A tabela-verdade da aula anterior serve para provar que a versão quebrada é equivalente à original.
- O que são as leis de De Morgan que citaram na aula do NÃO?
- As duas regras de distribuir o NÃO: NÃO (A E B) = (NÃO A) OU (NÃO B), e NÃO (A OU B) = (NÃO A) E (NÃO B). Repare que o NÃO entra e TROCA o operador. São úteis para reescrever condições negadas em versões positivas mais legíveis, e dá para conferi-las com uma tabela-verdade de 4 linhas.
- Numa condição com vários E e vários OU, por onde começo a ler?
- Desenhe os parênteses invisíveis: primeiro amarre cada NÃO ao seu alvo, depois agrupe as sequências de E em blocos, e por fim leia os OU ligando os blocos. Avalie de dentro para fora. Com o hábito, esse desenho acontece de cabeça em segundos.
Fontes
Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.