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

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

  • Программирование
  • #Основы алгоритмизации и программирования
  • #Структуры и алгоритмы обработки данных
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. :
  • Проверяем, есть ли в строке или .
  • В нашей строке есть , следовательно, условие выполняется.
  1. :
  • Поскольку найдено, выполняем команду .
  • Заменяем первое вхождение на . Теперь строка выглядит так:

  1. :
  • Снова проверяем, есть ли или .
  • все еще присутствует, поэтому продолжаем.
  1. :
  • Снова заменяем первое вхождение на . Теперь строка выглядит так:
  1. :
  • Проверяем наличие или .
  • снова найдено.
  1. :
  • Заменяем на . Теперь строка:
  1. :
  • Проверяем наличие или .
  • На этот раз найдено.
  1. :
  • Заменяем на . Теперь строка:
  1. :
  • Проверяем наличие или .
  • найдено.
  1. :
  • Заменяем на . Теперь строка:
  1. :
  • Мы видим, что процесс будет повторяться, чередуя и в строке.

В итоге, программа будет продолжать заменять на и на , пока не останется ни , ни .

В результате, после нескольких итераций, строка будет выглядеть как чередование и .

В конечном итоге, когда все будут заменены на , а на , строка будет состоять из последовательности и , пока не останется ни одной из этих последовательностей.

Таким образом, конечная строка будет:

Ответ:

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

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

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