Исполнитель редактор получает на вход строку цифр и преобразует её.
редактор может выполнять две команды, в обеих командах v и w обозначают
цепочки цифр.
а) заменить (v, w).
эта команда заменяет в строке первое слева вхождение цепочки v
на цепочку w. например, выполнение команды
заменить (111, 27)
преобразует строку 0550 в строку 0527150.
если в строке нет вхождений цепочки v, то выполнение команды
заменить (v, w) не меняет эту строку.
б) нашлось (v).
эта команда проверяет, встречается ли цепочка v в строке исполнителя
редактор. если она встречается, то команда возвращает логическое значение
«истина», в противном случае возвращает значение «ложь». строка
исполнителя при этом не изменяется.
цикл
пока условие
последовательность команд
конец пока
выполняется, пока условие истинно.
какая строка получится в результате применения ниже
программы к строке, состоящей из 78 единиц?
начало
пока нашлось (111)
заменить (111, 2)
заменить (222, 11)
конец пока
конец
В результате применения приведённой программы, получится строка, состоящая из одной единицы.
Объяснение:
Обозначим через m число единиц, а через n - число двоек
m=78
n=0
Начало цикла
m=m-3=78-3=75
n=n+1=0+1=1
Возврат к началу цикла
m=m-3=75-3=72
n=n+1=1+1=2
Возврат к началу цикла
m=m-3=72-3=69
n=n+1=2+1=3
n=n-3=3-3=0
m=m+2
Изначальные условия: m=78 и n=0
После проделанных вычислений: m=71 и n=0
m уменьшилось на 7 , n не изменилось
78-[78/7]*7=1
Итого: m=1 и n=0