Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды. В обеих командах v и w обозначают цепочки цифр.
A) заменить(v,w). Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Напри- мер, выполнение команды заменить(111,27) преобразует строку 051111105 в строку 05271105. Если в строке нет вхождений цепочки v, то выполнение команды заменить(v,w) не меняет эту строку.
Б) нашлось(v). Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл ПОКА
условие последовательность команд
КОНЕЦ ПОКА
означает, что последовательность команд выполняется, пока условие истинно. В конструкции
ЕСЛИ условие
ТО команда1
ИНАЧЕ
команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно)
или команда2 (если условие ложно).
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 38 идущих подряд цифр 5? В ответе запишите полученную строку.
НАЧАЛО
ПОКА нашлось (555) ИЛИ нашлось (333)
ЕСЛИ нашлось (555)
ТО заменить (555, 3)
ИНАЧЕ
заменить (333, 5)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
s = ’5’*38
while ’555’ in s or ’333’ in s:
if ’555’ in s:
s = s.replace(’555’, ’3’, 1)
else:
s = s.replace(’333’, ’5’, 1)
print(s)