Для решения этого задания легче всего использовать Python. Нужно знать логические функции и как они обозначаются в питоне
Инверсия - ¬ (отрицание) - not()
Конъюнкция - ∧ (умножение) - and
Дизъюнкция - v (сложение) - or
Импликация - → (следование) - <=
Эквивалентность - ≡ (равенство) - ==
Для начала надо ввести обозначения. Чтобы это сделать пишем print('x y z w')
Будем перебирать для каждой логической переменной все возможные варианты в программе. А логическая переменная всего два значения может принимать: 1 или 0 (истину или ложь). Таким образом, если к примеру у нас 4 переменные, мы получим 2⁴=16 различных комбинаций.
В задании у нас есть 4 переменные: x, y, z, w. Каждую переменную мы вводим в цикл от 0 до 1 командной for переменная (x/y/z/w) in range(2).
Далее у нас 2 варианта события: либо в таблице f=0, либо в таблице f=1. В первом варианте мы пишем: if not(логическое уравнение) == 0. Во втором варианте пишем: if (логическое уравнение) ==0.
Допустим в задании у нас такое логическое уравнение:(w → z) ∧ ((y → x) ≡ (z → y)). В питоне же оно будет выглядеть так: (w <= z) and ((y <= x) == (z <= y). Если F=0, то перед этим приписываем if not, во втором случае знаем что писать.
После этих махинаций пишем print(x, y, z, w) и у нас будет таблица, где из значений только 0 и 1. Просто сопоставляем эту таблицу с таблицей, которая у нас в задании, и ответ понятен.
В данном случае код будет выглядеть так:
print('x y z w')
for переменная x in range(2):
for переменная y in range(2):
for переменная z in range(2):
for переменная w in range(2):
if not((w <= z) and ((y <= x) == (z <= y)) == 0:
print(x, y, z, w)
Надеюсь объяснил кратко и понятно.