Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах и
обозначают цепочки цифр.
А) заменить .
Эта команда заменяет в строке первое слева вхождение цепочки на цепочку
. Например, выполнение команды
заменить
преобразует строку в строку
.
Если в строке нет вхождений цепочки , то выполнение команды заменить
не меняет эту строку.
Б) нашлось .
Эта команда проверяет, встречается ли цепочка в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ условие
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из одной единицы и стоящих справа от нее нулей? В ответе запишите, сколько нулей будет в конечной строке.
НАЧАЛО
ПОКА нашлось ИЛИ нашлось
ЕСЛИ нашлось
ТО заменить
ИНАЧЕ заменить
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
s = ’1’ + ’0’*75
while ’10’ in s or ’1’ in s:
if ’10’ in s:
s = s.replace(’10’, ’001’, 1)
else:
s = s.replace(’1’, ’00’, 1)
print(s.count(’0’))