Formulário de contato

Nome

E-mail *

Mensagem *

Imagem

VisualG: Entenda os Operadores Lógicos e Como Usá-los

VisualG: Entenda os Operadores Lógicos e Como Usá-los

Publicado por em


@CanalQb no YouTube


VisualG: Entenda os Operadores Lógicos e Como Usá-los

Leitura: ~9 min | Atualizado: July 2026

TL;DR — Resumo Executivo

  • Guia modernizado com base no conteúdo original do @CanalQb para VisualG: Entenda os Operadores Lógicos e Como Usá-los.
  • Mantive o sentido original, organizei a estrutura e adicionei FAQ e headers para leitura.
  • Valide datas, regras e links oficiais, pois partes do contexto original podem ter mudado.

Nota Técnica: Tutoriais e automações são estritamente educacionais. Teste sempre em ambiente controlado antes de reproduzir. O @CanalQb não se responsabiliza por danos decorrentes do uso indevido.

VisualG: Entenda os Operadores Lógicos e Como Usá-los — ponto de partida

A maioria começa pelo óbvio e ignora o detalhe que realmente trava o resultado. Este guia foi modernizado sem perder o conteúdo original do @CanalQb: a ordem, os riscos e as verificações foram mantidos para reduzir retrabalho.

Se o contexto específico tiver expirado, use esta estrutura como base lógica. O que costuma mudar são prazos, endpoints e regras oficiais; o que permanece é o método para executar sem perder o controle.



@CanalQb no YouTube


VisualG: Entenda os Operadores Lógicos e Como Usá-los

Leitura: ~11 min

TL;DR

  • Três operadores lógicos no VisualG: e (E), ou (OU), nao (NÃO) — todos operam sobre valores lógicos (verdadeiro/falso).
  • A precedência lógica é: nao primeiro, depois e, depois ou — use parênteses para garantir a ordem desejada.
  • Tabela verdade do e: só verdadeiro se ambos forem verdadeiros. Tabela verdade do ou: só falso se ambos forem falsos.

Nota Técnica: Este guia cobre os operadores lógicos do VisualG 3.0. Diferente de linguagens como C (&&, ||, !) ou Python (and, or, not), o VisualG usa palavras em português: e, ou, nao.

O operador que mais reprova em lógica de programação não é aritmético nem relacional — é o e mal aplicado numa condição composta.

Operadores lógicos parecem simples no papel: e, ou, nao. Na prática, a dificuldade surge quando você precisa combinar múltiplas condições. Um exemplo clássico: "se nota >= 7 e frequencia >= 75%" parece certo, mas e se o aluno tem nota 10 e frequencia 74%? Aprovado? Reprovado? A resposta está na tabela verdade do e: se uma condição é falsa, o resultado é falso. O aluno está reprovado. Depois de corrigir exercícios de centenas de alunos aqui no @CanalQb, o padrão ficou claro: o erro mais comum não é no operador em si, mas na ausência de parênteses para agrupar as condições corretamente.

Quais sao os operadores logicos do VisualG?

OperadorSignificadoEquivalente em CExemplo
eE lógico (AND)&&x > 0 e x < 10
ouOU lógico (OR)||x < 0 ou x > 10
naoNÃO lógico (NOT)!nao (x = 0)

Tabela verdade do operador "e"

O e retorna verdadeiro apenas quando AMBAS as condições são verdadeiras.

Condição ACondição BA e B
verdadeiroverdadeiroverdadeiro
verdadeirofalsofalso
falsoverdadeirofalso
falsofalsofalso
// Verificar se o numero esta entre 0 e 100 se numero >= 0 e numero <= 100 entao escreval("Numero valido") senao escreval("Numero fora da faixa") fimse

Tabela verdade do operador "ou"

O ou retorna falso apenas quando AMBAS as condições são falsas.

Condição ACondição BA ou B
verdadeiroverdadeiroverdadeiro
verdadeirofalsoverdadeiro
falsoverdadeiroverdadeiro
falsofalsofalso
// Verificar se o usuario e admin OU moderador se cargo = "admin" ou cargo = "moderador" entao escreval("Acesso ao painel liberado") senao escreval("Acesso negado") fimse

Tabela verdade do operador "nao"

O nao inverte o valor lógico: verdadeiro vira falso, falso vira verdadeiro.

Condiçãonao (Condição)
verdadeirofalso
falsoverdadeiro
// Verificar se o usuario NAO e admin se nao (cargo = "admin") entao escreval("Acesso restrito a administradores") fimse // Equivalente sem o nao: se cargo <> "admin" entao escreval("Acesso restrito a administradores") fimse

Qual a precedencia dos operadores logicos?

A ordem de avaliação no VisualG é: nao primeiro, depois e, depois ou. Parênteses sempre forçam a ordem desejada.

// Sem parenteses - pode dar resultado inesperado se idade > 18 e cargo = "admin" ou cargo = "moderador" entao // Interpretado como: (idade > 18 e cargo = "admin") ou cargo = "moderador" fimse // Com parenteses - explicito e seguro se idade > 18 e (cargo = "admin" ou cargo = "moderador") entao // So permite acesso se for maior de idade E tiver cargo admin ou moderador fimse

Exemplo pratico: sistema de emprestimo

algoritmo "sistema_emprestimo" var idade: inteiro renda: real nome_limpo: logico inicio escreva("Idade: ") leia(idade) escreva("Renda mensal: ") leia(renda) escreva("Nome limpo? (verdadeiro/falso): ") leia(nome_limpo) se idade >= 18 e idade <= 65 e renda >= 2000 e nome_limpo entao escreval("Emprestimo aprovado") senao escreval("Emprestimo negado") fimse fimalgoritmo

Erros comuns

  • Usar "e" em vez de "ou" em alternativas: se cargo = "admin" e cargo = "moderador" — isso nunca será verdade, um cargo não pode ser ambos ao mesmo tempo
  • Esquecer parênteses em condições mistas: operadores lógicos e relacionais juntos sem parênteses geram precedência errada
  • Usar "=" em vez de "e" em condições: se x = 5 e 10 — o VisualG espera expressões lógicas completas em ambos os lados
  • Nao usar "nao" com parênteses: se nao cargo = "admin" ao invés de se nao (cargo = "admin") — o VisualG pode interpretar errado

Resumo

  • e: verdadeiro se ambos verdadeiros
  • ou: falso se ambos falsos
  • nao: inverte o valor lógico
  • Precedência: nao > e > ou
  • Use parênteses sempre que combinar operadores

Exercícios práticos de lógica

Exercício 1: Ano bissexto

algoritmo "ano_bissexto" var ano: inteiro inicio escreva("Digite o ano: ") leia(ano) se (ano mod 400 = 0) ou ((ano mod 4 = 0) e (ano mod 100 <> 0)) entao escreval(ano, " eh bissexto") senao escreval(ano, " nao eh bissexto") fimse fimalgoritmo

Exercício 2: Triângulo válido

algoritmo "triangulo_valido" var a, b, c: real inicio escreva("Lado A: ") leia(a) escreva("Lado B: ") leia(b) escreva("Lado C: ") leia(c) se (a + b > c) e (a + c > b) e (b + c > a) entao escreval("Os lados formam um triangulo") senao escreval("Os lados NAO formam um triangulo") fimse fimalgoritmo

Exercício 3: Classificação de triângulo

algoritmo "classificar_triangulo" var a, b, c: real inicio escreva("Lado A: "); leia(a) escreva("Lado B: "); leia(b) escreva("Lado C: "); leia(c) se (a + b > c) e (a + c > b) e (b + c > a) entao se a = b e b = c entao escreval("Triangulo Equilatero") senao se a = b ou a = c ou b = c entao escreval("Triangulo Isosceles") senao escreval("Triangulo Escaleno") fimse fimse senao escreval("Nao forma triangulo") fimse fimalgoritmo

Leis de De Morgan no VisualG

As Leis de De Morgan são regras para simplificar expressões lógicas complexas. Elas dizem que negar uma condição composta equivale a inverter os operadores:

Expressão originalEquivalente (De Morgan)
nao (A e B)(nao A) ou (nao B)
nao (A ou B)(nao A) e (nao B)
// Exemplo pratico: // Em vez de: se nao (idade >= 18 e idade <= 60) entao // Use: se idade < 18 ou idade > 60 entao se idade < 18 ou idade > 60 entao escreval("Fora da faixa etaria") fimse

Tabela verdade completa combinando operadores

ABA e BA ou Bnao Anao Bnao (A e B)
VVVVFFF
VFFVFVV
FVFVVFV
FFFFVVV

Precedência entre operadores lógicos e relacionais

Quando operadores lógicos e relacionais aparecem juntos, o VisualG segue uma ordem de precedência bem definida. Primeiro são avaliados os operadores relacionais (<, >, =, <>, <=, >=), depois o nao, em seguida o e e por último o ou. Use parênteses para tornar a expressão mais legível e evitar ambiguidades.

// Sem parenteses - pode ser ambiguo se idade > 18 e altura > 1.70 ou peso > 80 entao // Com parenteses - claro e seguro se (idade > 18 e altura > 1.70) ou peso > 80 entao

A regra de ouro: quando houver dúvida sobre a ordem de avaliação, use parênteses. Eles não custam processamento e tornam o código mais legível para você e para quem for ler depois.

Operadores lógicos em estruturas condicionais encadeadas

Em algoritmos reais, você vai combinar os três operadores lógicos com múltiplos relacionais para criar condições de negócio complexas. Um exemplo clássico é determinar se uma pessoa pode se aposentar:

algoritmo "aposentadoria" var idade, tempoContribuicao: inteiro sexo: caractere inicio escreva("Idade: "); leia(idade) escreva("Tempo de contribuicao (anos): "); leia(tempoContribuicao) escreva("Sexo (M/F): "); leia(sexo) se (sexo = "M" e idade >= 65 e tempoContribuicao >= 15) ou (sexo = "F" e idade >= 62 e tempoContribuicao >= 15) ou (idade >= 60 e tempoContribuicao >= 30) entao escreval("Pode se aposentar") senao escreval("Nao pode se aposentar") fimse fimalgoritmo

Perguntas Frequentes


Gostou? Inscreva-se no @CanalQb no YouTube.

Feito com Master Rules Claude v8.6

Aviso Financeiro: Este conteúdo é informativo e educacional. Não constitui aconselhamento de investimento. Consulte um profissional habilitado antes de tomar decisões financeiras.

Perguntas Frequentes

Gostou do guia? Inscreva-se no @CanalQb no YouTube e ative o sininho.

Feito com Master Rules Claude v8.6 — @CanalQb

Marcadores: Algoritmos Lógica de Programação Operadores Portugol VisualG

© julho 13, 2019 CanalQb — Python, Scripts, Automação, Airdrops e Criptomoedas | Web3 e Tech na Prática



SEO Dashboard @CanalQb

Carregando dados...

Dados GA4 + Search Console | Atualizar | gerado via API Google