Задание 12 · ЕГЭ, информатика 2027
Исполнитель с набором команд
Заменяется только первое вхождение — отсюда весь сюжет задания.
Простыми словами
Функция «Найти и заменить» в текстовом редакторе, но с одним отличием: Редактор меняет только первое найденное вхождение, а потом снова ищет с начала строки. Из-за этого цепочки «переезжают» по строке, и результат часто неочевиден.
Как читать программу
НАЧАЛО
ПОКА нашлось (111)
заменить (111, 2)
заменить (222, 1)
КОНЕЦ ПОКА
КОНЕЦТело цикла выполняется, пока условие истинно. Внутри обе команды выполняются по очереди на каждом проходе, даже если вторая ничего не находит.
Разбор: строка из 100 единиц
Ручная трассировка ста символов долгая. Есть два надёжных пути.
s = '1' * 100
while '111' in s:
s = s.replace('111', '2', 1) # 1 — только первое вхождение
s = s.replace('222', '1', 1)
print(s) # 21Третий аргумент 1 у replace — ровно «первое вхождение», как у Редактора. Без него Python заменит все вхождения сразу — это другой исполнитель.
Припишем «вес»: символ 1 весит 1, символ 2 весит 3. Замена вес не меняет (), замена уменьшает его на 8. Значит, остаток веса при делении на 8 не меняется.
- Начальный вес , остаток .
- Цикл кончается, когда нет 111, а «222» уже убрано, — остаётся короткая строка с весом 4: например, «21» ().
- Программа подтверждает: 21; сумма цифр — 3.
Рабочий метод и ловушки
Прогоните программу на короткой строке (5–8 символов), потом на строке на один символ длиннее — и увидите правило. Почти всегда длина уменьшается на постоянную величину, а ответ определяет остаток от деления.
Замена « одинаковых → 1» укорачивает строку на за шаг, пока длина не станет меньше : итог определяется остатком от деления на . Замена вида «ab → bba» строку не укорачивает, а удлиняет: каждый символ a, проходя сквозь хвост, удваивает количество b.
Где теряют балл: заменяют все вхождения сразу вместо первого; путают порядок проверок в ЕСЛИ…ИНАЧЕ ЕСЛИ; обрывают цикл, когда «кажется, что дальше понятно».
Где эта тема разобрана подробно
Готовые работы по теме
Собраны заранее — одним нажатием: распечатать с ключом, раздать ученикам ссылкой или QR-кодом, поменять настройки. Номер набора постоянный: по этой ссылке всегда та же работа.
теория этой темы, 8 заданий по подтемам и ключ — файлом DOCX, который можно править под себя.
Прохождение онлайн
Имя ученика никуда не отправляется: он вводит только номер по списку, а таблицу «номер → фамилия» видите только вы.
Классы, выданные работы и результаты учеников по кодам — в журнале учителя: без регистрации, хранится только на этом компьютере.