VisuAlg Web

Operadores Lógicos no Portugol e VisuAlg

Entenda E, OU, NÃO e XOU no Portugol e VisuAlg: tabelas verdade, precedência, exemplos executáveis, erros comuns e exercício prático.

Operadores lógicos combinam ou invertem condições e retornam verdadeiro ou falso. No Portugol do VisuAlg, e exige duas condições verdadeiras, ou aceita pelo menos uma, nao inverte uma condição e xou aceita exatamente uma condição verdadeira.

Sintaxe dos operadores lógicos

Escreva (condicao1) e (condicao2), (condicao1) ou (condicao2), nao (condicao) ou (condicao1) xou (condicao2). As palavras-chave no código não usam acentos: escrevemos nao, embora a explicação use NÃO.

Tabelas verdade de E, OU e XOU

V significa verdadeiro; F significa falso.
ABA e BA ou BA xou B
VVVVF
VFFVV
FVFVV
FFFFF
Tabela verdade de NÃO
Anao A
VF
FV

Exemplo: verificar dois critérios com E

Para entrar em um brinquedo, a pessoa precisa atender ao limite de idade e ao de altura. Modifique um dos valores e execute novamente para comparar a saída.

Exemplo de códigoVisuAlg
algoritmo "ParqueDeDiversoes"

var
  idade: inteiro
  altura: real
  podeBrincar: logico

inicio
  idade <- 14
  altura <- 1.60

  // O E exige que os DOIS lados sejam verdadeiros
  podeBrincar <- (idade >= 12) E (altura >= 1.50)
  escreval("Pode entrar na Montanha Russa? ", podeBrincar)

fimalgoritmo

Precedência e parênteses

Os parênteses definem o agrupamento; nao tem prioridade entre os operadores lógicos. No VisuAlg Web, e, ou e xou são avaliados no mesmo nível, da esquerda para a direita. Ao misturar operadores, use parênteses para tornar explícita a regra desejada, como (idade >= 12) e ((altura >= 1.50) ou (acompanhado)).

Exemplo de XOU e NÃO

xou representa uma escolha exclusiva: duas condições verdadeiras produzem falso. nao troca verdadeiro por falso e falso por verdadeiro. Execute o exemplo e mude uma variável por vez.

Exemplo de códigoVisuAlg
algoritmo "LogicaXor"

var
  dinheiro, cartao: logico

inicio
  dinheiro <- verdadeiro
  cartao <- verdadeiro

  // XOU exige exatamente uma opção verdadeira.
  escreval("Pagou com exclusividade? ", dinheiro xou cartao)

  // Invertendo uma verdade com NAO
  escreval("Estou sem dinheiro? ", nao dinheiro)

fimalgoritmo

Exercício de operadores lógicos

Crie um algoritmo que leia a renda e use uma variável lógica para indicar uma pendência. Mostre se o empréstimo é autorizado quando (renda > 2000) e (nao temPendencia). Antes de executar, preveja a saída para cada combinação de condições.

Erros comuns e próximo passo

  • Usar ou quando todos os critérios precisam ser atendidos: nessa situação, use e.
  • Confundir OU com XOU: OU também aceita duas condições verdadeiras.
  • Inverter apenas parte do teste: use nao (condicao) para deixar claro o que será negado.

Pratique com uma regra que autorize um empréstimo quando a renda for maior que 2000 e não houver pendência. Teste os quatro pares de condições. Revise comparações e avance para condicionais com SE. Os exercícios de condicionais ajudam a aplicar a regra.