МУМ5 → Информатика → разборы → демоверсия 2027 → № 2

Задание 2 демоверсии ЕГЭ 2027 по информатике

Таблица истинности логической функции. Реши сам, потом открой решение.

Задание 2

Миша заполнял таблицу истинности логической функции FF

((x≡¬y)→¬(w→x))∨¬z,((x \equiv \neg y) \to \neg (w \to x)) \lor \neg z,

но успел заполнить лишь фрагмент из трёх различных её строк, даже не указав, какому столбцу таблицы соответствует каждая из переменных ww, xx, yy, zz.

F
0100
000
110

Определите, какому столбцу таблицы соответствует каждая из переменных ww, xx, yy, zz.

В ответе напишите буквы ww, xx, yy, zz в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу; затем буква, соответствующая второму столбцу, и т.д.). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.

Например, функция задана выражением ¬x∨y\neg x \lor y, зависящим от двух переменных, а фрагмент таблицы имеет следующий вид.

F
010

В этом случае первому столбцу соответствует переменная yy, а второму столбцу – переменная xx. В ответе следует написать: yxyx.

Источник: ФИПИ, проект демоверсии ЕГЭ 2027, с. 6

Решение и ответ
  1. F=0F = 0 только когда обе части дизъюнкции ложны: z=1z = 1 и импликация ложна, то есть x≡¬yx \equiv \neg y истинно (x и y разные), а ¬(w→x)\neg(w \to x) ложно — значит, w→xw \to x истинно.

  2. Итак, в каждой строке с F=0F = 0: z=1z = 1, x≠yx \ne y, и не бывает w=1,x=0w = 1, x = 0.

  3. В каждой строке в столбце zz должна стоять единица. В первой строке единица может быть только в 1-м (пропуск) или 3-м столбце, во второй — только во 2-м или 3-м (пропуски). Значит, zz — 3-й столбец. Остальное, чтобы не разбирать случаи вручную, проверим перебором всех 24 расстановок и всех заполнений пропусков:

  4. from itertools import permutations, product
    
    def F(w, x, y, z):
        return ((x == (not y)) <= (not (w <= x))) or (not z)
    
    ans = set()
    for p in permutations('wxyz'):
        for a, b, c, d, e in product([0, 1], repeat=5):
            t = [(a, 0, 1, 0), (0, b, c, 0), (d, 1, 1, e)]
            if len(set(t)) == 3 and all(F(**dict(zip(p, r))) == 0 for r in t):
                ans.add(''.join(p))
    print(ans)
    
  5. Подходит единственная расстановка: 1-й столбец — yy, 2-й — xx, 3-й — zz, 4-й — ww.

Ответ: yxzw