OpenFIPI 2.0

Редактировать BFF710

Исполнитель Редактор получает на вход строку символов и преобразовывает её.

Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки символов.

А) заменить (v, w).

Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды

заменить (111, 27)

преобразует строку 05111150 в строку 0527150.

Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.

Б) нашлось (v).

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

Цикл

    ПОКА условие

        последовательность команд

    КОНЕЦ ПОКА

выполняется, пока условие истинно.

В конструкции

    ЕСЛИ условие

        ТО команда1

    КОНЕЦ ЕСЛИ

выполняется команда1 (если условие истинно).

В конструкции

    ЕСЛИ условие

        ТО команда1

        ИНАЧЕ команда2

    КОНЕЦ ЕСЛИ

выполняется команда1 (если условие истинно) или команда2 (если условие ложно).


 

На вход приведённой  ниже программы поступает строка, начинающаяся с символа «>»,  а затем содержащая  23 цифры 1, 11 цифр 2 и 15 цифр 3, расположенных в произвольном порядке.

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

Так, например, если результат работы программы представлял бы собой строку, состоящую из 50 цифр 4, то верным ответом было бы число 200.

 

НАЧАЛО

ПОКА  нашлось (>1)  ИЛИ нашлось (>2)  ИЛИ нашлось (>3)

         ЕСЛИ  нашлось (>1) 

              ТО заменить (>1, 2>)

         КОНЕЦ ЕСЛИ

         ЕСЛИ  нашлось (>2)

              ТО заменить (>2, 21>)

         КОНЕЦ ЕСЛИ

         ЕСЛИ  нашлось (>3) 

              ТО заменить (>3, 11>)

         КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

 

Комментарии