Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах и
обозначают цепочки цифр.
А) заменить
Эта команда заменяет в строке первое слева вхождение цепочки на цепочку
Например, выполнение команды
заменить
преобразует строку в строку
Если в строке нет вхождений цепочки то выполнение команды заменить
не меняет эту строку.
Б) нашлось
Эта команда проверяет, встречается ли цепочка в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ условие
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Известно, что исходная строка начиналась с нуля, а далее содержала только единицы, двойки и тройки. После выполнения данной программы получилась строка, содержащая единиц,
двойки и
троек. Сколько двоек было в исходной строке?
НАЧАЛО
ПОКА нашлось ИЛИ нашлось
ИЛИ нашлось
заменить
заменить
заменить
КОНЕЦ ПОКА
КОНЕЦ
Можно понять суть изменений:
— до начала было
единиц, станет
двоек,
троек,
единиц
— до начала было
двоек, станет
единиц
— до начала было
троек, станет
троек,
троек,
единиц
Получается, единиц,
двоек,
троек.
Решим систему:
|
Ответ: 43.