Демоверсия ЕГЭ 2021 аналитическое решение
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды
заменить (111, 27)
преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ условие
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 70 идущих подряд цифр 8? В ответе запишите полученную строку.
НАЧАЛО
ПОКА нашлось (2222) ИЛИ нашлось (8888)
ЕСЛИ нашлось (2222)
ТО заменить (2222, 88)
ИНАЧЕ заменить (8888, 22)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Выполняем последовательно каждую строчку алгоритма.
Изначально строка состоит из 70 восьмерок:

Первая проверка, которую мы выполняем: нашлось (2222) ИЛИ нашлось (8888). Проверка проходит успешно, т.к. 8888 в строке нашлось.
![]()
Далее проверяем
ЕСЛИ нашлось (2222)
2222 в нашей строке нет, значит, мы переходим к блоку ИНАЧЕ.
заменить (8888, 22)
Заменяем:

ЕСЛИ нашлось (2222)
2222 в нашей строке нет, значит, мы переходим к блоку ИНАЧЕ.
заменить (8888, 22)
Заменяем:

нашлось (2222) ИЛИ нашлось (8888). Проверка проходит успешно, т.к. 2222 в строке нашлось.

ЕСЛИ нашлось (2222)
2222 в строке нашлось переходим к блоку ТО.
заменить (2222, 88)
Заменяем:

Т.о. образом в нашей строке за три итерации цикла стало на 6 восьмерок меньше (мы убрали 8 восьмерок, и добавили 2). Каждые три итерации цикла эта ситуацию будет повторяться – мы будем удалять из строки по 6 восьмерок. Чтобы узнать сколько в итоговой строке окажется восьмерок поделим изначальное количество восьмерок на 6.
70/6=11 ост. 4
То есть мы выбросим 11 раз по 6 восьмерок и останется 4 восьмерки. Для того, чтобы не упустить никаких важных нюансов необходимо откатиться на шаг назад (т.е. мы выбрасывали по 6 восьмерок и у нас осталось 4, следовательно, мы берем 4+6=10 восьмерок и над ними проделываем алгоритм вручную).

Ответ: 22