В материалах
представлены задания по реализации логических выражений и решению текстовых задач, требующих привлечение алгебры логики, в среде программирования PC WorX. В настоящем материале приведём ещё несколько Упражнений.
Упражнение 1. Реализация логических выражений, содержащих логические операции, которые не имеют соответствующих функциональных блоков в среде программирования PC WorX.
Напомним о некоторых логических операциях:
NOT: NOT или "НЕ", также известное как логическое отрицание или инверсия.
AND: AND или "И", также известная как логическая конъюнкция.
OR: OR или "ИЛИ", также известная как логическая дизъюнкция.
NAND: элемент NAND, или "И-НЕ", образован комбинацией элементов NOT и AND, также известная как отрицание конъюнкции или Штрих Шеффера.
NOR: элемент NOR, или "ИЛИ-НЕ", образован комбинацией элементов NOT и OR, также известная как отрицание дизъюнкции или Стрелка Пирса.
XOR: элемент XOR, или "исключающее ИЛИ", также называется кольцевой суммой или суммой по модулю 2.
XNOR: элемент XNOR, или "исключающее ИЛИ-НЕ", т.е. представляет собой отрицание исключающего ИЛИ.
В среде программирования PC WorX имеются функциональные блоки, соответствующие NOT, AND, OR, XOR, но нет импликации, эквивалентности, Стрелки Пирса и Штриха Шеффера, поэтому необходимо использовать так называемые эквивалентные преобразования. Для преобразования импликации через базовые логические операции (NOT, AND, OR) следует использовать формулу: X импликация Y = NOT X OR Y.
Заметим также, что принят следующий приоритет одних логических операций перед другими (верхние логические операции имеют приоритет перед нижними, а логические операции, находящиеся на одном уровне, выполняются слева направо):
Рассмотрим следующее логическое выражение:
Сделаем соответствующие замены (эквивалентные преобразования):
= ((NOT x3 Or (NOT x1 Or x2)) Or (x2 XOR x3) Nor NOT(x2 And x3)) =
= ((NOT x3 Or (NOT x1 Or x2)) Or NOT((x2 XOR x3) Or NOT(x2 And x3))) =
= NOT x3 Or (NOT x1 Or x2) Or NOT(x2 XOR x3) Or (x2 And x3) =
= NOT x3 Or NOT x1 Or x2 Or NOT(x2 XOR x3) Or (x2 And x3)
Для проверки используем вопросно-ответную систему Wolfram|Alpha (см. подробное описание в https://dzen.ru/a/YkJbEGPcN28cuBJI?share_to=link), для этого сначала внесём команду, соответствующую первоначальной формуле:
((x3 Implies (x1 Implies x2)) Or (x2 Xor x3) Nor (x2 Nand x3)),
получим следующий результат:
Затем в вопросно-ответную систему Wolfram|Alpha внесем команду, соответствующую преобразованной формуле:
Not x3 Or Not x1 Or x2 Or Not(x2 Xor x3) Or (x2 And x3).
Получим результат, подтверждающий, что проведённые эквивалентные преобразования верные:
Реализуем преобразованную формулу в среде программирования PC WorX:
Варианты для самостоятельного выполнения:
Упражнение 2. Реализация логических выражений, содержащих логические операции, которые не имеют соответствующих функциональных блоков в среде программирования PC WorX.
Следующие варианты предлагаются для самостоятельной реализации в среде программирования PC WorX (порядок выполнения Упражнения см. в описании Упражнения 1).
Варианты для самостоятельного выполнения: