Gerador de expressões a partir de tabelas de verdade

Defina a coluna de saída com a forma de que precisa e a ferramenta lê a fórmula a partir dela: a FND canónica (soma de produtos), a FNC canónica (produto de somas) e a forma equivalente mais curta. Tudo corre no seu navegador, e a tabela que constrói viaja na ligação.

Variáveis: p, q
pqSaída

Clique nos valores de saída para alternar entre verdadeiro (⊤) e falso (⊥)

Expressão gerada

Forma normal disjuntiva (soma de produtos)
(p ∧ ¬q) ∨ (¬p ∧ q)

Como converter uma tabela de verdade numa expressão booleana

Toda a tabela de verdade é a tabela de verdade de alguma fórmula, e duas dessas fórmulas leem-se diretamente nela - sem álgebra e sem adivinhação:

  1. Escreva as 2ⁿ linhas das suas n variáveis e marque aquelas em que a saída é ⊤.
  2. Para cada linha ⊤ escreva um mintermo: todas as variáveis conjugadas, negadas onde a linha as torna falsas. Ligue os mintermos por OU e tem a FND.
  3. Para cada linha ⊥ escreva um maxtermo: todas as variáveis disjuntas, negadas onde a linha as torna verdadeiras. Ligue os maxtermos por E e tem a FNC.
  4. As duas fórmulas têm exatamente a tabela de que partiu, por isso qualquer delas é uma resposta correta. Simplifique depois, se quiser a mais curta.

Mintermo

Uma conjunção de todas as variáveis, cada uma negada ou não, verdadeira em exatamente uma linha da tabela. A FND é a disjunção dos mintermos das linhas em que a saída é ⊤, e é por isso que tem um termo por cada linha ⊤.

Maxtermo

Uma disjunção de todas as variáveis, cada uma negada ou não, falsa em exatamente uma linha da tabela. A FNC é a conjunção dos maxtermos das linhas em que a saída é ⊥, e é por isso que tem um termo por cada linha ⊥.

Exemplo resolvido: ou exclusivo

A tabela acima é aquela com que a ferramenta abre: p e q, verdadeira exatamente nas duas linhas em que as entradas diferem.

  • Duas linhas são ⊤, por isso a FND tem dois mintermos: (p ∧ ¬q) ∨ (¬p ∧ q)
  • As outras duas são ⊥, por isso a FNC tem dois maxtermos: (p ∨ q) ∧ (¬p ∨ ¬q)

Nenhuma pode ser encurtada - o ou exclusivo precisa mesmo dos dois termos - e vale a pena vê-lo uma vez: a forma canónica nem sempre é o caminho longo. É numa tabela como «no máximo um de p, q, r» que a forma mínima ganha vantagem.

Compreender a síntese booleana

Forma normal disjuntiva (FND)

A FND representa uma fórmula como um OU de Es (soma de produtos). Para cada linha em que a saída é verdadeira criamos um mintermo que conjuga todas as variáveis, negando as que são falsas. Os mintermos são depois ligados por OU para formar a expressão completa.

Forma normal conjuntiva (FNC)

A FNC representa uma fórmula como um E de OUs (produto de somas). Para cada linha em que a saída é falsa criamos um maxtermo que disjunta todas as variáveis, negando as que são verdadeiras. Os maxtermos são depois ligados por E para formar a expressão completa.

FND e FNC comparadas

AspetoForma normal disjuntiva (soma de produtos)Forma normal conjuntiva (produto de somas)
Construída a partir deDas linhas em que a saída é ⊤, um mintermo cadaDas linhas em que a saída é ⊥, um maxtermo cada
FormaUma disjunção de conjunções: um OU de EsUma conjunção de disjunções: um E de OUs
Escolha-a quandoQuer enumerar os casos que tornam a fórmula verdadeira, ou desenhar um circuito E-OUQuer as restrições que têm de valer todas ao mesmo tempo, ou a forma clausal que um solucionador SAT espera

Que tamanho tem a tabela?

Uma função de n variáveis tem 2ⁿ linhas, por isso a tabela duplica a cada variável que acrescenta: 4 linhas para duas variáveis, 8 para três, 16 para quatro e 32 para cinco, onde esta ferramenta para. A FND leva um termo por cada linha ⊤ e a FNC um por cada linha ⊥, pelo que entre as duas dão conta de cada linha exatamente uma vez - e uma delas é sempre o ponto de partida mais curto.

Aplicações da síntese a partir de tabelas de verdade

Converter tabelas de verdade em expressões lógicas é uma técnica fundamental em informática e eletrónica digital. Esta ferramenta ajuda a:

  • Projeto de circuitos digitais - obter as equações booleanas das portas lógicas a partir do comportamento entrada-saída pretendido
  • Desenvolvimento de software - gerar lógica condicional a partir de tabelas de especificação
  • Estudo - aprender e praticar álgebra booleana e lógica proposicional
  • Otimização lógica - comparar FND e FNC para encontrar expressões equivalentes mais simples

Perguntas frequentes

Encontre respostas às perguntas mais comuns sobre a utilização da Calculadora Lógica

O que faz a ferramenta de tabela de verdade para expressão?

Faz a calculadora funcionar ao contrário. Define a coluna de saída de uma tabela de verdade clicando em cada linha e a ferramenta produz uma fórmula com exatamente essa tabela de verdade, em forma normal disjuntiva (um OU de Es) ou forma normal conjuntiva (um E de OUs).

Qual é a diferença entre FND e FNC?

A FND é uma soma de produtos: uma conjunção por cada linha em que a saída é verdadeira, todas ligadas por OU. A FNC é um produto de somas: uma disjunção por cada linha em que a saída é falsa, todas ligadas por E. Ambas descrevem a mesma função, pelo que convém a que ficar mais curta para a sua tabela — uma coluna maioritariamente falsa dá uma FND curta e uma maioritariamente verdadeira dá uma FNC curta.

Quantas variáveis aceita a ferramenta de síntese?

Até cinco, o que dá uma tabela de 32 linhas. Cada variável acrescentada duplica as linhas e, para além de cinco, a tabela deixa de ser algo que se possa preencher à mão.

Porque é que a expressão gerada é tão longa?

Uma forma normal constrói-se linha a linha, com um termo de largura completa por cada linha a cobrir, pelo que o seu comprimento segue a tabela de verdade e não a ideia por trás dela. É correta por construção, não compacta. Para a encurtar, abra-a na calculadora, que lista formas equivalentes, incluindo uma FND minimizada.

Consigo uma versão simplificada de uma fórmula?

Sim. Introduza-a na calculadora e veja as formas equivalentes por baixo da tabela de verdade. Incluem formas obtidas por reescrita com as leis da álgebra, e a FND e a FNC lidas da tabela de verdade juntamente com uma FND minimizada.

Ver todas as perguntas