ФИПИ · ЕГЭ · Информатика · Задание 2
81 заданий открытого банка ФИПИ: впишите ответ, при затруднении — подсказка; после ответа — разбор по шагам.
Задания открытого банка ФИПИ «Задание 2 (часть 1). Таблицы истинности» (информатика). Ответ вписывается так же, как в бланк ЕГЭ: число, слово или цифры подряд, без пробелов; если в ответе два числа — через пробел, как в таблице ответа (по строкам).
Неофициальная копия. Условия заданий — из открытого банка заданий ФИПИ (fipi.ru); номер у каждого задания открывает его в банке ФИПИ. Ответы, подсказки, разборы и рисунки подготовлены reknow.ru. Нашли ошибку — нажмите «Сообщить об ошибке» у задания.
Задание 2 ЕГЭ по информатике. Умение строить таблицы истинности и логические схемы. На странице — 81 задание открытого банка ФИПИ: ответ проверяется сразу, есть подсказка и подробный разбор.
Это несколько заданий из тренажёра, остальные — в тренажёре в начале страницы.
Миша заполнял таблицу истинности логической функции F
((x ≡ ¬y) → ¬ (w → x)) \/ ¬z,
но успел заполнить лишь фрагмент из трёх различных её строк, даже не указав, какому столбцу таблицы соответствует каждая из переменных w, x, y, z.
|
|
|
|
| F |
|
| 0 | 1 | 0 | 0 |
| 0 |
|
| 0 | 0 |
|
| 1 | 1 |
| 0 |
Определите, какому столбцу таблицы соответствует каждая из переменных w, x, y, z.
В ответе напишите буквы w, x, y, z в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу; затем буква, соответствующая второму столбцу, и т.д.). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.
Пример. Функция задана выражением ¬x \/ y, зависящим от двух переменных, а фрагмент таблицы имеет следующий вид.
|
|
| F |
| 0 | 1 | 0 |
В этом случае первому столбцу соответствует переменная y, а второму столбцу переменная x. В ответе следует написать: yx.
from itertools import permutations, product
F = lambda w,x,y,z: ((x == (not y)) <= (not ((not w) or x))) or not z
rows = [[None,0,1,0], [0,None,None,0], [None,1,1,None]]
for p in permutations('wxyz'):
opts = [[v for v in product([0,1], repeat=4)
if all(c is None or c == b for c, b in zip(r, v))
and not F(**dict(zip(p, v)))] for r in rows]
if any(len(set(c)) == 3 for c in product(*opts)):
print(''.join(p))Мы используем cookies и сервисы аналитики, чтобы понимать, какие темы нужнее и где сайт работает плохо. Продолжая пользоваться сайтом, вы соглашаетесь с этим. Мы используем cookies. Подробнее