TruthTable é uma ferramenta web para gerar tabelas verdade a partir de expressões lógicas.
- Interface Intuitiva: Interface fácil de usar para inserir expressões lógicas.
- Suporte a Operadores: Suporta uma ampla gama de operadores lógicos, incluindo Negação, Conjunção (E), Disjunção (OU), Disjunção Exclusiva (XOR), Condicional, Bicondicional e Equivalência.
- Geração de Tabela Verdade: Gera automaticamente tabelas verdade detalhadas a partir das expressões inseridas.
- Exportação de Imagens: Permite que os usuários copiem ou baixem a tabela verdade como uma imagem PNG.
- Insira a Expressão: Digite sua expressão lógica no campo de entrada.
- Exemplo:
(p -> q) ^ (q -> p)
- Exemplo:
- Gerar Tabela: Clique no botão "Gerar Tabela" para ver a tabela verdade correspondente.
- Visualizar Resultados: A tabela verdade será exibida abaixo, mostrando todas as possíveis combinações de valores verdade para suas variáveis e o resultado da expressão.
- Exportar: Use os botões "Copiar como Imagem" ou "Baixar como Imagem" para exportar a tabela.
| Operador | Símbolos |
|---|---|
| Negação (NÃO) | !, ¬ |
| Conjunção (E) | ^, &, &&, and |
| Disjunção (OU) | v, ` |
| Disjunção Exclusiva (XOR) | +, ⊕ |
| Condicional | ->, → |
| Bicondicional | <->, ↔ |
| Equivalência | =, ≡ |
| Agrupamento | ( ), [ ], { } |
O arquivo assets/scripts.js contém toda a lógica para a geração da tabela verdade. Ele utiliza Vue.js para a reatividade da interface.
O processo de geração da tabela verdade envolve as seguintes etapas:
- Normalização: A expressão de entrada é normalizada para um formato consistente.
- Tokenização: A expressão normalizada é dividida em tokens (variáveis, operadores, parênteses).
- Conversão para Postfix (Notação Polonesa Inversa): Os tokens são convertidos para a notação polonesa inversa para facilitar a avaliação.
- Extração de Sub-expressões: Todas as sub-expressões são extraídas da árvore de expressão.
- Geração da Tabela: A tabela verdade é gerada avaliando a expressão e suas sub-expressões para todas as combinações possíveis de valores verdade das variáveis.
- Avaliação: As expressões em notação polonesa inversa são avaliadas para preencher as linhas da tabela.
- Renderização: A tabela resultante é renderizada na página.
- Exportação de Imagem: A biblioteca
html2canvasé usada para converter a tabela HTML em uma imagem para download ou cópia.