1. Главная
  2. Библиотека
  3. Программирование
  4. Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды: А) заменить (v, w) – зам...

Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды: А) заменить (v, w) – заменяет в строке первое слева вхождение цепочки v на цепочку w. Б) нашлось (v) – проверяет, встречается ли цепочка v в строке

«Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды: А) заменить (v, w) – заменяет в строке первое слева вхождение цепочки v на цепочку w. Б) нашлось (v) – проверяет, встречается ли цепочка v в строке»
  • Программирование

Условие:

P-09. Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить ( \( \mathbf{v}, \mathbf{w} \) )

Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w .
Б) нашлось (v)

Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка при этом не изменяется. Дана программа для исполнителя Редактор:

НАЧАЛО
ПОКА нашлось (222) ИЛИ нашлось (888)
ЕСЛИ нашлось (222)
ТО заменить \( (222,8) \)
ИНАЧЕ заменить \( (888,2) \)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Какая строка получится в результате применения приведённой выше программы к строке, состоящей из 68 идущих подряд цифр 8? В ответе запишите полученную строку.

Решение:

Давайте разберем, как будет работать программа для исполнителя Редактор на входной строке, состоящей из 68 идущих подряд цифр 8. Исходная строка: `88888888888888888888888888888888888888888888888888888888888888888888888888888888888888` (68 восьмерок). Теперь рассмотрим программу шаг за шагом: 1. **Проверка условия в цикле**: - Проверяем, есть ли в строке `222` или `888`. - В нашей строке есть `888`, следовательно, условие выполняется. 2. **Выполнение команды**: - Поскольку `888` найдено, выполняем команду `заменить (888, 2)`. - Заменяем первое вхождение `888` на `2`. Теперь стро...

Не нашел нужную задачу?

Воспользуйся поиском

Выбери предмет