Шаблоны для подготовки к ЕГЭ по информатике (программирование, Python)
Данный сборник методических материалов предназначен для подготовки к ЕГЭ по информатике. В нём собраны краткие алгоритмы и готовые шаблоны решений для некоторых типов задач.
|
Как работать с материалами |
Важные советы |
|
Сначала определите тип задачи по её номеру или формулировке. |
|
|
Найдите соответствующий шаблон — он уже содержит правильную структуру кода и ключевые приёмы. |
Не копируйте код вслепую. Сначала поймите, что делает каждая строка, и только потом перепечатайте и адаптируйте под своё условие. |
|
Подставьте данные из условия вместо примеров (числа, системы счисления, команды исполнителя, маски и т.д.). |
Для задач 27 (кластеризация) сначала постройте точки в электронной таблице, чтобы правильно разделить кластеры и выявить аномалии. |
|
Запустите программу и получите ответ. |
Проверяйте ответ. Иногда бывает опечатка в условии или в шаблоне – лучше пересчитать вручную для маленьких значений. |
Эти материалы не заменят полного курса, но дадут надёжный каркас, на который можно опереться на экзамене.
Оглавление
Задание 2. Логические выражения и таблицы истинности
Задание 5. Алгоритмы с системами счисления
Задание 6. Черепаха и координатная плоскость
Задание 8. Комбинаторика: слова и числа
Задание 13. IP-адреса и маски сети
Задание 14. Арифметика в разных системах счисления
Задание 15. Логические условия с параметром A
Задание 16. Рекурсивные функции
Задание 17. Последовательности из файла
Задания 19–21. Теория игр
Задание 23. Исполнитель и количество программ
Задание 24. Делители и маски
Задание 27. Кластеризация
Задание 2. Логические выражения и таблицы истинности
Краткая рекомендация: сначала переведи логическое выражение на Python, затем перебери все значения переменных 0 и 1 и выведи только те строки, где функция принимает нужное значение.
Что важно помнить:
|
В условии |
В Python |
|
¬ |
not |
|
∧ |
and |
|
∨ |
or |
|
→ |
<= |
|
≡ |
== |
Отрицание лучше всегда брать в скобки: not(x).
Шаблон решения:
Как адаптировать шаблон:
- Оставь только те переменные, которые есть в задаче.
- Замени F = ... на выражение из условия.
- Проверь, какие строки нужны: где F = 0 или где F = 1.
- Сравни полученные наборы с таблицей из задания.
Задание 5. Алгоритмы с системами счисления
Краткая рекомендация: перебери исходное число N, выполни алгоритм из условия, переведи результат в десятичную систему и проверь требование задачи.
Полезные команды:
|
bin(x) |
# двоичная запись |
|
oct(x) |
# восьмеричная запись |
|
hex(x) |
# шестнадцатеричная запись |
|
int(s, n) |
# перевод строки s из n-й системы счисления в десятичную |
Шаблон для перевода в любую систему счисления:
Шаблон решения:
Как адаптировать шаблон:
- Замени основание системы счисления.
- Замени правило обработки числа.
- Замени условие для результата R.
- Если требуется минимальное N, используй break после первого подходящего ответа.
Задание 6. Черепаха и координатная плоскость
Краткая рекомендация: построй фигуру по командам Черепахи, затем перебери точки на координатной плоскости и посчитай те, которые удовлетворяют условию.
Шаблон решения:
Как адаптировать шаблон:
- Перепиши команды Черепахи из условия.
- Все расстояния умножай на k, чтобы фигура была крупнее.
- Расширь диапазон range, если фигура большая.
- По рисунку посчитай нужные точки: внутри, на границе, в пересечении или объединении фигур.
Важно: если в условии сказано «включая границу», точки на линии тоже считаются.
Задание 8. Комбинаторика: слова и числа
Краткая рекомендация: если символы могут повторяться, используй product; если все символы должны быть различны, используй permutations.
Шаблон для слов с повторениями:
Шаблон для чисел с разными цифрами:
Дополнительные проверки:
|
s[0] != '0' |
# число не начинается с нуля |
|
s.count('Я') == 2 |
# ровно две буквы Я |
|
number % 2 == 0 |
# чётный номер слова |
|
int(s) % 5 == 0 |
# число делится на 5 |
Задание 13. IP-адреса и маски сети
Краткая рекомендация: создай сеть через ip_network, перебери все адреса и проверь условие задачи.
Шаблон для подсчёта адресов:
Шаблон, если неизвестна маска:
Как адаптировать шаблон:
- Замени IP-адрес и маску.
- Если нужно анализировать байты, используй двоичную строку длиной 32 символа.
- Если маска неизвестна, перебери все значения от 0 до 32.
- В выводе выбери строки, которые подходят под условие.
Задание 14. Арифметика в разных системах счисления
Краткая рекомендация: перебери неизвестную цифру, собери числа как строки, переведи их в десятичную систему и проверь делимость.
Шаблон решения:
Как адаптировать шаблон:
- Замени шаблоны чисел.
- Замени основания систем счисления.
- Замени делитель.
- Если требуется наименьшее x, бери первый подходящий результат.
Задание 15. Логические условия с параметром A
Краткая рекомендация: задай функцию условия, перебери возможные A и проверь, при каких A выражение истинно для всех x.
Шаблон для одной переменной:
Шаблон для двух переменных:
Шаблон для отрезков:
Важно:
|
x % A == 0 |
# x делится на A |
|
x & A != 0 |
# есть общий единичный бит |
Задание 16. Рекурсивные функции
Краткая рекомендация: аккуратно перепиши функцию из условия, добавь базовый случай и при необходимости увеличь лимит рекурсии.
Шаблон решения:
Шаблон для двух функций:
Как адаптировать шаблон:
- Перепиши базовое значение.
- Перепиши рекурсивную формулу.
- Проверь направление: n-1, n+2, n//2 и так далее.
- Подставь выражение, которое требуется найти.
Задание 17. Последовательности из файла
Краткая рекомендация: прочитай файл в список, перебери пары или тройки соседних элементов и сохраняй значения только для подходящих наборов.
Шаблон для пар:
Шаблон для троек:
Частые проверки:
|
x < 0 |
# число отрицательное |
|
x > 0 |
# число положительное |
|
abs(x + y + z) % 5 == 2 |
# сумма по модулю оканчивается на 2 в пятеричной системе |
Задания 19–21. Теория игр
Краткая рекомендация: задай рекурсивную функцию, где s – состояние игры, а m – количество ходов до проверяемого момента.
Шаблон для одной кучи:
Шаблон для двух куч:
Важно: any означает, что есть хотя бы один удачный ход, а all – что подходят все возможные ходы соперника.
Задание 23. Исполнитель и количество программ
Краткая рекомендация: рекурсивно считай количество способов дойти из начального числа в конечное, а обязательную точку разбивай на два участка.
Шаблон решения:
Как адаптировать шаблон:
- Замени команды исполнителя.
- Замени начальное и конечное число.
- Если есть обязательная точка, разбей путь на две части.
- Если есть запрещённая точка, добавь условие if x == ...: return 0.
Задание 24. Делители и маски
Краткая рекомендация: для делителей перебирай числа и ищи делители до корня; для масок используй fnmatch.
Шаблон для делителей:
Шаблон для масок:
Как адаптировать шаблон:
- Замени начальное число или верхнюю границу.
- Замени условие для M.
- Для масок замени шаблон и делитель.
- Чтобы ускорить перебор, иди сразу с шагом, равным делителю.
Задание 27. Кластеризация
Краткая рекомендация: прочитай точки, раздели их на кластеры по условию, найди центр каждого кластера как точку с минимальной суммой расстояний до остальных точек.
Шаблон решения:
Как адаптировать шаблон:
- Определи количество кластеров по рисунку.
- Замени число в clusters = [[] for i in range(...)].
- Пропиши условия разделения точек.
- Если есть аномалии, исключи их через continue.
- В конце умножь координаты на то число, которое указано в условии.
Отправьте статью ученикам, которые идут на ЕГЭ по информатике. Выпускникам этого года она пригодится в качестве контрольного чек-листа, чтобы перечитать и убедиться, что этот раздел понятен и не вызовет затруднений. А остальным – поможет улучшить результат, если использовать эти материалы для подготовки и следовать простым рекомендациям:
- Регулярно решать по 1–2 задачи каждого типа на время.
- Вносить свои комментарии в шаблоны — отмечать, какие изменения сделали.
- Сравнивать свой код с решением в сети Интернет.
Удачи на ЕГЭ!
Материал подготовлен методистом «Облака знаний» Натальей Кудимовой
