15 задание ЕГЭ информатика
Законы логики: отрезки, делимость, биты
1 балл ≈ 3 мин уровень П Законы математической логики (отрезки)
Задание 15 – логическое выражение с параметром A (отрезок на числовой прямой, ДЕЛ(x, A), поразрядная конъюнкция x & A), которое должно быть истинно при всех x. Найти наименьшую/наибольшую длину отрезка или значение A. 1 балл.
Способ 1 – перебор на Python (универсальный). Для отрезков: перебирай концы A с шагом и проверяй x с дробным шагом.
def ok(a1, a2):
for t in range(0, 2400):
x = t / 40 # шаг 0,025, чтобы поймать нецелые точки
P = 10 <= x <= 30
Q = 20 <= x <= 50
A = a1 <= x <= a2
if not ((not P) or ((not Q) or A)): # (x∈P) → ((x∈Q) → (x∈A))
return False
return True
print(min(a2 - a1 for a1 in range(60) for a2 in range(a1, 60) if ok(a1, a2)))
Для ДЕЛ: ДЕЛ(x, A) пиши x % A == 0, перебирай A от 1 и x от 1 до 1000. Для поразрядной конъюнкции: (x & A) != 0.
Способ 2 – логически. Упрости выражение: . Оно должно быть истинно везде, значит, где P и Q оба истинны, должно быть истинно A: A ⊇ P ∩ Q.
Разобранный пример. P = [10; 30], Q = [20; 50]. Нужно A ⊇ P ∩ Q = [20; 30]. Наименьшая длина A = 30 − 20 = 10. Программа выше выводит 10.
Ловушки: отрезки замкнутые – концы входят, сравнения <= а не <; при поиске максимальной длины A может быть «не больше» какого-то отрезка – тогда A ⊆ …; шаг проверки x должен быть дробным, иначе можно пропустить дырку между целыми.
- Импликация a → b в коде: (not a) or b. Скобки обязательны.
- Подумай, что выражение требует от A: «включить» какое-то множество (ищем min) или «не задеть» (ищем max).
- Перебор концов A по целым обычно достаточен: концы P и Q целые.
Разобранные задания 15 из открытого банка ФИПИ
Пример 1 · код ФИПИ ee32F5
Для какого наибольшего целого неотрицательного числа А логическое выражение
(x + y ≤ 30) ∨ (y ≤ x + 2) ∨ (y ≥ A)
истинно (т.е. принимает значение 1) при любых целых положительных x и y?
Показать ответ и решение
Ответ: 17
Выражение может быть ложным при и ; там должно быть . Наименьшее такое y: .
Наибольшее A = 17.
Пример 2 · код ФИПИ 600D3A
Обозначим через ДЕЛ(n, m) утверждение «натуральное число n делится без остатка на натуральное число m».
Для какого наименьшего натурального числа А формула
(ДЕЛ(x, 2) → ¬ДЕЛ(x, 3)) \/ (x + A ≥ 100)
тождественно истинна (т.е. принимает значение 1) при любом натуральном значении переменной х?
Показать ответ и решение
Ответ: 94
Первая скобка ложна при x, кратном 6. Нужно x+A ≥ 100 для x=6, откуда A ≥ 94.
Пример 3 · код ФИПИ 0Fc322
Обозначим через ДЕЛ(n, m) утверждение «натуральное число n делится без остатка на натуральное число m»; пусть
на числовой прямой дан отрезок B = [40; 50].
Для какого наибольшего натурального числа А логическое выражение
ДЕЛ(x, A) \/ ((x ∈ B) → ¬ДЕЛ(x, 12))
истинно (т.е. принимает значение 1) при любом целом положительном значении переменной х?
Показать ответ и решение
Ответ: 48
В [40;50] на 12 делится только 48, поэтому A должно делить 48. Наибольшее A = 48.
Частые вопросы о задании 15
Сколько баллов даёт задание 15 ЕГЭ по информатике?
Максимум – 1 первичный балл. Норма времени на экзамене – около 3 мин. Уровень сложности – П.
Что проверяет задание 15?
Задание 15 – логическое выражение с параметром A (отрезок на числовой прямой, ДЕЛ(x, A), поразрядная конъюнкция x & A), которое должно быть истинно при всех x. Найти наименьшую/наибольшую длину отрезка или значение A. 1 балл.
Как подготовиться к заданию 15?
Прочитайте теорию выше: алгоритм, нужные факты и ловушки. Затем решите подход из 10 заданий с автопроверкой и разбором – первые без регистрации – и вернитесь к ошибкам. В пробниках Сотки номер встречается в полных вариантах ФИПИ с подсчётом баллов.