Подозреваю, что входные данные X и Y, а программа должна строить автоматом таблицы для всех четырех указанных операций. Дело нехитрое же.
Конъюнкция, логическое умножение, верна только тогда, когда верны оба аргумента. Дизъюнкция, логическое сложение, верна тогда, когда верен хотя бы один из аргументов. Импликация, ложна только в одном случае - когда из лжи следует истина. Во всех остальных случаях истинна. Отрицание, тут все просто - входной аргумент один (унарная операция), выходной - тот же элемент, но "наоборот".
Это теория. Программа сводится к перебору всех четырех возможных значений для X и Y и построением первых трех названных таблиц просто указанием нужной операции (для импликации чуток сложнее будет, чуть-чуть совсем). Для отрицания отдельно построить табличку с одним входным данным (X) и его отрицанием. Все же просто. Может, сам напишешь все же?
Вот подсказка. Для конъюнкции (пишу на коленке, паскаль подзабыл уже немного, возможно, где-то наврал).
| Код | program Logic; var X, Y: Byte; I, J: Integer; begin { строим для конъюнкции } Write('X Y X&Y'); for I := 0 to 1 do for J := 0 to 1 do WriteLn(I, ' ', J, ' ', I * J); end.
|
|