Задание 15 ЕГЭ по информатике: математическая логика
Задание 15 ЕГЭ по информатике (КЕГЭ) проверяет математическую логику — элемент содержания 2.7 кодификатора. Это задание повышенного уровня, за него дают 1 первичный балл, ответ — краткий, одно число, а файл к заданию не прилагается. В открытом банке задание встречается в двух устойчивых формах: отрезки на числовой прямой (нужно найти наибольшую или наименьшую длину отрезка , при которой формула с условиями истинна при любом ) и делимость (формула с предикатами , нужно найти наибольшее или наименьшее натуральное ). В статье — вся теория: таблица истинности импликации и главный приём «импликация ложна только в одном случае», преобразование , законы де Моргана, метод «закрасить числовую прямую» для отрезков, приём через НОД и НОК для делимости и рабочий код полного перебора на Python. Дальше — три разобранных реальных задания из открытого банка ФИПИ и типичные ошибки. Потренироваться можно на реальных заданиях 15 ЕГЭ по информатике онлайн — с мгновенной проверкой ответа.
Что проверяет задание 15 ЕГЭ по информатике
КЭС 2.7 стоит в разделе кодификатора «Теоретические основы информатики» и охватывает работу с логическими высказываниями: связками , таблицами истинности и предикатами — утверждениями, которые становятся высказываниями только после подстановки конкретного . Задание 15 — это не «посчитать одно значение», а найти границу параметра , при которой сложная формула с предикатом остаётся истинной сразу для всех допустимых . Именно слово «тождественно» или оборот «при любом значении переменной» — сигнал, что перебирать придётся не варианты ответа, а свойства всего множества .
Проверяемые умения (КЭС 2.7):
- строить таблицу истинности логических связок, в первую очередь импликации и эквивалентности ;
- выполнять равносильные преобразования: , отрицание импликации, законы де Моргана;
- работать с предикатом и находить длину, границы или объединения отрезков на числовой прямой;
- работать с предикатом делимости и связывать его с НОД и НОК нескольких чисел;
- находить наибольшее или наименьшее натуральное число , при котором формула тождественно истинна (или тождественно ложна) при любом значении переменной.
Задание 15 не требует специализированного программного обеспечения и не сопровождается файлом — все данные даны прямо в тексте условия, а на экзамене доступна среда программирования, поэтому любой ручной разбор всегда можно перепроверить перебором в две строчки кода. Проекты КИМ-2027 ФИПИ публикует в конце августа 2026 года, но структура и содержание работы не менялись с 2025 года, поэтому все цифры ниже приведены по актуальной спецификации ФИПИ 2026 года.
| Параметр | Значение |
|---|---|
| Максимальный балл | 1 первичный (ответ либо полностью совпал с эталоном, либо 0) |
| Уровень сложности | Повышенный (П) |
| Форма ответа | Краткая: одно число |
| Раздел кодификатора | 2. Теоретические основы информатики; КЭС 2.7 |
| Файл | Не прилагается, все данные — в тексте условия |
| Специализированное ПО | Не требуется |
| Рекомендуемое время | 3 минуты (по обобщённому плану ФИПИ) |
| Связанные задания | Задание 2 (тот же КЭС 2.7, но таблицы истинности и логические схемы, базовый уровень), задание 14 (позиционные системы счисления, КЭС 2.3, повышенный уровень) |
Тренируйтесь на реальных заданиях
Задания ЕГЭ по информатике из открытого банка ФИПИ с мгновенной проверкой ответа. Решаем, ошибаемся, разбираем — бесплатно.
Как выглядит формулировка
Формулировка задания 15 почти всегда состоит из двух частей: определение предиката (если используется ) и сама формула с вопросом «для какого наибольшего/наименьшего числа А». Вот реальные формулировки подтипа делимость из открытого банка ФИПИ:
- «Обозначим через ДЕЛ(n, m) утверждение «натуральное число n делится без остатка на натуральное число m». Для какого наибольшего натурального числа А логическое выражение истинно (т.е. принимает значение 1) при любом целом положительном значении переменной х?»
- «...Для какого наименьшего натурального числа А формула тождественно истинна... при любом натуральном значении переменной х?»
А вот формулировки подтипа отрезки:
- «На числовой прямой даны два отрезка: D = [17; 58] и C = [29; 80]. Укажите наименьшую возможную длину такого отрезка A, для которого логическое выражение истинно (т. е. принимает значение 1) при любом значении переменной х.»
Слова «наибольшее» и «наименьшее» в условии — не формальность: перепутать их означает решить противоположную задачу. Так же важно различать «тождественно истинно» и «тождественно ложно» — во втором случае формула обязана быть ложной при любом , и искать нужно не покрытие, а его отсутствие.
Как записывается ответ. Ответ на задание 15 — одно натуральное (или целое неотрицательное) число, без слов, единиц измерения и пояснений. Никаких «А = » или «см» в ответе быть не должно — только число, как того требует форма ответа для заданий 1–25 КЕГЭ.
Теория: всё, что нужно для задания 15
Импликация: единственный случай лжи
Почти в каждой формуле задания 15 главная связка — импликация («если А, то Б»). Вся логика задания строится на одном факте — таблице истинности:
| A | B | A → B |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Главный приём: импликация ложна ровно в одном случае — когда посылка истинна, а следствие ложно. Во всех остальных трёх случаях она истинна.
Отсюда — стандартный ход решения всего задания 15: вместо того чтобы искать, когда громоздкая формула истинна, ищут когда она ложна (это всегда проще — условие лжи для импликации одно), а затем требуют, чтобы таких не нашлось ни одного. «Формула тождественно истинна» и «не существует x, при котором формула ложна» — одно и то же утверждение.
Равносильные преобразования
1. Импликация через дизъюнкцию
Эта формула превращает импликацию в «или» — с дизъюнкцией проще искать, когда всё выражение ложно (для этого должны быть ложны оба слагаемых).
2. Отрицание импликации
Именно эта формула и есть «условие лжи» из блока выше, записанное символами: импликация не выполняется, когда истинно, а ложно.
3. Законы де Моргана
Они нужны, когда после раскрытия импликации внутри формулы остаётся отрицание конъюнкции или дизъюнкции — например, в выражении из примера 2 ниже: по де Моргану это , а не что-то более сложное. Частая ошибка — «протащить» отрицание внутрь конъюнкции, не поменяв её на дизъюнкцию: знак связки обязательно переключается.
Отрезки: метод «закрасить числовую прямую»
В этом подтипе предикат — принадлежность отрезку: , , . Формула почти всегда сводится (после раскрытия импликаций и де Моргана по блокам выше) к простому требованию: каждая точка одного отрезка обязана лежать в одном из других. Дальше работает не алгебра, а картинка.
Шаги метода
- нарисуйте числовую прямую и отметьте на ней все заданные отрезки одним слоем ниже другого — так виднее пересечения;
- «закрасьте» (заштрихуйте) отрезок, который формула разрешает не покрывать отрезком — обычно это тот, что уже упомянут в условии как достаточный (в примере 2 ниже — отрезок );
- незакрашенная часть отрезка, который обязан быть покрыт (например, ) — это проблемная зона: именно её должен целиком накрыть отрезок ;
- минимальный (или, если спрашивают о наибольшей длине — максимальный при доп. ограничениях) отрезок — это отрезок ровно по границам проблемной зоны.
Маленький пример целиком
Пусть , , и формула требует, чтобы была истинна при любом . Отрезок покрывает часть от 5 до 10, а промежуток остаётся непокрытым — это и есть проблемная зона. Точки, сколь угодно близкие к 5 слева, всё ещё требуют покрытия, поэтому обязан содержать саму точку 5: минимальный подходящий отрезок — , длина 3.
Ловушка: «длина отрезка» ≠ «количество точек»
Длина отрезка — это , а не количество целых точек в нём (их , на единицу больше). Для длина равна , хотя целых точек в нём четыре (2, 3, 4, 5). Спутав эти два числа, легко сдать ответ на единицу больше или меньше правильного — а «наибольшая длина отрезка» в вопросе не имеет никакого отношения к «наибольшему числу точек».
Делимость: приём через НОД и НОК
Предикат истинен ровно тогда, когда кратно , то есть . Формулы этого подтипа почти всегда после раскрытия импликации по блоку 1 сводятся к условию вида «каждое , кратное и , и , обязано быть кратно ».
Ключевое правило: и одновременно истинны ровно на числах, кратных . А «каждое кратное делится на » равносильно тому, что — делитель : ведь само является наименьшим таким кратным, и если бы не делило , само число стало бы контрпримером.
Отсюда практический вывод: если вопрос — «наибольшее , при котором каждое кратное делится на », ответ — это само число (наибольший делитель числа всегда оно само). НОК считаем через разложение на простые множители:
Например, для и берём максимальную степень каждого простого множителя: .
Если же параметр встречается не в предикате , а в числовом неравенстве (например, ), делимость нужна только для того, чтобы описать множество «опасных» , а дальше применяется другой приём — переход к худшему случаю: неравенство должно выполняться для всех опасных , а значит — и для самого маленького из них (у неравенства требование тем жёстче, чем меньше ). Наименьший подходящий находится подстановкой этого наименьшего опасного — разбор такого примера смотрите в примере 3 ниже.
Проверка полным перебором на Python
На КЕГЭ доступна среда программирования, и полный перебор — законный и самый надёжный способ проверить ручной разбор или решить задачу целиком, если аналитика не складывается. Шаблон для подтипа «делимость» — реализовать формулу дословно и перебрать и :
def DEL(n, m):
return n % m == 0
def formula(x, A):
return DEL(x, A) or (not DEL(x, 14)) or (not DEL(x, 4))
def tozhdestvenno_istinna(A, x_max):
return all(formula(x, A) for x in range(1, x_max + 1))
best = 0
for A in range(1, 500):
if tozhdestvenno_istinna(A, x_max=5000):
best = A
print(best)Как выбрать границу перебора x_max. Формулы с периодичны: значение повторяется с периодом , а вся формула — с периодом, равным НОК всех делителей, встречающихся в условии. В заданиях банка эти числа не превышают нескольких сотен, поэтому в несколько тысяч (или сразу ) с большим запасом перекрывает десятки периодов — процессору это стоит долей секунды, а риск «не заметить» контрпример пропадает.
Для подтипа «отрезки» переменная непрерывна, перебрать все вещественные числа нельзя. Но поскольку границы всех отрезков в условии — целые, истинность формулы может поменяться только в целых точках, а внутри каждого промежутка между соседними целыми она постоянна. Значит достаточно проверить сами целые точки и середины промежутков между ними:
def in_segment(x, a, b):
return a <= x <= b
def formula(x, a, b):
D = in_segment(x, 17, 58)
C = in_segment(x, 29, 80)
A = in_segment(x, a, b)
return (not D) or C or A
def tozhdestvenno_istinna(a, b, lo=0, hi=100, step=0.5):
n = int((hi - lo) / step)
return all(
formula(lo + i * step, a, b) for i in range(n + 1)
)
best = None
for a in range(0, 100):
for b in range(a, 100):
if tozhdestvenno_istinna(a, b):
length = b - a
if best is None or length < best:
best = length
print(best)Шаг перебора (половина целого) гарантированно ловит любой промежуток положительной длины между целыми границами, а диапазон нужно брать с запасом за пределы всех отрезков из условия. Такой перебор — не «запасной», а основной инструмент самопроверки: расхождение с ручным разбором на 1 почти всегда означает ошибку на границе (открытая/закрытая точка) или ту самую путаницу «длина против количества точек».
Алгоритм решения задания 15
- Определите подтип. Есть в условии — работаете с делимостью, НОД и НОК. Есть отрезки — работаете с числовой прямой. Прочитайте вопрос до конца и выпишите, что именно ищете: наибольшее или наименьшее , и должна ли формула быть тождественно истинной или тождественно ложной.
- Уберите импликации и эквивалентности. Раскройте каждую связку и через , , по формулам из блока 2, применяя законы де Моргана к каждому отрицанию скобки.
- Найдите условие лжи всей формулы. После упрощения формула обычно превращается в одну большую дизъюнкцию — она ложна, только когда ложны все её слагаемые одновременно. Выпишите это условие как систему на (или ).
- Требуйте отсутствие решений. «Тождественно истинна» означает «система из шага 3 не имеет решений»; «тождественно ложна» — наоборот, «решение существует всегда». Для отрезков переведите систему в картинку (блок 3), для делимости — в условие на НОД/НОК (блок 4).
- Найдите граничное значение A. Для отрезков — это координаты концов проблемной зоны. Для делимости — это само число (если ищете наибольшее , делящее его) или значение из решённого неравенства на худшем случае (если встречается вне ).
- Проверьте соседние значения. Убедитесь, что на единицу больше (для «наибольшего») или меньше (для «наименьшего») уже ломает формулу — приведите конкретный , на котором она станет ложной. Это самый быстрый способ поймать ошибку в направлении неравенства.
- Проверьте перебором в Python (шаблоны из блока 5) и запишите в ответ только число — без слов, знаков отрезка и пояснений.
Доведите приём до автоматизма
Прорешайте 10–15 заданий подряд — и переход от импликации к дизъюнкции перестанет требовать черновика. Задания ЕГЭ по информатике из банка ФИПИ с проверкой ответа — на Repet.ai.
Примеры с разбором
Пример 1. Делимость, наибольшее А
Условие (реальное задание из открытого банка ФИПИ):
Обозначим через ДЕЛ(n, m) утверждение «натуральное число n делится без остатка на натуральное число m». Для какого наибольшего натурального числа А логическое выражение истинно (т.е. принимает значение 1) при любом целом положительном значении переменной х?
Решение:
Шаг 1. Раскрываем внешнюю импликацию, где посылка — :
Шаг 2. Формула — дизъюнкция трёх слагаемых, она ложна только когда ложны все три: не делится на , но делится и на 14, и на 4. Тождественная истинность означает — таких быть не должно, то есть каждое число, кратное и 14, и 4, обязано делиться на .
Шаг 3. Числа, кратные 14 и 4 одновременно, — это кратные . Раскладываем: , , значит:
Шаг 4. Подставив , получаем, что обязано быть делителем 28. Наибольший делитель числа — оно само, и он подходит: любое кратное 28 автоматически делится на 28.
def DEL(n, m):
return n % m == 0
def formula(x, A):
return DEL(x, A) or (not DEL(x, 14)) or (not DEL(x, 4))
best = 0
for A in range(1, 200):
if all(formula(x, A) for x in range(1, 100000)):
best = A
print(best) # 28Ответ: 28. Проверка здравым смыслом: 28 — это ровно , а не (частая ошибка — перемножить делители вместо НОК) и не (перепутать НОД и НОК).
Пример 2. Отрезки, наименьшая длина А
Условие (реальное задание из открытого банка ФИПИ):
На числовой прямой даны два отрезка: D = [17; 58] и C = [29; 80]. Укажите наименьшую возможную длину такого отрезка A, для которого логическое выражение истинно (т. е. принимает значение 1) при любом значении переменной х.
Решение:
Шаг 1. Обозначим , , . Формула: . Если (точка вне ), внешняя импликация истинна автоматически — всё решается только внутри .
Шаг 2. Пусть . Тогда , и внутренняя импликация истинна только при ложной посылке. По де Моргану . Значит на всём отрезке должно выполняться — каждая точка лежит в или в .
Шаг 3. «Закрашиваем» числовую прямую: накрывает часть от 29 до 58, а промежуток остаётся непокрытым — это и есть проблемная зона, которую обязан целиком закрыть .
Шаг 4. Точки, сколь угодно близкие к 29 слева, всё ещё лежат в и не лежат в — значит, обязан содержать саму точку 29. Минимальный подходящий отрезок — , его длина:
def in_segment(x, a, b):
return a <= x <= b
def formula(x, a, b):
D = in_segment(x, 17, 58)
C = in_segment(x, 29, 80)
A = in_segment(x, a, b)
return (not D) or C or A
def ok(a, b, lo=0, hi=100, step=0.5):
n = int((hi - lo) / step)
return all(formula(lo + i * step, a, b) for i in range(n + 1))
best = None
for a in range(0, 100):
for b in range(a, 100):
if ok(a, b):
length = b - a
if best is None or length < best:
best = length
print(best) # 12Ответ: 12. Проверка здравым смыслом: длина зоны, не покрытой , — это ; отрезок не обязан быть больше этой зоны, но и меньше быть не может — иначе рядом с точкой 29 останется непокрытая точка.
Пример 3. Делимость, наименьшее А в неравенстве
Условие (реальное задание из открытого банка ФИПИ):
Обозначим через ДЕЛ(n, m) утверждение «натуральное число n делится без остатка на натуральное число m». Для какого наименьшего натурального числа А формула тождественно истинна (т. е. принимает значение 1) при любом натуральном значении переменной х?
Решение:
Шаг 1. Дизъюнкция ложна только тогда, когда ложны оба слагаемых. Раскрываем первое: . Эта импликация ложна, только когда делится и на 2, и на 3 — то есть кратно .
Шаг 2. Значит второе слагаемое обязано быть истинным для всех , кратных 6 (на остальных формула истинна и без него).
Шаг 3. Переход к худшему случаю: чем меньше , тем жёстче условие . Наименьшее натуральное кратное шести — , откуда:
При для любого кратного 6 числа выполнено , значит наименьшее подходящее значение — 94.
def DEL(n, m):
return n % m == 0
def formula(x, A):
impl = (not DEL(x, 2)) or (not DEL(x, 3))
return impl or (x + A >= 100)
for A in range(1, 200):
if all(formula(x, A) for x in range(1, 10000)):
print(A) # 94
breakОтвет: 94. Проверка здравым смыслом: если бы взяли не самое маленькое кратное шести, а, скажем, , получили бы — более слабое и потому неверное требование. Именно наименьший «опасный» задаёт ответ.
Типичные ошибки и ловушки
Спутали условие лжи импликации с «и» или «или»
Импликация ложна ровно в одном случае — когда истинно, а ложно. Если считать её ложной «когда оба ложны» или «когда хотя бы одно ложно», всё последующее решение рассыпается с первого шага.
Не переключили связку при переносе отрицания
По де Моргану : отрицание конъюнкции — это дизъюнкция отрицаний, а не конъюнкция. Оставить знак связки прежним — самая частая алгебраическая ошибка в задании 15.
В отрезках посчитали длину как количество целых точек
Длина отрезка равна , а число целых точек в нём — , на единицу больше. Ответ «на единицу не совпал с ключом» почти всегда означает именно эту путаницу.
Не учли точку на самой границе отрезка
Точки, сколь угодно близкие к границе соседнего отрезка, всё ещё требуют покрытия — значит, отрезок обязан включать саму граничную точку, даже если формально «на бумаге» кажется, что до неё чуть-чуть не хватает. Проверяйте предельный случай отдельно.
В делимости перепутали НОД и НОК
Условие «делится и на p, и на q» — это всегда , а не и не произведение . Разложите оба числа на простые множители и берите максимальную степень каждого — так ошибиться сложнее, чем при устном подборе.
Перепутали «наибольшее» и «наименьшее»
Это не мелочь: наибольшее и наименьшее в одной и той же формуле — почти всегда разные числа и разные ходы решения. Подчеркните нужное слово в условии перед тем, как начинать считать.
Взяли слишком маленький диапазон при проверке перебором
Формулы с периодичны с периодом, равным НОК всех делителей условия. Если в коде меньше одного периода, перебор может «не заметить» контрпример и подтвердить неверный ответ. Берите диапазон заведомо с запасом — это почти бесплатно по времени выполнения.
Как задание 15 связано с остальным экзаменом
Всего в КЕГЭ по информатике 27 заданий с кратким ответом, все проверяются автоматически, частей в работе нет. Максимальный первичный балл за всю работу — 29, на работу отводится 235 минут. Задание 15 занимает в этой конструкции особое место:
- оно входит в раздел «Теоретические основы информатики» — самый крупный раздел кодификатора КЕГЭ, 11 заданий и 11 первичных баллов;
- делит код кодификатора 2.7 с заданием 2 — там тоже логика, но базового уровня: таблицы истинности и логические схемы без параметра и без квантора «при любом x». Задание 15 — усложнённое продолжение той же темы;
- соседствует по уровню сложности с заданием 14 (позиционные системы счисления) — оба повышенного уровня, оба требуют не быстрого счёта, а аккуратного структурного анализа условия;
- не стоит путать с заданиями 19–21 (анализ игр) — там тоже логический анализ, но код кодификатора другой (2.15), а вопрос не про тождественную истинность формулы, а про выигрышную стратегию в игре с двумя игроками.
План подготовки на 2 недели
Неделя 1 — алгебра логики и приёмы
День 1–2: выучите таблицу истинности импликации и формулу наизусть, потренируйтесь раскрывать отрицание импликации и законы де Моргана на 10–15 коротких формулах без параметра . День 3–5: разберите метод «закрасить числовую прямую» на 5–7 простых отрезках (два-три отрезка в условии, целые границы). День 6–7: разберите приём НОД/НОК на 5–7 задачах делимости, каждый раз проверяя решение перебором в Python.
Неделя 2 — реальные задания и скорость
День 1–3: решайте задания из открытого банка вперемешку — оба подтипа, оба направления («наибольшее» и «наименьшее»), сверяя каждое ручное решение с перебором. День 4–5: отдельно потренируйте пограничные случаи — открытая/закрытая точка на стыке отрезков, наименьший «опасный» в задачах с неравенством. День 6–7: работайте на время — не больше 3 минут на задание, и проверьте себя в тренажёре на заданиях из банка ФИПИ.
Проверьте себя на реальных заданиях
На Repet.ai собраны задания ЕГЭ по информатике из открытого банка ФИПИ. Решайте онлайн, проверяйте ответ мгновенно и разбирайте решение — бесплатно.
Часто задаваемые вопросы
Математическую логику — умение работать со связками ¬, ∧, ∨, →, ≡, строить таблицы истинности и находить наибольшее или наименьшее натуральное число A, при котором сложная логическая формула с предикатом остаётся истинной (или ложной) при любом значении переменной. В кодификаторе это элемент содержания 2.7, раздел «Теоретические основы информатики».
1 первичный балл по принципу «всё или ничего»: ответ либо полностью совпадает с эталоном, либо задание оценивается в 0. По обобщённому плану ФИПИ на задание 15 отводится 3 минуты. Уровень сложности — повышенный.
Ровно в одном случае: когда посылка A истинна, а следствие B ложно. Во всех остальных трёх комбинациях (0-0, 0-1, 1-1) импликация истинна. Именно на этом факте строится решение почти любой формулы задания 15: вместо поиска, когда формула истинна, ищут, когда она ложна, а затем требуют отсутствия таких x.
Методом «закрасить числовую прямую»: нарисовать все заданные отрезки, определить, какая часть обязательного отрезка уже покрыта другими условиями формулы, и найти минимальный (или по условию — максимальный) отрезок A, который целиком закрывает оставшуюся непокрытую часть. Точки, сколь угодно близкие к границе соседнего отрезка, всё ещё требуют покрытия — поэтому границу нужно включать в A.
Через НОД и НОК. Если формула требует, чтобы каждое число, делящееся одновременно на p и на q, делилось ещё и на A, такие числа — это в точности кратные НОК(p, q). Наибольшее подходящее A равно самому числу НОК(p, q) — оно и есть наибольший делитель самого себя. Если A входит не в предикат ДЕЛ, а в числовое неравенство, задачу решают через наименьший или наибольший «опасный» x.
Длина отрезка [a; b] равна b − a. Количество целых точек в этом же отрезке равно b − a + 1, то есть на единицу больше. Задание 15 всегда спрашивает про длину, а не про количество точек — подмена этих двух чисел даёт ответ, отличающийся от правильного ровно на 1.
Да, это законный и надёжный способ. Для делимости перебирают A и проверяют формулу на диапазоне x с запасом в несколько периодов (период равен НОК всех делителей условия). Для отрезков с целыми границами достаточно проверить целые точки и середины промежутков между ними, поскольку истинность формулы меняется только на границах отрезков.
Ответ — одно натуральное или целое неотрицательное число, без слов, единиц измерения, знака «А =» и других пояснений. Как и во всех заданиях 1–25 КЕГЭ, ответ либо полностью совпадает с эталоном, либо считается неверным — частичного зачёта на задании 15 нет.
Готовы взять балл повышенного уровня?
Задание 15 держится на нескольких приёмах: таблица истинности импликации, равносильные преобразования, «закрасить числовую прямую» для отрезков и НОД/НОК для делимости. Отработайте их на реальных заданиях из открытого банка ФИПИ с мгновенной проверкой ответа — и математическая логика перестанет быть лотереей.