Логическая функция F задаётся выражением ¬x ∨ y ∨ (¬z ∧ w). На рисунке приведён фрагмент таблицы истинности функции F, содержащий все наборы аргументов, при которых функция F ложна. Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных w, x, y, z.
| Перем. 1 | Перем. 2 | Перем. 3 | Перем. 4 | Функция |
|---|---|---|---|---|
| ??? | ??? | ??? | ??? | F |
| 1 | 0 | 0 | 0 | 0 |
| 1 | 1 | 0 | 0 | 0 |
| 1 | 1 | 1 | 0 | 0 |
В ответе напишите буквы w, x, y, z в том порядке, в котором идут соответствующие им столбцы (сначала — буква, соответствующая первому столбцу; затем — буква, соответствующая второму столбцу, и т. д.) Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.
Пример. Если бы функция была задана выражением ¬x ∨ y, зависящим от двух переменных: x и y, и был приведён фрагмент её таблицы истинности, содержащий все наборы аргументов, при которых функция F истинна.
| Перем. 1 | Перем. 2 | Функция |
|---|---|---|
| ??? | ??? | F |
| 0 | 0 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
Тогда первому столбцу соответствовала бы переменная y, а второму столбцу — переменная x. В ответе следовало бы написать: yx.
Рассмотрим данное выражение. Оно равно нулю когда одновременно выполнено: ¬x = 0; y = 0; ¬z ∧ w = 0. Первое равенство выполняется при x = 1, второе при y = 0. Из таблицы ясно, что переменная 1 — x, переменная 4 — y.
Третье равенство выполняется на наборах переменных: z = 0, w = 0; z = 1, w = 0 и z = 1, w = 1. Из сопоставления с таблицей ясно, что переменная 2 — z, переменная 3 — w.
Ответ: xzwy.
Приведём другое решение на языке Python.
Составим таблицу истинности для выражения ¬x ∨ y ∨ (¬z ∧ w). Выпишем те наборы переменных, при которых данное логическое выражение равно 0. В наборах переменные стоят в порядке x , y, z, w. Итак, эти наборы:
(1, 0, 0, 0),
(1, 0, 1, 0),
(1, 0, 1, 1).
Соотнесём эти наборы с представленным фрагментом таблицы истинности.
Во всех наборах переменная y принимает значение 0, значит, ей соответствует четвёртый столбец. Переменная x в наборах всегда принимает значение 1, следовательно, ей соответствует первый столбец. Аналогично соотносим оставшиеся столбцы, получаем, что w это третий столбец, а z второй. Получаем последовательность xzwy.
Составим таблицу истинности при помощи языка Python:
print("x y z w")
for x in range(0, 2):
for y in range(0, 2):
for z in range(0, 2):
for w in range(0, 2):
if not(not(x) or y or (not(z) and w)):
print(x, y, z, w)

