Информатика — единственный ЕГЭ, который сдают за компьютером, и единственный, где половина заданий решается кодом на 10 строк. Это и ловушка: ты умеешь программировать, открываешь демоверсию — и на задании 3 (база данных в таблице) понимаешь, что тут нужен Excel, а на 8-м — комбинаторика, а на 13-м — IP-адреса, которые ты никогда не считал.
Хорошая новость: экзамен предельно предсказуем. Тип каждого задания не меняется годами, у каждого есть шаблон решения, и подготовка — это 27 шаблонов, выученных в правильном порядке. Плохая: без понимания, какие задания стоят дёшево, а какие дорого, можно потратить месяц на 27-е и потерять 10 баллов на «лёгких».
В статье — таблица всех заданий с ценой и сложностью, что решать кодом, план на год и разбор трёх заданий с решением.
Структура экзамена
27 заданий, все на компьютере (КЕГЭ), 3 часа 55 минут. Задания 1–25 — по 1 первичному баллу, 26 и 27 — по 2. Максимум 29 первичных. Минимальный балл для поступления в вуз — 40 тестовых (вузы часто ставят выше). На экзамене есть редактор кода (Python, C++, Pascal и др.), электронные таблицы, текстовый редактор. Интернета нет. Спецификация — на fipi.ru.
Шкала нелинейная: 20 первичных — около 78 тестовых, 23 — около 85, 26 — 93+. Точную смотри в спецификации года.
Все 27 заданий: цена и сложность
| № | Тема | Как решать | Сложность отработки |
|---|---|---|---|
| 1 | Граф по таблице / таблица по графу | Руками | Низкая |
| 2 | Таблица истинности логического выражения | Python: перебор itertools.product |
Низкая |
| 3 | База данных (несколько таблиц) | Excel: фильтры, ВПР или СУММЕСЛИ | Средняя |
| 4 | Код Фано, префиксные коды | Руками, дерево | Низкая |
| 5 | Алгоритм над числом (двоичная запись) | Python: перебор N | Низкая |
| 6 | Исполнитель Черепаха/Чертёжник | Руками или turtle |
Средняя |
| 7 | Объём файла: звук, изображение, передача | Формула, руками | Низкая |
| 8 | Комбинаторика: слова из букв | Python: itertools.product + условие |
Низкая |
| 9 | Электронная таблица: анализ строк | Excel: формулы по строке | Средняя |
| 10 | Поиск слова в документе | Текстовый редактор: Ctrl+F, «целое слово» | Низкая |
| 11 | Объём информации: пароли, идентификаторы | Формула, руками | Низкая |
| 12 | Исполнитель Редактор (замена подстрок) | Python: цикл while со replace |
Средняя |
| 13 | IP-адреса, маски, подсети | Руками в двоичной или Python | Средняя |
| 14 | Системы счисления: цифры числа в базе N | Python: перебор + перевод | Низкая |
| 15 | Логика: множества / делимость / отрезки | Python: перебор A по условию | Средняя |
| 16 | Рекурсивная функция | Python: lru_cache + setrecursionlimit |
Низкая |
| 17 | Обработка последовательности из файла | Python: чтение файла, пары | Средняя |
| 18 | Робот в таблице: максимум/минимум суммы | Excel: динамика по таблице | Средняя |
| 19–21 | Теория игр: две кучи камней | Python: рекурсия, или дерево руками | Средняя |
| 22 | Параллельные процессы из таблицы | Excel: сортировка, максимум по зависимостям | Средняя |
| 23 | Количество программ исполнителя | Python: динамика/рекурсия | Низкая |
| 24 | Обработка строки из файла | Python: строки, split, max |
Средняя |
| 25 | Делители чисел, маски | Python: перебор до sqrt, маски через строки |
Средняя |
| 26 | Оптимизация над файлом (жадный алгоритм, сортировка) | Python: сортировка + логика | Высокая |
| 27 | Обработка большого файла (миллион строк) | Python: проход за один раз с накоплением | Очень высокая |
Итог: 11 заданий с низкой сложностью — это 11 баллов, около 50 тестовых, за 2–3 месяца. Ещё 14 заданий средней — путь к 85. Задания 26–27 — 4 балла для тех, кто хочет 90+.
Что решать кодом, а что руками
Python решает 2, 5, 8, 12, 14, 15, 16, 17, 19–21, 23, 24, 25, 26, 27 — 16 заданий. Ты не обязан программировать, но перебор в 5 строк надёжнее, чем 20 минут рассуждений с ошибкой в знаке.
Руками быстрее: 1, 4, 7, 11, 13 (если уверен в двоичной), 10.
Excel: 3, 9, 18, 22. Учить нужно: фильтры, сортировку, СУММЕСЛИ, СЧЁТЕСЛИ, абсолютные ссылки $A$1, протягивание формул.
Совет: заведи файл-шпаргалку с шаблонами кода под каждое задание: 2, 5, 8, 14, 15, 16, 23, 25. На экзамене интернета нет, но шаблоны ты к тому времени помнишь наизусть — если писал их каждую неделю.
План подготовки на год
| Месяц | Задания | Контроль |
|---|---|---|
| Сентябрь | Python-минимум: циклы, строки, списки, функции, файлы. Задания 1, 4, 7, 11 | Демоверсия: что решено |
| Октябрь | 2, 5, 8, 14 — перебор | 5 задач каждого типа за 5 минут |
| Ноябрь | 16, 23, 12 | Первая часть 1–16: 12+ |
| Декабрь | 3, 9, 10, 13 | Excel без подсказок |
| Январь | 15, 17, 24 | 20+ заданий за вариант |
| Февраль | 19–21 (игры), 18, 22 | Полный вариант на время |
| Март | 25, 26. Вариант раз в неделю | 22+ первичных |
| Апрель | 27, варианты, копилка ошибок | 24+ первичных |
| Май | Повтор шаблонов, два варианта на время | Спокойствие |
Три занятия в неделю по 60–90 минут. Каждое — 2–3 задачи одного типа с написанием кода с нуля, не копированием.
Разбор задания 2: таблица истинности
Задача. Дано выражение (x → y) ∧ (y → z) ∧ ¬w. Дан фрагмент таблицы истинности с тремя строками, где функция равна 1, и столбцы обозначены неизвестно. Определить, какому столбцу соответствует каждая переменная.
Подход: перебираем все наборы, печатаем те, где функция равна 1, и сопоставляем с фрагментом.
from itertools import product
for x, y, z, w in product([0, 1], repeat=4):
f = ((not x) or y) and ((not y) or z) and (not w)
if f:
print(x, y, z, w)
Импликация a → b записывается как (not a) or b. В выводе будет несколько строк с единицей; сравниваешь их с фрагментом таблицы: если в фрагменте столбец 1 всегда 0, а в выводе только w всегда 0 — значит, столбец 1 это w. Дальше по остальным столбцам. Если условие «F = 0», меняешь if f на if not f.
Типичная ошибка: перепутать порядок переменных в product и в print, или записать импликацию как x and y.
Разбор задания 14: системы счисления
Задача. Значение выражения 7·216⁵ + 6·36⁷ − 5·6⁴ + 2·6 − 3 записали в шестеричной системе. Сколько цифр 5 в этой записи?
Шаг 1. Всё сводится к основанию 6: 216 = 6³, 36 = 6². Можно посчитать руками через разряды, но проще посчитать число и перевести.
n = 7 * 216**5 + 6 * 36**7 - 5 * 6**4 + 2 * 6 - 3
digits = ''
while n > 0:
digits = str(n % 6) + digits
n //= 6
print(digits.count('5'))
Шаг перевода: остаток от деления на 6 — младшая цифра; целочисленное деление — сдвигаем разряд. Проверка руками возможна: 7·6¹⁵ + 6·6¹⁴ = 7·6¹⁵ + 6¹⁵ = 8·6¹⁵ = (6 + 2)·6¹⁵ = 6¹⁶ + 2·6¹⁵, дальше вычитания дают цепочки пятёрок — код делает это быстрее и без ошибок.
Разбор задания 16: рекурсивная функция
Задача. Функция F(n) задана так: F(1) = 1; F(n) = n + F(n − 1), если n чётное; F(n) = 2·F(n − 2), если n нечётное и n > 1. Найти F(24).
import sys
from functools import lru_cache
sys.setrecursionlimit(10000)
@lru_cache(None)
def F(n):
if n == 1:
return 1
if n % 2 == 0:
return n + F(n - 1)
return 2 * F(n - 2)
print(F(24))
Проверим руками первые значения: F(1) = 1, F(2) = 2 + F(1) = 3, F(3) = 2·F(1) = 2, F(4) = 4 + F(3) = 6, F(5) = 2·F(3) = 4, F(6) = 6 + F(5) = 10. Нечётные — степени двойки: F(2k+1) = 2^k. Чётные — F(2k) = 2k + 2^(k−1). Тогда F(24) = 24 + 2^11 = 24 + 2048 = 2072. Код выдаст то же.
lru_cache спасает, когда n большое (тысячи), а setrecursionlimit — от ошибки глубины рекурсии. Если функция печатает (print внутри), а вопрос «сколько символов выведено» — считай вызовы, а не значение.
Как работать с вариантами
- С марта — один полный вариант в неделю на время (3 часа 55 минут).
- Порядок на экзамене: сначала «свои» лёгкие (1–16, кроме тех, где сомневаешься), потом средние, 26–27 — только с запасом времени 40+ минут.
- Каждое задание с ошибкой — в копилку: номер, тип ошибки (логика / код / чтение условия), правильный шаблон.
- Ответы вводятся в поле — проверяй, что скопировал число полностью, без лишних пробелов.
Типичные ошибки
- Начинать с 27-го. Это 2 балла за 2 месяца, пока 1–16 дают 16 баллов за 2 месяца.
- Не учить Excel. Задания 3, 9, 18, 22 — 4 балла, которые кодом решать дольше.
- Копировать шаблоны, не понимая. Изменили условие — шаблон не работает, а ты не знаешь, что менять.
- Пропускать проверку на маленьких числах. Код в 16-м посчитал 2072, а ты в спешке ввёл 2027.
- Забывать про
setrecursionlimit. На больших n программа падает без объяснений. - Читать условие один раз. «Сколько чисел, кратных 3, но не кратных 5» — фильтр из двух условий, а не одного.
- Не засекать время. 27 заданий за 235 минут — по 8 минут на каждое, и 27-е одно может съесть час.
Частые вопросы
С чего начать подготовку к ЕГЭ по информатике?
С Python-минимума: циклы, строки, списки, функции, работа с файлами — 2–3 недели. Потом — «переборные» задания 2, 5, 8, 14: они дают 4 балла и учат основному приёму экзамена. Excel — в декабре, игры и 26–27 — весной.
Какие задания ЕГЭ по информатике самые лёгкие?
1, 2, 4, 5, 7, 8, 10, 11, 14, 16, 23 — они решаются за 3–5 минут по шаблону и дают 11 первичных баллов. Это уже около 50 тестовых.
Нужно ли знать Python для ЕГЭ по информатике?
Формально нет — 10 заданий решаются руками и в Excel. Практически — без языка программирования потолок около 60 баллов: задания 16, 17, 24–27 без кода почти не решаются. Python — самый короткий путь: минимум за 3 недели.
Сколько заданий надо решить на 80 баллов?
Около 21 первичного балла: 19–20 заданий из первых 25 плюс одно из 26–27, или 21 задание без 26–27. Точную шкалу смотри в спецификации года.
Можно ли подготовиться к ЕГЭ по информатике с нуля за год?
Да, при трёх занятиях в неделю: до 75–85 баллов реально, если не пропускать «дешёвые» задания и с марта решать варианты на время. Задания 26–27 при таком сроке — по возможности.
Что дальше
- Информатика и программирование для школьника
- Разбор: Python в школьной информатике
- Разбор: алгоритмы
- Разбор задач по информатике
- Как решать варианты ЕГЭ правильно
- 27 заданий как 27 задач с подзадачами и дедлайнами: Doday для подготовки к ЕГЭ