Логика и таблицы истинности в задачах по информатике
Автор: Казачкин Даниил Михайлович · Обновлено
Логика в информатике описывает высказывания, которые могут быть истинными или ложными. Она нужна для условий в программах, таблиц истинности, задач ЕГЭ и анализа сложных правил.
Основные операции похожи на Python:
- И: оба условия истинны;
- ИЛИ: истинно хотя бы одно условие;
- НЕ: меняет значение на противоположное.
Таблица истинности программой
Для двух логических переменных можно перебрать все варианты.
values = [False, True]
for a in values:
for b in values:
result = (a and not b) or (not a and b)
print(a, b, result)Выражение истинно, когда значения разные. Это исключающее ИЛИ.
Как разбирать сложное условие
Сложное условие лучше делить на части. Вместо одной длинной строки можно создать промежуточные переменные.
x = int(input())
is_even = x % 2 == 0
is_in_range = 10 <= x <= 99
has_good_digit = '7' in str(x)
if is_even and is_in_range and has_good_digit:
print('подходит')
else:
print('не подходит')Такой код легче читать и проверять.
Типовые ошибки
Частая ошибка — неправильно расставить скобки. Операции имеют приоритет, но в учебных задачах лучше писать скобки явно. Вторая ошибка — путать “не меньше” и “меньше”, “хотя бы одно” и “все”.
Для подготовки к ОГЭ и ЕГЭ полезно решать логические задачи двумя способами: вручную через таблицу истинности и программой через перебор. Это помогает увидеть связь между математической логикой и обычными условиями в коде.
Практикум: правило допуска и таблица истинности
Событие проводится, если помещение свободно и есть преподаватель, либо доступен дистанционный формат. Введите переменные room, teacher, online и постройте все восемь строк таблицы истинности. Сравните выражения (room and teacher) or online и room and (teacher or online), найдите строки, где ответы различаются, и объясните роль скобок. Затем запишите условие отмены через отрицание исходного выражения и проверьте его на каждой строке, а не только на одном удобном примере.
Контрольная точка
Как доказать эквивалентность двух логических выражений в школьной задаче? Полная таблица для небольшого числа переменных должна совпасть построчно; совпадение на одном наборе ничего не доказывает.
Частые вопросы
Есть ли у логических операций приоритет?
Да, но при сложном условии лучше поставить скобки по смыслу. Они показывают структуру правила читателю и защищают от неверного переноса привычек между языками и математической записью.
Источники
- Босова Л.Л. Информатика. Базовый курс: учебник для 7-9 классов. - М.: БИНОМ. Лаборатория знаний.
- Поляков К.Ю., Еремин Е.А. Информатика. 10-11 классы. Углубленный уровень.
- Python Documentation: The Python Tutorial.