Решение: Преобразование строки Редактором
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Команда «заменить (v, w)» заменяет первое слева вхождение цепочки v на цепочку w. Если в строке нет вхождений v, строка не изменяется. Команда «нашлось (v)» проверяет, встречается ли цепочка v в строке, не изменяя её. Цикл выполняется, пока его условие истинно. В конструкции «ЕСЛИ условие ТО команда1 ИНАЧЕ команда2» выполняется команда1 при истинном условии и команда2 при ложном.
Какая строка получится в результате применения программы к строке, состоящей из 82 идущих подряд цифр 8?
НАЧАЛО
ПОКА нашлось (1111) ИЛИ нашлось (8888)
ЕСЛИ нашлось (1111)
ТО заменить (1111, 8)
ИНАЧЕ заменить (8888, 11)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Решение по шагам
3 шагаВ начале строки есть только цифры 8, поэтому выполняется замена первого вхождения 8888 на 11. После нескольких таких замен цепочки 11 объединяются и образуют 1111.
Как только появляется 1111, условие ЕСЛИ становится истинным, и первое вхождение 1111 заменяется на 8. Далее процесс чередует образование цепочек 1111 и их замену.
Пошаговое выполнение программы до момента, когда в строке не остаётся ни 1111, ни 8888, приводит к строке 118.
Где здесь ошибаются
Всегда выполнять замену 8888 на 11, не учитывая приоритет условия нашлось (1111).
Заменять все вхождения цепочки за один шаг вместо первого слева.
Останавливать цикл сразу после одной из замен.