Задача. Логическая функция F задаётся выражением a ≡ b ∨ b → c.
На рисунке приведён частично заполненный фрагмент таблицы истинности функции F, содержащий неповторяющиеся строки. Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных a, b, c.
Определим приоритет выполнения логических операций в данном логическом выражении.
- дизъюнкция ∨
- импликация → (следование)
- эквиваленция ≡
Приоритет выполнения логических операций (для справки), обозначение в алгебре логики и запись в языке Python:
- Выражение в скобках
- Отрицание (¬, not)
- Конъюнкция (∧, and)
- Дизъюнкция (∨, or)
- Импликация (→, <=)
- Эквиваленция (≡, ==)
Чтобы решить данное задание, сначала определим, при каких a, b, c выражение f = 1, то есть решим логическое уравнение. А затем в соответствие с данной таблицей в условии и полученным решением уравнения, определим, какому столбцу соответствуют переменные.
Переберем значения логических переменных a, b, c от значения False до True, вычислим для каждого набора значений a, b, c значение выражения, если оно равно True, то выведем значения a, b, c на экран (не будем упрощать выражение намеренно).
Программа решения логического уравнения на языке Python
for a in [0,1]:
for b in [0,1]:
for c in [0,1]:
f = a == ((b or b) <= c)
if f:
print(a,b,c)
Вывод:
0 1 0
1 0 0
1 0 1
1 1 1
Сделаем вывод о том, что последняя строка на решение не влияет, так как в условии задачи в таблице в каждой строке есть 0, а в полученной нами таблице последняя строка содержит все 1.
Рассмотрим оставшиеся три строки таблицы. Выполним рассуждения.
Таблица, полученная нами
0 1 0
1 0 0
1 0 1
Таблица, данная в условии задачи
Имеется одна строка с одним 0 и две строки с двумя 0. Строка с одним 0, это 3-я строка из условия и нами полученная 3-я строка, и 0 в ней стоит во 2-ом столбце в полученном решении и в 1-ом столбце в условии задачи, а это переменная b, значит переменная b стоит на 1 месте.
Далее нетрудно заметить, что переменная с должна стоять в таблице во 2-ом столбце, так как в 1-ой строке полученной таблицы a = 0 и c = 0, а это 1-ая строка в таблице с условием, переменная с имеет два 0.
Ответ: bca
Программа решения логического уравнения на языке Паскаль (читать)
Разбор 2 задания ЕГЭ по информатике
Комментариев нет:
Отправить комментарий