Тип 2 № 27001 
Построение таблиц истинности логических выражений. Строки с пропущенными значениями
i
Логическая функция F задаётся выражением (x ∧ y ∧¬z) ≡ (y ∨ z ∨ ¬w). На рисунке приведён частично заполненный фрагмент таблицы истинности функции F, содержащий неповторяющиеся строки. Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных x, y, z, w.
В ответе напишите буквы x, y, z, w в том порядке, в котором идут соответствующие им столбцы. Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.
Решение. Заметим, что выражение будем истинным тогда, когда обе скобки будут принимать значение 0 или 1.
Рассмотрим первую строку таблицы истинности. Заметим, что выражение будет истинным только тогда, когда переменная z будет равна 0, то есть строка будет выглядеть как 1101. Следовательно, переменной z соответствует третий столбец.
Рассмотрим вторую строку таблицы истинности. Левая скобка будет принимать значение 0. Значит, переменные y и z должны принимать значение 0, а переменная w должна принимать значение 1. Таким образом, строка будет выглядеть как 1000, а переменной w соответствует первый столбец таблицы истинности.
Рассмотрим третью строку таблицы истинности. Третья строка может выглядеть как 1001, 1011 и 1111. Предположим, что переменная y соответствует четвёртому столбцу таблицы истинности. Тогда значение выражения во всех трёх случаях будет ложным. Значит, переменная y соответствует второму столбцу таблицы истинности, а переменная x — четвёртому.
Ответ: wyzx.
Приведём другое решение.
Составим таблицу истинности для выражения (x ∧ y ∧¬z) ≡ (y ∨ z ∨ ¬w) вручную или при помощи языка 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 (x and y and not(z)) == (y or z or not(w)):
print(x, y, z, w)
Далее выпишем те наборы переменных, при которых данное выражение равно 1. В наборах переменные запишем в порядке х, y, z, w. Получим следующие наборы:
(0, 0, 0, 1),
(1, 0, 0, 1),
(1, 1, 0, 0),
(1, 1, 0, 1).
Соотнесём эти наборы с представленным фрагментом таблицы истинности.
Заметим, что переменная z принимает единственное значение 0. Следовательно, это третий столбец. Рассмотрим первую строчку исходной таблицы истинности: когда в значениях три нуля, то последнее будет 1, и это будет w. Значит, первый столбец — w. Тогда последний столбик, исходя из полученных наборов, — x. Остаётся второй столбец — y. Получаем последовательность wyzx.
Ответ: wyzx