É um html simples, então dá para exibir o código fonte direto no navegador, no link da calculadora
Eu fiz, como prompt, uma espécie de manual de uso, detalhado. Claro que deu tudo errado nas primeiras vezes e eu, com bastante paciência, fui corrigindo, e fiz MUITAS versões intermediárias, onde fui melhorando, modificando, incluindo e corrigindo coisas. Deixo o primeiro prompt aqui embaixo.
Ah. Eu fiz no
https://aistudio.google.com/Um abraço,
Daniel.
________
Crie uma página web que implemente uma calculadora de tabelas de verdade para a lógica clássica proposicional de acordo com o seguinte manual de funcionamento. A calculadora deve ser operacional tanto em computadores, quanto em tablets em telefones celulares, portanto, deve ter um teclado virtual parecido com este [** eu enviei um print da calculadora do Logic Calc como modelo (
www.votsis.org/logic) **]
Manual de Funcionamento para uma Calculadora de Tabela-Verdade de Estilo Direto
1. Introdução e Filosofia de Apresentação
O objetivo desta calculadora é gerar tabelas-verdade de uma maneira limpa, intuitiva e que espelhe o método de avaliação manual usado no livro de lógica "Para Todxs:Natal", entre outros. A principal característica é a ausência de colunas intermediárias para subfórmulas. Em vez disso, os valores-verdade (Verdadeiro/Falso, ou V/F) são exibidos diretamente sob os componentes que os geram: as proposições atômicas e os operadores lógicos.
Isso resulta em uma tabela mais compacta e com o resultado final de cada linha destacado sob o operador lógico principal da fórmula.
2. O Método de Apresentação da Tabela-Verdade
A tabela é construída seguindo uma hierarquia visual:
Colunas de Base: No lado esquerdo da tabela, são apresentadas as colunas para cada proposição atômica (ex: P, Q, R), listando todas as combinações possíveis de valores-verdade.
Colunas de Fórmulas: Para cada fórmula, conjunto de fórmulas ou argumento inserido, uma única área de resultado é criada à direita das colunas de base.
Avaliação Direta: Dentro da área da fórmula:
1. Os valores-verdade de cada proposição atômica (P, Q, etc.) são repetidos diretamente abaixo de cada ocorrência daquela letra na fórmula.
2. O resultado da operação de cada conectivo lógico (negação, conjunção, disjunção, condicional, bicondicional) é calculado e exibido diretamente sob aquele símbolo.
3. A avaliação segue a ordem de precedência dos operadores (geralmente: negação, conjunção/disjunção, condicional, bicondicional), com parênteses definindo a ordem.
4. O valor-verdade final de toda a fórmula para cada linha é o valor que aparece sob o operador lógico principal daquela fórmula. Este é o resultado mais importante e deve ser destacado visualmente (por exemplo, em negrito).
Exemplo para uma única fórmula: `(P → Q) ↔ (¬P ∨ Q)`
↓
| P | Q ‖ (P | → | Q) | ↔ | (¬ | P | ∨ | Q) |
|---|---‖----|---|----|---|----|---|---|----|
| V | V ‖ V | V | V | V | F | V | V | V |
| V | F ‖ V | F | F | V | F | V | F | F |
| F | V ‖ F | V | V | V | V | F | V | V |
| F | F ‖ F | V | F | V | V | F | V | F |
(deve aparecer desformatada, mas com uma fonte monoespaçada fica certinha!)
Neste exemplo, os valores sob os conectivos e as letras sentenciais são resultados intermediários, e a coluna de valores sob o bicondicional (↔), marcada com a seta vertical, que é o operador principal, é o resultado final da sentença, mostrando que ela é uma tautologia.
3. Como a Calculadora Deve Operar
A calculadora deve ser capaz de analisar três tipos de entrada:
a) Fórmulas Individuais:
Entrada: O usuário insere uma única fórmula lógica bem-formada, como `P & (Q → P)`.
Saída: A calculadora gera a tabela-verdade no estilo direto, como descrito acima. Ao final, ela deve classificar a fórmula como sendo uma Tautologia (todas as linhas resultam em 'V' sob o operador principal), Contradição (todas as linhas resultam em 'F') ou Contingência (a coluna do operador principal contém tanto 'V' quanto 'F').
b) Conjuntos de Fórmulas:
Entrada: O usuário insere um conjunto de fórmulas, separadas por vírgulas e delimitadas por chaves. Exemplo: `{P → Q, P, Q}`, ou uma por linha, diretamente.
Saída: A calculadora gera uma tabela-verdade que contém colunas para cada fórmula no conjunto. A análise principal aqui é a de consistência.
Análise de Consistência: A calculadora deve verificar se existe pelo menos uma linha na tabela onde todas as fórmulas do conjunto são verdadeiras simultaneamente.
* Se existir tal linha, a calculadora deve exibir a mensagem: "O conjunto é Consistente".
* Se não existir nenhuma linha onde todas as fórmulas são verdadeiras, a mensagem deve ser: "O conjunto é Inconsistente".
c) Argumentos:
* Entrada: O usuário insere um argumento, que consiste em um conjunto de premissas (delimitado por chaves e separado por vírgulas) seguido pelo símbolo de consequência lógica (por exemplo, `╞` ou `|=` ou '∴') e a conclusão. Exemplo: `{P → Q, P} ╞ Q`. Ou uma sentença por linha, diretamente, indicando a última sentença como conclusão.
* Saída: A calculadora gera uma tabela-verdade com colunas para cada premissa e uma coluna para a conclusão.
* Análise de Validade: A calculadora deve analisar a tabela para determinar a validade do argumento. Um argumento é válido se, e somente se, não houver nenhuma linha na qual todas as premissas são verdadeiras e a conclusão é falsa.
* A calculadora deve examinar todas as linhas. Se encontrar uma linha com todas as premissas 'V' e a conclusão 'F' (um contraexemplo), deve exibir a mensagem: "O argumento é Inválido".
* Se, após verificar todas as linhas, não encontrar nenhum contraexemplo, a mensagem deve ser: "O argumento é Válido".