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

Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах и обозначают цепочки цифр; А) заменить . Эта команда заменяет в строке первое слева вхождение цепочки на цепочку . Например,

  • Предмет: Программирование
  • Автор: Кэмп
  • #Основы алгоритмизации и программирования
  • #Языки программирования (C++, Java, Python и др.)
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах и обозначают цепочки цифр; А) заменить . Эта команда заменяет в строке первое слева вхождение цепочки на цепочку . Например,

Условие:

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

Эта команда заменяет в строке первое слева вхождение цепочки vv на цепочку ww. Например, выполнение команды заменить (222,37)(222,37) преобразует строку 05222250 в строку 0537250 . Если в строке нет вхождений цепочки vv, то выполнение команды заменить (v,w)(v, w) не меняет эту строку; Б) нашлось (v)(v).

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

Цикл ПОКА условие последовательность команд КОНЕЦ ПОКА выполняется, пока условие истинно. В конструкции ЕСЛИ условие\nTO команда 1 ИНАЧЕ команда 2 КОНЕЦ ЕСЛИ выполняется команда 1 (если условие истинно) или команда 2 (если условие ложно). Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 113 идущих подряд цифр 5 ? НАЧАЛО ПОКА нашлось (5555) ИЛИ нашлось (6666) ИЛИ нашлось (1111) ЕСЛИ нашлось (5555) ТО заменить (5555,66)(5555,66) ЕСЛИ нашлось (6666) ТО заменить (6666,11)(6666,11) ЕСЛИ нашлось (1111) ТО заменить (1111,5)(1111,5) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ

Решение:

1. Дано

  • Начальная строка (S0S_0): Строка, состоящая из 113 идущих подряд цифр
  1. S0=555...5⏟113 разS_0 = \underbrace{555...5}_{113 \text{ раз}}
  • Команды Редактора:

  • Заменить (v,w)(v, w): Заменяет первое слева вхождение vv на ww.

  • Нашлось (v)(v): Проверяет наличие vv.

  • Условие цикла ПОКА: нашлось (5555) ИЛИ нашлось (6666) ИЛИ нашлось (1111)

  • Тело цикла (последовательность команд):

  1. ЕСЛИ нашлось (5555) ТО заменить (5555,66)(5555, 66)

  2. ЕСЛИ нашлось (6666) ТО заменить (6666,11)(6666, 11)

  3. ЕСЛИ нашлось (1111) ТО заменить (1111,5)(1111, 5)

2. Найти

Конечну...

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

Попробуй решить по шагам

Попробуй один шаг и продолжи в режиме обучения или посмотри готовое решение

Какое ключевое свойство оператора ЕСЛИ в данной программе влияет на последовательность преобразований строки?

Что нужно знать по теме:

Что нужно знать по теме

Алгоритм решения

Топ 3 ошибок

Что спросит препод

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