МУМ5 → Информатика → задания → № 2

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

Таблица истинности логической функции

Как это было в демоверсии 2027

Миша заполнял таблицу истинности логической функции 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

Разбор задания 2 демоверсии →

Собрать пробник