Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение
Если в строке нет вхождений
Б) нашлось (v).
Эта команда проверяет, встречается ли
исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ условие
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
В конструкции
ЕСЛИ условие
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей
НАЧАЛО
ПОКА нашлось (1111) ИЛИ нашлось (8888)
ЕСЛИ нашлось (1111)
ТО заменить (1111, 8)
ИНАЧЕ заменить (8888, 11)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Решим задание с использованием языков программирования PascalABC и Python.
Решение на языке Python.
s = '8' * 84
while '1111' in s or '8888' in s:
if '1111' in s:
s = s.replace('1111', '8', 1)
else:
s = s.replace('8888', '11', 1)
print(s)
Решение на PascalABC.
var s:string;
begin
s:='8' *84;
while s.Contains('1111') or s.Contains('8888') do
begin
if s.Contains('1111') then
s:=s.Replace('1111','8',1)
else s:=s.Replace('8888','11',1);
end;
writeln(s);
end.
После выполнения программы получаем ответ — 11888.
Ответ: 11888.
Приведем аналитическое решение.
При первых двух прохождениях цикла программа будет заменять

