Главная / Материалы / ЕГЭ 2027

ЕГЭ 2027 · Информатика

Для 10–11 классов: задачи на кодирование, перебор, рекурсию и комбинаторику.

Работа с учебными записями и заданиями

Ориентир — документы ФИПИ.
На 26 октября 2026 года на странице ФИПИ материалы ЕГЭ 2027 обозначены как проекты. Окончательные требования, структуру и критерии проверяйте у первоисточника перед экзаменом. Эта подборка не заменяет полную программу подготовки.

Как заниматься с пользой.

  1. 01

    Откройте документы 2027 года

    На сайте ФИПИ выберите «Информатика». Демоверсия показывает примеры формулировок, спецификация — устройство работы, кодификатор — проверяемые темы.

  2. 02

    Повторите основные темы

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

  3. 03

    Решайте и анализируйте

    Сначала выполните задание самостоятельно. Затем сверьте ответ, прочитайте разбор и запишите причину ошибки. Повторите похожую задачу без подсказки.

Решите, проверьте, разберите.

Учебные задания с проверкой ответов и пошаговыми решениями.

Заданий: 9

Хранение паролей

Пароль содержит 12 символов из алфавита мощностью 64. Символы кодируются равномерно минимальным целым числом бит; каждый пароль занимает целое число байт. Сколько байт потребуется для 1000 паролей без дополнительных данных?

Пошаговый разбор и ответ
  1. 2⁶ = 64: на каждый символ требуется 6 бит.
  2. Один пароль: 12 × 6 = 72 бита, то есть 9 байт. Округление не нужно.
  3. 1000 паролей занимают 9 × 1000 = 9000 байт.

Ответ: 9000.

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

Два условия делимости

Сколько целых чисел от 1 до 1000 включительно делятся на 7, но не делятся на 5?

Пошаговый разбор и ответ
  1. Чисел, кратных 7: целая часть 1000 ÷ 7 = 142.
  2. Из них исключим кратные и 7, и 5. Они делятся на 35; их 28.
  3. 142 − 28 = 114. Тот же результат можно получить перебором.
count = 0
for n in range(1, 1001):
    if n % 7 == 0 and n % 5 != 0:
        count += 1
print(count)

Ответ: 114.

Частая ошибка: В range правая граница не включается: для проверки числа 1000 нужно указать 1001.

Значение функции

Функция задана так: F(1) = 1; F(n) = F(n − 1) + n при целых n > 1. Найдите F(6).

Пошаговый разбор и ответ
  1. Последовательно вычислим F(2) = 1 + 2 = 3 и F(3) = 3 + 3 = 6.
  2. Далее F(4) = 10, F(5) = 15, F(6) = 21.
  3. Функция задаёт сумму чисел от 1 до n. Проверка: 6 × 7 ÷ 2 = 21.
def f(n):
    if n == 1:
        return 1
    return f(n - 1) + n

print(f(6))

Ответ: 21.

Частая ошибка: Базовый случай F(1) обязателен. Это пример на небольших данных, а не рекомендация использовать глубокую рекурсию.

Слова без соседних повторов

Из букв A, B, C составляют слова длины 4. Повторы разрешены, но соседние буквы должны различаться. Сколько таких слов?

Пошаговый разбор и ответ
  1. На первом месте возможна любая из 3 букв.
  2. На каждом следующем месте нельзя брать предыдущую букву. Остаётся по 2 варианта.
  3. По правилу произведения: 3 × 2 × 2 × 2 = 24.
from itertools import product

count = 0
for word in product('ABC', repeat=4):
    if all(word[i] != word[i + 1] for i in range(3)):
        count += 1
print(count)

Ответ: 24.

Частая ошибка: Запрет действует только на соседние позиции. Например, ABAB разрешено.

Единицы в двоичной записи

Сколько единиц содержит двоичная запись числа 2⁷ − 1?

Пошаговый разбор и ответ
  1. 2⁷ = 128. Его двоичная запись — 10000000₂.
  2. После вычитания единицы получаем 127 = 1111111₂.
  3. В записи семь единиц. В общем случае 2ⁿ − 1 состоит из n единиц в двоичной системе.
n = 2**7 - 1
print(bin(n)[2:].count('1'))

Ответ: 7.

Частая ошибка: В числе 128 восемь двоичных разрядов, но после вычитания единицы старший разряд исчезает.

Когда импликация ложна

Сколько наборов значений x, y из множества {0, 1} делают выражение (x → y) ИЛИ НЕ x ложным? 0 означает ложь, 1 — истину.

Пошаговый разбор и ответ
  1. Дизъюнкция ложна только тогда, когда обе её части ложны.
  2. НЕ x ложно при x = 1. При таком x импликация x → y ложна только при y = 0.
  3. Подходит единственный набор: x = 1, y = 0. Ответ — 1.
count = 0
for x in (0, 1):
    for y in (0, 1):
        value = ((not x) or y) or (not x)
        if not value:
            count += 1
print(count)

Ответ: 1.

Частая ошибка: Импликация x → y равносильна (НЕ x) ИЛИ y, а не x И y.

Сколько программ у исполнителя

Исполнитель работает с положительными целыми числами и имеет две команды: прибавить 1 и умножить на 2. Сколько различных последовательностей команд переводят число 1 в число 10? Последовательности, отличающиеся хотя бы одной командой, считаются разными.

Пошаговый разбор и ответ
  1. Обозначим число программ до n через W(n). W(1) = 1: пустая последовательность команд.
  2. Последний шаг к n — переход из n − 1, а для чётного n также из n / 2. Поэтому W(n) = W(n − 1) + W(n / 2) для чётных n; для нечётных W(n) = W(n − 1).
  3. Значения W(1)…W(10): 1, 2, 2, 4, 4, 6, 6, 10, 10, 14. Ответ — 14.
ways = [0] * 11
ways[1] = 1
for n in range(2, 11):
    ways[n] = ways[n - 1]
    if n % 2 == 0:
        ways[n] += ways[n // 2]
print(ways[10])

Ответ: 14.

Частая ошибка: При переходе 1 → 2 команды дают одинаковое число, но это две разные программы. Оба варианта учитываются.

Подстроки с перекрытием

Сколько раз подстрока ABA встречается в строке ABABA, если разрешены пересекающиеся вхождения?

Пошаговый разбор и ответ
  1. Проверяем начало в каждой позиции, где ещё помещаются три символа.
  2. Позиции 1–3 образуют ABA, позиции 2–4 — BAB, позиции 3–5 — ABA.
  3. Подходят два вхождения. Они имеют общий символ, что разрешено условием.
text = 'ABABA'
pattern = 'ABA'
count = 0
for i in range(len(text) - len(pattern) + 1):
    if text[i:i + len(pattern)] == pattern:
        count += 1
print(count)

Ответ: 2.

Частая ошибка: Метод str.count() считает непересекающиеся вхождения. Для этой задачи нужен перебор начальных позиций.

Подходящие соседние пары

Дана последовательность 3, 6, 5, 7, 8, 4. Найдите количество пар соседних элементов, сумма которых делится на 3. Пары могут пересекаться.

Пошаговый разбор и ответ
  1. В последовательности из шести элементов есть пять соседних пар.
  2. Их суммы: 9, 11, 12, 15, 12.
  3. На 3 делятся 9, 12, 15 и 12. Подходят четыре пары.
values = [3, 6, 5, 7, 8, 4]
count = 0
for i in range(len(values) - 1):
    if (values[i] + values[i + 1]) % 3 == 0:
        count += 1
print(count)

Ответ: 4.

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

Официальные документы и практика.

ФИПИ · ЕГЭ 2027

Демоверсии, спецификации и кодификаторы. Откройте раздел и выберите информатику и нужный год.

Документы первоисточника

КЕГЭ

Дополнительная практика подготовки к компьютерному ЕГЭ по информатике. Для работы может потребоваться JavaScript или вход в аккаунт.

Открыть ресурс

Решу ЕГЭ · Информатика

Дополнительные материалы для самостоятельной подготовки. Условия доступа уточняйте на самом ресурсе. Для работы может потребоваться JavaScript или вход в аккаунт.

Открыть ресурс

Ссылки открываются в новой вкладке. ФИПИ — официальный источник экзаменационных документов; остальные сайты — самостоятельные учебные ресурсы. Дата проверки: 26.10.2026.

Нужна помощь с решением?

Напишите название темы и номер учебного примера с этой страницы. Объясните, на каком шаге возник вопрос.

Задать вопрос учителю