Теория:

Характеристика задания
 
1. Тип ответа: запись числового значения.
 
2. Структура содержания задания: дана программа для исполнителя Редактор.
 
3. Уровень сложности задания: повышенный.
 
4. Примерное время выполнения: \(6\) минут.
 
5. Количество баллов: \(1\).
 
6. Требуется специальное программное обеспечение: необязательно.
 
7. Задание проверяет умение исполнить алгоритм для конкретного исполнителя с фиксированным набором команд.
 
Пример задания
  
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах \(v\) и \(w\) обозначают цепочки цифр;
 
А) заменить (\(v\), \(w\)).
 
Эта команда заменяет в строке первое слева вхождение цепочки \(v\) на цепочку \(w\). Например, выполнение команды
 
заменить (\(111\), \(27\))
 
преобразует строку \(05111150\) в строку \(0527150\).
 
Если в строке нет вхождений цепочки \(v\), то выполнение команды заменить (\(v\), \(w\)) не меняет эту строку;
 
Б) нашлось (\(v\)).
 
Эта команда проверяет, встречается ли цепочка \(v\) в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
 
Цикл
  ПОКА  условие
    последовательность команд
  КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
  ЕСЛИ  условие
    ТО  команда \(1\)
    ИНАЧЕ  команда \(2\)
  КОНЕЦ ЕСЛИ
выполняется команда \(1\) (если условие истинно) или команда \(2\) (если условие ложно).
 
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из \(70\) идущих подряд цифр \(8\)? В ответе запиши полученную строку.
 
НАЧАЛО
ПОКА нашлось (\(2222\)) ИЛИ нашлось (\(8888\))
  ЕСЛИ нашлось (\(2222\))
    ТО заменить (\(2222\), \(88\))
    ИНАЧЕ заменить (\(8888\), \(22\))
  КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
 
Как решать задание?
 
Данное задание можно решать несколькими способами: с помощью логических рассуждений или при помощи языка программирования.
Мы рассмотрим вариант решения с помощью языка программирования Python.
 
Вспомнить, что такое процедуры и функции, можно тут.
 
Вспомнить, что такое алгоритмы ветвления, можно тут.
 
Вспомним алгоритмы ветвления в Python
  
ЕСЛИ (условие \(1\))
ТО (действие \(1\))
ИНАЧЕ (действие \(2\))
 
На Python выглядит следующим образом.
 
if (условие):
      (действие \(1\))
else:
      (действие \(2\))
 
Также вспомним метод replace в Python.
 
Данный метод возвращает копию строки, в которой все вхождения подстроки заменяются другой подстрокой.
 
Реализуем данный метод в ходе решения задания \(12\). Проанализируем условие и определимся, какие операторы нам понадобятся.
 
Скриншот 22-07-2022 013245.jpgВ условии нам дана строка из \(70\) восьмёрок. Строковое значение \(8\) заключаем в одинарные кавычки и умножаем на количество повторов
Скриншот 22-07-2022 013308.jpgПока — это цикл while, \('2222'\) нашлось в строке \(s\), ИЛИ заменяем на логическую функцию or, нашлось \('8888'\) в строке \(s\)
Скриншот 22-07-2022 013327.jpg
ЕСЛИ (if) подстрока \('2222'\) встречается в строке \(s\), то (ставим двоеточие) заменяем четыре двойки на две восьмёрки — методом replace следующим образом:
\(s = s.replace ('2222', '88', 1)\).
Единица указывает на то, что такая замена будет произведена один раз
 
Скриншот 22-07-2022 013356.jpg
Иначе (else) заменим '\(8888\)' на '\(22\)' также методом replace.
\(s=s.replace('8888', '22',1)\)
Скриншот 22-07-2022 013417.jpg
Нам необходимо узнать, какая строка останется в результате работы данной программы, поэтому в выводе запишем: print(\(s\)).
Запустим программу
 
Ответ: \(22\).
Источники:
Изображения. © ЯКласс.