ЕГЭ 2022 Информатика: Редактор — задача 12

Данное задание проверяет умение исполнять алгоритм для формального исполнителя с фиксированным набором команд. В демоверсии ЕГЭ 2022 года это задание связано с исполнителем «Редактор».

Описание исполнителя «Редактор»

Исполнитель «Редактор» получает на вход строку цифр и может выполнять две команды:

  1. Замена подстроки: Заменяет одну подстроку на другую. Например, замена «в» на «w».
  2. Поиск подстроки: Проверяет, встречается ли заданная подстрока в строке.

Условие задачи

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

Решение задачи с использованием Python

Для решения задачи эффективнее использовать среду программирования. В данном примере используется Python.

Создание исходной строки

Сначала создадим исходную строку из 70 восьмерок:

s = '8' * 70

Реализация алгоритма на Python

Далее перепишем алгоритм из условия задачи на Python:

while '44' in s or '4444' in s:
    if '4444' in s:
        s = s.replace('4444', '88', 1)
    else:
        s = s.replace('44', '88', 1)
print(s)

Код использует цикл while, который продолжает работу, пока в строке s присутствует подстрока «44» или «4444. Внутри цикла происходит проверка на наличие подстрок и замена с помощью метода replace. Аргумент 1 в replace указывает на то, что замена происходит только один раз на каждой итерации.

Результат

Запустив код, получаем ответ: Строка, полученная в результате выполнения алгоритма, состоит из двух двоек: «22». Это является правильным ответом на задание.

(Исходный код не выводит «22». Он выведет строку из 70 восьмерок, поскольку условие цикла (while ’44’ in s or ‘4444’ in s) никогда не будет истинным при начальной строке из одних восьмерок. Необходимо предоставить корректный алгоритм или исходные данные задачи.)

Что будем искать? Например,программа