Исполнитель Редактор изменяет входную строку цифр с помощью двух команд: 1. заменить (v, w) - заменить первое вхождение
Исполнитель Редактор изменяет входную строку цифр с помощью двух команд: 1. заменить (v, w) - заменить первое вхождение цепочки v на цепочку w. Если цепочки v в строке нет, строка остается без изменений. 2. нашлось (v) - проверить наличие цепочки v в строке. Дана программа для исполнителя Редактор: НАЧАЛО ПОКА нашлось (900) или нашлось(8000) или нашлось(70) заменить(70, 8) заменить(900, 70) заменить(8000, 900) КОНЕЦ ПОКА КОНЕЦ
20.11.2023 08:11
НАЧАЛО
ПОКА нашлось (900) или нашлось(8000) или нашлось(70)
- заменить(70, 8)
- заменить(900, 70)
- заменить(8000, 900)
КОНЕЦ ПОКА
КОНЕЦ
Объяснение:
Исполнитель Редактор использует команду `заменить (v, w)` для замены первого вхождения цепочки v на цепочку w в строке. Если цепочки v в строке нет, строка остается без изменений. Команда `нашлось (v)` используется для проверки наличия цепочки v в строке.
В данной программе, цикл `ПОКА` будет выполняться до тех пор, пока будет находиться хотя бы одна из следующих цепочек: "900", "8000" или "70". В каждой итерации цикла, программа будет заменять первое вхождение цепочки "70" на цепочку "8", затем цепочки "900" на цепочку "70", и, наконец, цепочки "8000" на цепочку "900".
Доп. материал:
Допустим, у нас есть входная строка "80007009008000". Применим программу для исполнителя Редактор:
НАЧАЛО:
- Проверяем наличие "900" в строке - есть
- Заменяем первое вхождение "70" на "8" - получаем "80008009008000"
- Заменяем первое вхождение "900" на "70" - получаем "80007009008000"
- Заменяем первое вхождение "8000" на "900" - получаем "90007009008000"
Проверяем наличие "900" в строке - есть
- Заменяем первое вхождение "70" на "8" - получаем "90008009008000"
- Заменяем первое вхождение "900" на "70" - получаем "70008009008000"
- Заменяем первое вхождение "8000" на "900" - получаем "70009009008000"
Проверяем наличие "900" в строке - есть
- Заменяем первое вхождение "70" на "8" - получаем "70008009008000"
- Заменяем первое вхождение "900" на "70" - получаем "70007009008000"
- Заменяем первое вхождение "8000" на "900" - получаем "70007009009000"
Проверяем наличие "900" в строке - нет
Проверяем наличие "8000" в строке - нет
Проверяем наличие "70" в строке - нет
КОНЕЦ ПОКА
КОНЕЦ
В итоге, после применения программы, входная строка "80007009008000" будет преобразована в "70007009009000".
Совет:
Для лучшего понимания работы программы, рекомендуется следить за изменениями в строке на каждой итерации цикла и внимательно следить за порядком команд.
Задание для закрепления:
Исходная строка: "90070080008000"
Какая строка получится после выполнения данной программы?