Найти в Дзене
Работа, учёба и отдых

Логические выражения в среде программирования PC WorX для контроллеров

Оглавление

В материалах

представлены задания по реализации логических выражений и решению текстовых задач, требующих привлечение алгебры логики, в среде программирования 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.

Заметим также, что принят следующий приоритет одних логических операций перед другими (верхние логические операции имеют приоритет перед нижними, а логические операции, находящиеся на одном уровне, выполняются слева направо):

Рассмотрим следующее логическое выражение:

-2

Сделаем соответствующие замены (эквивалентные преобразования):

= ((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:

Реализация в среде программирования PC WorX формулы, полученной в результате эквивалентных преобразований, для набора входов x1 = 1, x2 = 0, x3 = 1 (строка номер 2 в таблице истинности)
Реализация в среде программирования PC WorX формулы, полученной в результате эквивалентных преобразований, для набора входов x1 = 1, x2 = 0, x3 = 1 (строка номер 2 в таблице истинности)
Реализация в среде программирования PC WorX формулы, полученной в результате эквивалентных преобразований, для набора входов x1 = 0, x2 = 0, x3 = 0 (строка номер 8 в таблице истинности)
Реализация в среде программирования PC WorX формулы, полученной в результате эквивалентных преобразований, для набора входов x1 = 0, x2 = 0, x3 = 0 (строка номер 8 в таблице истинности)
Реализация в среде программирования PC WorX формулы, полученной в результате эквивалентных преобразований, для набора входов x1 = 0, x2 = 0, x3 = 1 (строка номер 4 в таблице истинности)
Реализация в среде программирования PC WorX формулы, полученной в результате эквивалентных преобразований, для набора входов x1 = 0, x2 = 0, x3 = 1 (строка номер 4 в таблице истинности)
Реализация в среде программирования PC WorX формулы, полученной в результате эквивалентных преобразований, для набора входов x1 = 1, x2 = 1, x3 = 1 (строка номер 1 в таблице истинности)
Реализация в среде программирования PC WorX формулы, полученной в результате эквивалентных преобразований, для набора входов x1 = 1, x2 = 1, x3 = 1 (строка номер 1 в таблице истинности)
Реализация в среде программирования PC WorX формулы, полученной в результате эквивалентных преобразований, для набора входов x1 = 1, x2 = 1, x3 = 0 (строка номер 5 в таблице истинности)
Реализация в среде программирования PC WorX формулы, полученной в результате эквивалентных преобразований, для набора входов x1 = 1, x2 = 1, x3 = 0 (строка номер 5 в таблице истинности)

Варианты для самостоятельного выполнения:

-10
-11
-12
-13

Упражнение 2. Реализация логических выражений, содержащих логические операции, которые не имеют соответствующих функциональных блоков в среде программирования PC WorX.

Следующие варианты предлагаются для самостоятельной реализации в среде программирования PC WorX (порядок выполнения Упражнения см. в описании Упражнения 1).

Варианты для самостоятельного выполнения:

-14
-15
-16
-17