Oi, Marcelo,

É um html simples, então dá para exibir o código fonte direto no navegador, 
no link da calculadora

(https://chimerical-melomakarona-514190.netlify.app/) 

No Chrome é:
Veiw > Developer > View Source

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".

On Sunday, July 13, 2025 at 9:53:28 PM UTC-3 Marcelo Finger wrote:

> Oi Daniel.
>
> Fantástico!
>
> Você poderia disponibilizar também o código?  E, se possível, os prompts 
> que você usou para que a inteligência gerativa gerasse esse código.
>
> []s
>
>
> On Sun, Jul 13, 2025 at 7:43 PM Daniel Durante <[email protected]> wrote:
>
>> Colegas,
>>
>> Não escrevo uma linha de código desde o milênio passado, mas estava vendo 
>> meus alunos sofrerem com as opções disponíveis online de calculadoras 
>> lógicas proposicionais. É que pedi, como tarefa, para eles resolverem, via 
>> formalização de argumentos, algumas charadas ao estilo dos livros do 
>> Smullyan, e as tabelas ficam bem grandes. A tarefa é simbolizar (programar) 
>> e não resolver tabelas de verdade.
>>
>> Então usei os robozinhos programadores do Google e pedi para eles fazerem 
>> uma para mim. Deu certo. Não sei a que custo ambiental!
>>
>> Tinha que funcionar tanto em computadores quanto em celulares, porque 
>> computadores estão caindo em desuso entre a meninada.
>>
>> Não é uma brastemp, mas resolveu meus problemas. Deixo aqui o link 
>> disponível 
>> para quem quiser usar e aperfeiçoar. 
>>
>> https://chimerical-melomakarona-514190.netlify.app/
>>
>> Saudações,
>> Daniel.
>> -----
>> Departamento de Filosofia - (UFRN)
>> http://danieldurante.weebly.com 
>>
>> -- 
>> LOGICA-L
>> Lista acadêmica brasileira dos profissionais e estudantes da área de 
>> Lógica <[email protected]>
>> --- 
>> Você recebeu essa mensagem porque está inscrito no grupo "LOGICA-L" dos 
>> Grupos do Google.
>> Para cancelar inscrição nesse grupo e parar de receber e-mails dele, 
>> envie um e-mail para [email protected].
>> Para ver esta conversa, acesse 
>> https://groups.google.com/a/dimap.ufrn.br/d/msgid/logica-l/E25D0052-EC1D-41EA-A1E0-55CFC20F695C%40gmail.com
>>  
>> <https://groups.google.com/a/dimap.ufrn.br/d/msgid/logica-l/E25D0052-EC1D-41EA-A1E0-55CFC20F695C%40gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>
>
> -- 
> Marcelo Finger
>  Departament of Computer Science, IME-USP   
>  http://www.ime.usp.br/~mfinger
>  ORCID: https://orcid.org/0000-0002-1391-1175
>  ResearcherID: A-4670-2009
>
> Instituto de Matemática e Estatística, 
>
> Universidade de São Paulo
>
> Rua do Matão, 1010 - CEP 05508-090 - São Paulo, SP
>

-- 
LOGICA-L
Lista acadêmica brasileira dos profissionais e estudantes da área de Lógica 
<[email protected]>
--- 
Você está recebendo esta mensagem porque se inscreveu no grupo "LOGICA-L" dos 
Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um 
e-mail para [email protected].
Para ver esta conversa, acesse 
https://groups.google.com/a/dimap.ufrn.br/d/msgid/logica-l/046a9abb-1ff4-4941-9374-56d9095e050dn%40dimap.ufrn.br.

Responder a