Python для экзамена в 11 классе: перебор, строки, файлы и скорость

Информатикаобновлено 07.10.20269 мин чтенияесть тренажёр

ЕГЭ по информатике сдают на компьютере, и Python там — рабочий инструмент: одни задания прямо требуют написать программу, другие быстрее решить перебором, чем вручную. Разберём, как устроен экзамен по материалам ФИПИ 2026 года, какие темы языка нужны, главные приёмы и 6 задач с автопроверкой.

Загружаем…

Как устроен ЕГЭ по информатике

ЕГЭ по информатике по материалам ФИПИ 2026 года включает 27 заданий, и часть из них выполняется с помощью компьютера: с программами, файлами данных и электронными таблицами.

От бумажного экзамена этот отличается главным: ответ не нужно получать в уме. Если задачу можно решить программой, её решают программой, а в бланк записывают только результат. Поэтому язык программирования здесь не тема из учебника, а инструмент, которым пользуются почти на всём протяжении экзамена. Какой язык выбрать, решает сам ученик; Python популярен потому, что короткие программы на нём пишутся быстро и читаются легко.

Точный формат каждого задания публикует ФИПИ в демоверсии, спецификации и кодификаторе, а также в методических рекомендациях для учеников[1]. Пересказы на форумах и в чатах часто устаревают, поэтому начинать подготовку стоит с официальных документов текущего года.

Задания, где пишут программу

По материалам ФИПИ задания на написание программ — это, например, 17, 24, 25 и 26; в них нужно обработать большой объём данных, где ручной подсчёт невозможен.

Типичная формулировка выглядит так: «дан файл с последовательностью чисел» или «найдите все числа на отрезке, у которых…». Чисел в таких задачах тысячи, а иногда и миллионы, поэтому вариант «посчитаю на калькуляторе» не работает. Короткие программы справляются с этим за секунды. Хорошая программа здесь — это 10–20 строк: чтение данных, цикл, условие, накопитель. Сложность не в длине кода, а в точном понимании условия: какие пары считаются, включаются ли границы, что выводить при равенстве.

Кроме заданий, где программа обязательна, Python помогает и в других: проверить ответ перебором, перевести число в другую систему счисления, перебрать все варианты логического выражения. Это не нарушение правил, а законный способ получить ответ на компьютерном экзамене.

Какие темы Python нужны для ЕГЭ по информатике

Для ЕГЭ по информатике нужен не весь Python, а примерно 8 тем: ввод и файлы, циклы, условия, строки, списки, функции, перевод чисел и встроенная сортировка.

ТемаДля чего нужнаКлючевые конструкции
Циклы for и whileПеребор чисел, проход по даннымfor x in range(a, b + 1)
Остаток и целое делениеДелимость, цифры числа%, //
СтрокиПоиск подстрок, цепочки символовcount, replace, split, срезы
СпискиХранение данных из файла, пары и тройкиappend, индексы, len
ФункцииПроверки, которые повторяютсяdef, return
Системы счисленияПеревод и подсчёт цифрbin, oct, hex, int(s, 2)
СортировкаНаибольшие и наименьшие значенияsorted, sort
ФайлыЧтение данных к заданиюopen, readline, цикл по строкам

Всё это изучают в школьном курсе: по федеральной программе основного общего образования программирование начинается в 8 классе, а массивы и вспомогательные алгоритмы появляются в 9-м[2]. К 11 классу остаётся довести эти навыки до автоматизма и добавить работу с файлами. Повторить строки поможет статья о строках и их методах в Python, а перевод чисел — материал о системах счисления.

Перебор: главный приём экзамена

Перебор — это проверка всех возможных вариантов по очереди, и на компьютерном экзамене он часто оказывается самым надёжным способом: компьютер быстро проверит миллион чисел, если программа написана разумно.

Классический пример — делители числа. Наивный способ перебирает все числа от 1 до n. Он верный, но медленный: для больших n программа может не успеть. Быстрый способ идёт только до квадратного корня, ведь делители бывают парами: если d делит n, то и n // d тоже делитель.

def kol_delitelej(n):
    k = 0
    d = 1
    while d * d <= n:
        if n % d == 0:
            if d * d == n:
                k += 1
            else:
                k += 2
        d += 1
    return k

print(kol_delitelej(36))
9

У числа 36 девять делителей: 1, 2, 3, 4, 6, 9, 12, 18 и 36. Шестёрка в паре сама с собой, поэтому её считают один раз. Подобные вспомогательные программы стоит держать в голове как заготовки. Такую функцию полезно написать заранее и уметь воспроизвести за минуту: задачи на делимость встречаются регулярно.

Строки и файлы с данными

Если к заданию приложен файл, его содержимое читают в программу целиком или построчно, а дальше работают как с обычной строкой или списком чисел.

with open("dannye.txt") as f:
    chisla = [int(s) for s in f]
print(len(chisla), max(chisla))

Конструкция with open(...) сама закроет файл после чтения, а выражение в квадратных скобках превращает каждую строку файла в число. Файл должен лежать в той же папке, что и программа, иначе Python сообщит об ошибке FileNotFoundError. Для строк пригодится умение находить цепочки одинаковых символов подряд: заводят счётчик текущей цепочки и лучший результат, а при смене символа счётчик сбрасывают в 1. Эта задача есть в тренажёре на странице, и её стоит решить без подсказки. В редакторе на сайте файлы не открываются, поэтому в тренажёре данные вводятся через input().

Электронные таблицы или программа

Не каждая задача с данными требует Python: часть удобнее решить в электронных таблицах, где формулу протягивают на тысячи строк за секунду.

Выбор простой. Если нужно посчитать что-то по столбцам — сумму, среднее, количество по условию, — таблица быстрее и нагляднее. Если нужны пары, тройки, вложенный перебор или сложная логика с несколькими условиями, программа надёжнее: в ней каждое условие написано явно, и его легко перепроверить. На ЕГЭ по информатике многие ученики решают одну и ту же задачу двумя способами — таблицей и программой — и сверяют ответы: совпадение даёт уверенность, расхождение — повод перечитать условие.

Как не потерять ответ из-за мелочи

Чтобы программа давала правильный ответ на огромных данных, сначала её проверяют на маленьком примере, где ответ можно посчитать вручную.

  1. Перечитайте условие. Подчеркните границы: «включительно», «строго больше», «различные пары».
  2. Решите пример вручную. Возьмите 5–6 чисел и посчитайте ответ на бумаге.
  3. Запустите программу на этом примере. Ответы должны совпасть.
  4. Только потом запускайте на полных данных. Если программа думает слишком долго, ищите лишний вложенный цикл.

Вложенный цикл по миллиону чисел — это триллион шагов, и такая программа не закончит работу за отведённое время. Если вы видите, что данных много, подумайте, нельзя ли обойтись одним проходом: хранить лучшее значение, считать остатки, упорядочить список. Про упорядочивание и число сравнений подробно рассказано в статье об алгоритмах сортировки.

Тренировочные задачи с автопроверкой

В тренажёре в начале страницы 6 задач на приёмы, которые встречаются в вариантах: делители, цепочки символов, пары, двоичная запись, отрезки и соседние элементы.

Напишите решение, нажмите «✓ Проверить» — программа пройдёт несколько тестов, а справа появятся «Ожидалось» и «Получилось» для каждого непройденного. Кнопка «Подсказка» даёт идею без готового кода. Сравнивайте свои программы с решением только после самостоятельной попытки. Через несколько дней решите те же задачи заново, не заглядывая в прошлые решения: повторное воспроизведение по памяти закрепляет навык прочнее перечитывания, что подтверждает исследование Roediger и Karpicke[3]. Больше упражнений на делимость и цифры — в подборке задач на числа с автопроверкой.

Когда Python не поможет

Python не подходит для всех заданий: в части экзамена важнее понимание теории, чем код. Вот 4 ситуации, где программа не выручит.

  • Не понято условие. Программа без ошибок, но решающая другую задачу, даёт 0 верных ответов.
  • Язык выучен за 1 месяц до экзамена. На отладку незнакомых конструкций уйдёт больше времени, чем на само решение.
  • Задача на рассуждение. Если вариантов 2–3, быстрее разобрать их на бумаге, чем писать код.
  • Медленный перебор на 1 000 000 чисел с вложенным циклом. Нужна идея получше, а не более мощный компьютер.

«На ЕГЭ разрешён только Паскаль, а Python засчитывают с потерями». Это миф: в компьютерных заданиях в бланк записывают ответ, и проверяют именно его, а не язык, которым ответ получен.

«Готовые шаблоны решений гарантируют результат». Это не подтверждается: формулировки меняются от варианта к варианту, и шаблон без понимания легко применить не к той задаче.

Чего делать нельзя

Нельзя запускать программу на полных данных, не проверив её на маленьком примере: ошибку в границе на миллионе чисел не заметить. Остальные правила — ниже.

  • Нельзя забывать b + 1 в range, когда отрезок задан включительно.
  • Не следует считать пары двойным циклом от 0 до n — каждая пара попадёт дважды.
  • Не стоит перебирать делители до n, если хватает перебора до корня.
  • Не допускается путать «больше» и «не меньше»: один знак равенства меняет ответ.
  • Нельзя называть свои переменные именами встроенных функций — после max = 0 функция max перестанет работать.
  • Не стоит писать весь код в одну строку: руководство PEP 8 советует понятные имена и отступ 4 пробела, так ошибку найти проще.

Если вы пока в 9 классе, начните с более простого экзамена: на странице о программировании на ОГЭ разобраны задания 15 и 16.

Источники

[1] ФИПИ. Методические рекомендации для обучающихся по организации индивидуальной подготовки к ЕГЭ 2026 года. Информатика. М., 2026.

[2] Приказ Минпросвещения России от 18.05.2023 № 370 «Об утверждении федеральной образовательной программы основного общего образования».

[3] Roediger H. L., Karpicke J. D. Test-enhanced learning: Taking memory tests improves long-term retention // Psychological Science. 2006. Vol. 17, № 3. P. 249–255.

[4] The Python Tutorial (официальная документация Python 3). Python Software Foundation.

[5] van Rossum G., Warsaw B., Coghlan N. PEP 8 — Style Guide for Python Code. Python Software Foundation, 2001.

Вопросы и ответы

Какую версию Python учить?

Python 3. Вторая ветка языка не поддерживается с 1 января 2020 года, и все современные учебные материалы написаны для третьей.

Нужно ли знать библиотеки вроде numpy?

Нет. Хватает встроенных возможностей: циклов, строк, списков, функций bin и int, сортировки. Сторонние модули на школьных компьютерах могут быть не установлены.

С чего начать, если Python я не знаю совсем?

С ввода, условий и циклов, затем строки и списки. Пока эти темы не стали привычными, браться за полные варианты рано.

Что делать, если программа работает слишком долго?

Остановить её, сократить данные до маленького примера и подумать, где лишний перебор. Часто помогает граница до корня или один проход вместо двух вложенных.

Можно ли решать одну задачу таблицей, а другую программой?

Да, инструмент выбирают под задачу. Важен только верный ответ в бланке.

Где брать задачи для тренировки?

Начните с демоверсии ФИПИ текущего года, затем решайте задачи по темам. Тренажёр на этой странице подойдёт для разминки перед вариантами.