Шаблоны для подготовки к ЕГЭ по информатике (программирование, Python)

Шаблоны для подготовки к ЕГЭ по информатике (программирование, Python), image #1

Данный сборник методических материалов предназначен для подготовки к ЕГЭ по информатике. В нём собраны краткие алгоритмы и готовые шаблоны решений для некоторых типов задач.

Как работать с материалами

Важные советы

Сначала определите тип задачи по её номеру или формулировке.

Найдите соответствующий шаблон — он уже содержит правильную структуру кода и ключевые приёмы.

Не копируйте код вслепую. Сначала поймите, что делает каждая строка, и только потом перепечатайте и адаптируйте под своё условие.

Подставьте данные из условия вместо примеров (числа, системы счисления, команды исполнителя, маски и т.д.).

Для задач 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).

Шаблон решения:

Шаблоны для подготовки к ЕГЭ по информатике (программирование, Python), image #2

Как адаптировать шаблон:

  1. Оставь только те переменные, которые есть в задаче.
  1. Замени F = ... на выражение из условия.
  1. Проверь, какие строки нужны: где F = 0 или где F = 1.
  1. Сравни полученные наборы с таблицей из задания.

Задание 5. Алгоритмы с системами счисления

Краткая рекомендация: перебери исходное число N, выполни алгоритм из условия, переведи результат в десятичную систему и проверь требование задачи.

Полезные команды:

bin(x)

# двоичная запись

oct(x)

# восьмеричная запись

hex(x)

# шестнадцатеричная запись

int(s, n)

# перевод строки s из n-й системы счисления в десятичную

Шаблон для перевода в любую систему счисления:

Шаблоны для подготовки к ЕГЭ по информатике (программирование, Python), image #3

Шаблон решения:

Шаблоны для подготовки к ЕГЭ по информатике (программирование, Python), image #4

Как адаптировать шаблон:

  1. Замени основание системы счисления.
  1. Замени правило обработки числа.
  1. Замени условие для результата R.
  1. Если требуется минимальное N, используй break после первого подходящего ответа.

Задание 6. Черепаха и координатная плоскость

Краткая рекомендация: построй фигуру по командам Черепахи, затем перебери точки на координатной плоскости и посчитай те, которые удовлетворяют условию.

Шаблон решения:

Шаблоны для подготовки к ЕГЭ по информатике (программирование, Python), image #5

Как адаптировать шаблон:

  1. Перепиши команды Черепахи из условия.
  1. Все расстояния умножай на k, чтобы фигура была крупнее.
  1. Расширь диапазон range, если фигура большая.
  1. По рисунку посчитай нужные точки: внутри, на границе, в пересечении или объединении фигур.

Важно: если в условии сказано «включая границу», точки на линии тоже считаются.

Задание 8. Комбинаторика: слова и числа

Краткая рекомендация: если символы могут повторяться, используй product; если все символы должны быть различны, используй permutations.

Шаблон для слов с повторениями:

Шаблоны для подготовки к ЕГЭ по информатике (программирование, Python), image #6

Шаблон для чисел с разными цифрами:

Шаблоны для подготовки к ЕГЭ по информатике (программирование, Python), image #7

Дополнительные проверки:

s[0] != '0'

# число не начинается с нуля

s.count('Я') == 2

# ровно две буквы Я

number % 2 == 0

# чётный номер слова

int(s) % 5 == 0

# число делится на 5

Задание 13. IP-адреса и маски сети

Краткая рекомендация: создай сеть через ip_network, перебери все адреса и проверь условие задачи.

Шаблон для подсчёта адресов:

Шаблоны для подготовки к ЕГЭ по информатике (программирование, Python), image #8

Шаблон, если неизвестна маска:

Шаблоны для подготовки к ЕГЭ по информатике (программирование, Python), image #9

Как адаптировать шаблон:

  1. Замени IP-адрес и маску.
  1. Если нужно анализировать байты, используй двоичную строку длиной 32 символа.
  1. Если маска неизвестна, перебери все значения от 0 до 32.
  1. В выводе выбери строки, которые подходят под условие.

Задание 14. Арифметика в разных системах счисления

Краткая рекомендация: перебери неизвестную цифру, собери числа как строки, переведи их в десятичную систему и проверь делимость.

Шаблон решения:

Шаблоны для подготовки к ЕГЭ по информатике (программирование, Python), image #10

Как адаптировать шаблон:

  1. Замени шаблоны чисел.
  1. Замени основания систем счисления.
  1. Замени делитель.
  1. Если требуется наименьшее x, бери первый подходящий результат.

Задание 15. Логические условия с параметром A

Краткая рекомендация: задай функцию условия, перебери возможные A и проверь, при каких A выражение истинно для всех x.

Шаблон для одной переменной:

Шаблоны для подготовки к ЕГЭ по информатике (программирование, Python), image #11

Шаблон для двух переменных:

Шаблоны для подготовки к ЕГЭ по информатике (программирование, Python), image #12

Шаблон для отрезков:

Шаблоны для подготовки к ЕГЭ по информатике (программирование, Python), image #13

Важно:

x % A == 0

# x делится на A

x & A != 0

# есть общий единичный бит

Задание 16. Рекурсивные функции

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

Шаблон решения:

Шаблоны для подготовки к ЕГЭ по информатике (программирование, Python), image #14

Шаблон для двух функций:

Шаблоны для подготовки к ЕГЭ по информатике (программирование, Python), image #15

Как адаптировать шаблон:

  1. Перепиши базовое значение.
  1. Перепиши рекурсивную формулу.
  1. Проверь направление: n-1, n+2, n//2 и так далее.
  1. Подставь выражение, которое требуется найти.

Задание 17. Последовательности из файла

Краткая рекомендация: прочитай файл в список, перебери пары или тройки соседних элементов и сохраняй значения только для подходящих наборов.

Шаблон для пар:

Шаблоны для подготовки к ЕГЭ по информатике (программирование, Python), image #16

Шаблон для троек:

Шаблоны для подготовки к ЕГЭ по информатике (программирование, Python), image #17

Частые проверки:

x < 0

# число отрицательное

x > 0

# число положительное

abs(x + y + z) % 5 == 2

# сумма по модулю оканчивается на 2 в пятеричной системе

Задания 19–21. Теория игр

Краткая рекомендация: задай рекурсивную функцию, где s – состояние игры, а m – количество ходов до проверяемого момента.

Шаблон для одной кучи:

Шаблоны для подготовки к ЕГЭ по информатике (программирование, Python), image #18

Шаблон для двух куч:

Шаблоны для подготовки к ЕГЭ по информатике (программирование, Python), image #19

Важно: any означает, что есть хотя бы один удачный ход, а all – что подходят все возможные ходы соперника.

Задание 23. Исполнитель и количество программ

Краткая рекомендация: рекурсивно считай количество способов дойти из начального числа в конечное, а обязательную точку разбивай на два участка.

Шаблон решения:

Шаблоны для подготовки к ЕГЭ по информатике (программирование, Python), image #20

Как адаптировать шаблон:

  1. Замени команды исполнителя.
  1. Замени начальное и конечное число.
  1. Если есть обязательная точка, разбей путь на две части.
  1. Если есть запрещённая точка, добавь условие if x == ...: return 0.

Задание 24. Делители и маски

Краткая рекомендация: для делителей перебирай числа и ищи делители до корня; для масок используй fnmatch.

Шаблон для делителей:

Шаблоны для подготовки к ЕГЭ по информатике (программирование, Python), image #21

Шаблон для масок:

Шаблоны для подготовки к ЕГЭ по информатике (программирование, Python), image #22

Как адаптировать шаблон:

  1. Замени начальное число или верхнюю границу.
  1. Замени условие для M.
  1. Для масок замени шаблон и делитель.
  1. Чтобы ускорить перебор, иди сразу с шагом, равным делителю.

Задание 27. Кластеризация

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

Шаблон решения:

Шаблоны для подготовки к ЕГЭ по информатике (программирование, Python), image #23

Как адаптировать шаблон:

  1. Определи количество кластеров по рисунку.
  1. Замени число в clusters = [[] for i in range(...)].
  1. Пропиши условия разделения точек.
  1. Если есть аномалии, исключи их через continue.
  1. В конце умножь координаты на то число, которое указано в условии.

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

  • Регулярно решать по 1–2 задачи каждого типа на время.
  • Вносить свои комментарии в шаблоны — отмечать, какие изменения сделали.
  • Сравнивать свой код с решением в сети Интернет.

Удачи на ЕГЭ!

Материал подготовлен методистом «Облака знаний» Натальей Кудимовой

Шаблоны для подготовки к ЕГЭ по информатике (программирование, Python), image #24
337 views·14 shares