1. Главная
  2. Библиотека
  3. Программирование
  4. P-09. Редактор получает на вход строку цифр и преобразо...
Решение задачи

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

  • Программирование

Условие:

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

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

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

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

Решение:

Давайте разберем, как будет работать программа для исполнителя Редактор на входной строке, состоящей из 68 идущих подряд цифр 8.

Исходная строка: (68 восьмерок). Теперь рассмотрим программу шаг за шагом: 1. : - Проверяем, есть ли в строке или . - В нашей строке есть , следовательно, условие выполняется. 2. : - Поскольку найдено, выполняем команду . - Заменяем первое вхождение на . Теперь строка выглядит так:

3. : - Снова проверяем, есть ли или . - все еще присутствует, поэтому продолжаем. 4. : - Снова заменяем первое вхождение на . Теперь строка выглядит так: 5. : - Проверяем наличие или . - снова найдено. 6. : - Заменяем на . Теперь строка: 7. : - Проверяем наличие или . - На этот раз найдено. 8. : - Заменяем на . Теперь строка: 9. : - Проверяем наличие или . - найдено. 10. : - Заменяем на . Теперь строка: 11. : - Мы видим, что процесс будет повторяться, чередуя и в строке. В итоге, программа будет продолжать заменять на и на , пока не останется ни , ни . В результате, после нескольких итераций, строка будет выглядеть как чередование и . В конечном итоге, когда все будут заменены на , а на , строка будет состоять из последовательности и , пока не останется ни одной из этих последовательностей. Таким образом, конечная строка будет: Ответ:

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

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

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