Utilia

Gerador de tabelas de verdade

Gera a tabela de verdade de qualquer expressão booleana com até 10 variáveis, com mintermos, maxtermos, formas canónicas SOP/POS e deteção de tautologias.

Operadores: NOT (não) ! ~ ¬ ou um ' no fim, AND (e) & * · ∧ (ou só um espaço: A B), OR (ou) | + ∨, XOR ^ ⊕, NAND ↑, NOR ↓, -> → para a implicação, <-> ↔ para o se e só se. Constantes: 0, 1, verdadeiro, falso (ou true, false). Qualquer outro nome é uma variável (AB é uma só variável: escreve A B para A AND B). A palavra de uma letra «e» só conta como operador em minúscula, entre dois operandos: usa variáveis maiúsculas ou símbolos.

Exemplos:

Como gerar uma tabela de verdade

  1. Escreve a tua expressão no campo Expressão booleana, por exemplo (A e B) -> não C, A B' + A' B ou p ↔ q. Os botões de operadores inserem ¬ ∧ ∨ ⊕ ↑ ↓ → ↔ e parênteses na posição do cursor.
  2. A tabela atualiza-se enquanto escreves; carrega em Enter ou clica em Gerar tabela para a atualizar de imediato.
  3. Escolhe a Ordem das variáveis: Alfabética (a ordem habitual dos manuais) ou Ordem de aparecimento na expressão.
  4. Em Mostrar os valores como, escolhe 1 e 0 (eletrónica digital) ou V e F (aulas de lógica).
  5. Marca Mostrar colunas das subexpressões para veres cada passo intermédio, como A ∧ B antes de ¬(A ∧ B). É a disposição que os professores costumam pedir quando verificas uma fórmula à mão.
  6. Lê a Classificação, as listas de mintermos e maxtermos e as formas canónicas por baixo da tabela. Copiar CSV e Transferir CSV exportam a tabela para uma folha de cálculo ou um relatório.

Sintaxe aceite

Operação Podes escrever Aparece como
NOT não A, not A, !A, ~A, ¬A, A' ¬A
AND A e B, A and B, A & B, A && B, A * B, A · B, A ∧ B, A B A ∧ B
OR A ou B, A or B, A + B, A ∨ B A ∨ B
XOR A xor B, A ^ B, A ⊕ B A ⊕ B
NAND / NOR nand, ↑ / nor, ↓ ↑ / ↓
Implicação A implies B, A -> B, A => B, A → B A → B
Equivalência A iff B, A xnor B, A <-> B, A <=> B, A ↔ B A ↔ B

O OR também se pode escrever com uma barra vertical: A | B ou A || B. As palavras dos operadores não distinguem maiúsculas de minúsculas. As constantes são 0, 1, verdadeiro e falso (ou true e false). Nesta página, as palavras portuguesas e, ou, não (também nao), verdadeiro e falso funcionam a par das inglesas. Atenção à palavra de uma só letra: e só conta como operador se estiver escrita em minúscula, separada por espaços, entre dois operandos, e se a letra E não for usada como variável na expressão. Para evitar dúvidas, usa variáveis maiúsculas (A e B) ou os símbolos.

Qualquer outro nome é uma variável, incluindo letras isoladas como V ou F e nomes como x1 ou Luz2. Um nome formado por várias letras é uma só variável: AB não é A AND B. Escreve A B, A·B ou A & B para o produto. As palavras dos operadores, incluindo as francesas et, ou e non, não podem ser usadas como nomes de variáveis.

Precedência, da mais forte para a mais fraca: NOT, depois AND e NAND, depois XOR, depois OR e NOR, depois a implicação e por fim a equivalência. Assim, ¬a ∧ b ∨ c significa ((¬a) ∧ b) ∨ c. A implicação associa à direita, como nos manuais de lógica: a → b → c significa a → (b → c). A linha Lida como: mostra como a ferramenta interpretou o que escreveste, para poderes confirmar o agrupamento antes de confiares na tabela.

Mintermos, maxtermos e formas canónicas

As linhas são numeradas a partir de 0, com a primeira variável como bit mais significativo. Com as variáveis A, B, C, a linha 5 é A = 1, B = 0, C = 1. Um mintermo é uma linha em que a expressão é verdadeira, e a lista Σm(…) dá os seus números. Um maxtermo é uma linha em que é falsa, listada como ΠM(…).

A soma de produtos canónica (SOP, forma normal disjuntiva) junta com OR um termo AND por cada mintermo. Para o XOR, dá (¬A ∧ B) ∨ (A ∧ ¬B). O produto de somas canónico (POS, forma normal conjuntiva) junta com AND uma cláusula OR por cada maxtermo, com cada variável negada quando o seu bit é 1: (A ∨ B) ∧ (¬A ∨ ¬B). Estas formas são completas mas não mínimas. Usa-as como ponto de partida para um mapa de Karnaugh ou para o método de Quine–McCluskey.

Tautologia, contradição ou contingência

Uma tautologia é verdadeira em todas as linhas, como a lei do contrarrecíproco (p → q) ↔ (¬q → ¬p). Uma contradição é falsa em todas as linhas, como p ∧ ¬p. Tudo o resto é uma contingência. Duas fórmulas são logicamente equivalentes exatamente quando fórmula1 <-> fórmula2 é uma tautologia, o que dá uma forma rápida de verificar uma simplificação.

Perguntas frequentes

Quantas variáveis posso usar?

Até 10 variáveis, o que dá 2¹⁰ = 1024 linhas. Acima disso, uma tabela completa deixa de ser legível, por isso a ferramenta pede-te que dividas a expressão.

Porque é que AB conta como uma única variável?

A ferramenta aceita nomes descritivos como porta_aberta ou x1, por isso letras escritas juntas formam um só nome. Para multiplicar A e B, separa-as com um espaço (A B) ou usa um operador como ·, * ou &.

Posso usar V e F como valores?

Como constantes, escreve 1/0 ou verdadeiro/falso. As letras V e F são tratadas como variáveis normais. Para mostrar a tabela com V e F em vez de 1 e 0, escolhe V e F em Mostrar os valores como.

O que significa A'?

Um apóstrofo no fim é a notação de NOT habitual em eletrónica digital: A' é ¬A e (A B)' é ¬(A ∧ B). Tem a mesma prioridade que o NOT em prefixo.

A SOP é a forma mais simples da minha expressão?

Não. A SOP canónica lista cada mintermo por extenso, por isso é muitas vezes comprida. É exata e única para uma dada ordem das variáveis, o que a torna uma base fiável para simplificar à mão ou com um mapa de Karnaugh.

Como é avaliada a implicação?

A → B só é falsa quando A é verdadeira e B é falsa. Uma premissa falsa torna a implicação verdadeira, o que surpreende muitos alunos ao princípio.