В спецификации приводится ниже:Генерировать правду-таблицу в схеме
(truth-table formula) --> truth-table
формула является:
- значение истина т.е. либо
#t
или#f
- переменная т.е.
p, q, r, ...
(not formula)
(and formula1 formula2)
(or formula1 formula2)
Истина-таблица набора строк. Строка содержит привязку (I t)
, где I
- назначение истинности, т. Е. Набор привязок (p t)
. I
должны быть:
- Последовательная
- Полный
t
производится с помощью функции оценки V(formula, I)
. V
определяется как:
V(t,I) = t
V(p,I) = t
для связывания(p t)
вI
V((not formula), I) = (not (V (formula I)))
V((and formula1 formula2), I) = (and V(formula1 I) V(formula2 I))
V((or formula1 formula2), I) = (or V(formula1 I) V(formula2 I))
Что может быть процедура, чтобы следовать в Орд чтобы реализовать таблицу истинности в Схеме? Обратите внимание, что внутри формулы могут быть подформулы.
И что вы пробовали до сих пор? в StackOverflow все в порядке, чтобы задать конкретные вопросы относительно конкретных проблем в вашем коде, но вы не должны приходить с пустыми руками и ожидать, что люди напишут весь код с нуля. –
Можете ли вы показать пример таблицы истинности? Не совсем ясно, что означает спецификация. –
Похоже, вы могли бы сделать переводчик, чтобы сделать это. Если вы создаете синтаксис lisp, вам не нужен синтаксический анализатор. – Sylwester