Исполнитель Редактор получает на вход строку цифр и преобразует её.
Редактор может выполнять две команды, в обеих
А) заменить (v, w<).
Эта команда заменяет в строке первое слева вхождение
Если в строке нет вхождений
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ условие
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из
НАЧАЛО
ПОКА нашлось (666) ИЛИ нашлось (999)
ЕСЛИ нашлось (666)
ТО заменить (666, 9)
ИНАЧЕ заменить (999, 6)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Данный алгоритм сначала заменит
Ответ: 699.
Приведём другое решение на языке Python.
s = '9' * 85
while ('666' in s) or ('999' in s):
if '666' in s:
s = s.replace('666', '9', 1)
else:
s = s.replace('999', '6', 1)
print(s)

