← Все вопросы

Как решать задание 12 ЕГЭ по информатике (исполнитель для Редактора)?

Задан 23 месяца назад240 просмотров2 ответа
8

Задание 12 с исполнителем-Редактором (команды заменить и нашлось) и циклом ПОКА над строкой из единиц и двоек. Что получится на выходе — не могу отследить руками. Как решать задание 12 на ЕГЭ?

2 ответа

12
✓ Принятый ответ — помог автору

Задание 12 — исполнитель Редактор, обрабатывающий строку командами:

  • заменить(v, w) — заменяет ПЕРВОЕ вхождение цепочки v на w;
  • нашлось(v) — проверка, есть ли v в строке.

Программа обычно в цикле ПОКА нашлось(...) ... заменить(...). Нужно определить итоговую строку или её длину/число символов.

Метод — пойми закономерность, не гоняй вручную тысячи шагов. Часто строка из сотен символов, и руками не выследишь. Распиши, что делает один проход цикла, и найди инвариант (что сохраняется/как меняется длина).

Надёжнее — смоделировать на Python:

s = '2' * 70 + '1' * 70   # начальная строка из условия
while '12' in s:           # пример: пока есть '12'
    s = s.replace('12', '2', 1)   # заменить первое вхождение
print(s, len(s))

replace(v, w, 1) — ровно как заменить: меняет только первое вхождение. in — это нашлось.

Частые ошибки:

  • заменять ВСЕ вхождения вместо первого (в replace обязательно третий аргумент 1!),
  • неверно перенести начальную строку из условия,
  • запутаться в порядке команд внутри цикла.

Смоделировал точь-в-точь — получил гарантированно верный ответ.

4

Если решаешь руками — ищи, как сокращается строка за один цикл. Обычно команды «съедают» по символу определённого вида, и итог — это короткий хвост. Распиши первые 3–4 шага, увидишь паттерн.

Но самый безопасный путь на КЕГЭ — Python с str.replace(v, w, 1). Ключевой нюанс — именно первое вхождение, поэтому третий параметр 1 обязателен, иначе ответ разойдётся.

Ваш ответ

, чтобы ответить на вопрос.