ниже программы к строке вида 1…12…2 (46 единиц и 46 двоек)?
Исполнитель Редактор получает на вход строку цифр и преобразует её.
Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды
заменить (111, 27)
преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
|
1 2 3 |
ПОКА условие последовательность команд КОНЕЦ ПОКА |
выполняется, пока условие истинно.
Какая строка получится в результате применения приведённой ниже программы к строке вида 1…12…2 (46 единиц и 46 двоек)?
|
1 2 3 4 5 6 |
НАЧАЛО ПОКА нашлось (111) заменить (111, 2) заменить (222, 1) КОНЕЦ ПОКА КОНЕЦ |
Ответ:
Решение:
1…12…2 (46 единиц и 46 двоек)
111 111 111 … 222 222
2 2 2 1 1
1
Каждый раз 8 единиц удаляются из первой части и 2 единиц во второй части. После 5 повторений:
1…12…2 (16 единиц и 16 двоек)
еще одно повторение
1…12…2 (8 единиц и 8 двоек)
еще одно повторение
1…12…2 (4 единиц и 4 двоек)
11112222
2112
Ответ: 2112
