Логическая функция F задаётся выражением:
Дан частично заполненный фрагмент, содержащий неповторяющиеся строки таблицы истинности функции F.
Определите, какому столбцу таблицы истинности соответствует каждая из переменных x, y, z, w.
| Переменная 1 | Переменная 2 | Переменная 3 | Переменная 4 | Функция |
|---|---|---|---|---|
| ??? | ??? | ??? | ??? | F |
| 1 | 0 | 1 | 1 | |
| 0 | 0 | 0 | 1 | |
| 0 | 0 | 0 | 1 | 0 |
В ответе напишите буквы x, y, z, w в том порядке, в котором идут соответствующие им столбцы (сначала — буква, соответствующая первому столбцу; затем — буква, соответствующая второму столбцу, и т. д.). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.
Пример. Пусть задано выражение x → y, зависящее от двух переменных x и y, и фрагмент таблицы истинности:
| Переменная 1 | Переменная 2 | Функция |
|---|---|---|
| ??? | ??? | F |
| 0 | 1 | 0 |
Тогда первому столбцу соответствует переменная y, а второму столбцу соответствует переменная x. В ответе нужно написать: yx.
Составим таблицу истинности для выражения
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 (x <= (y == w)) and (y == (w <= z)):
print(x, y, z, w)
Далее выпишем те наборы переменных, при которых данное выражение равно 1. В наборах переменные запишем в порядке х, y, z, w. Получим следующие наборы:
(0, 0, 0, 1),
(0, 1, 0, 0),
(0, 1, 1, 0),
(0, 1, 1, 1),
(1, 1, 1, 1).
Сопоставим эти наборы с приведенным в задании фрагментом таблицы истинности.
Рассмотрим первую и вторую строку таблицы. Во второй строке переменная 3 может быть только 1, так как не существует набора только из 0. Тогда в первой строке переменная 2 может быть только 0, так как если будет стоять 1, то должен быть набор в котором х будет равен 1. Можно сделать вывод, что переменная 2 — это x, так как только он принимает все значения 0.
Составим таблицу истинности для выражения
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((x <= (y == w)) and (y == (w <= z))):
print(x, y, z, w)
Далее выпишем те наборы переменных, при которых данное выражение равно 0 и переменная x равна 0.
В наборах переменные запишем в порядке х, y, z, w. Получим следующие наборы:
(0, 0, 0, 0),
(0, 0, 1, 0),
(0, 0, 1, 1),
(0, 1, 0, 1).
Рассмотрим третью строки таблицы истинности. Данному набору соответствует только одна строка. Следовательно, пременная 4 — это z. Вернемся к первой строке и первому набору. Переменной 1 соответствует y, а переменной 3 соответствует w. Следовательно, ответ: yxwz.
Ответ: yxwz.

