Исполнитель Редактор получает на вход строку цифр и преобразует её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 79 семёрок?
НАЧАЛО
ПОКА нашлось (7777) ИЛИ нашлось (3333)
ЕСЛИ нашлось (3333)
ТО заменить (3333, 77)
ИНАЧЕ
заменить (7777, 33)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 79 семёрок?
НАЧАЛО
ПОКА нашлось (7777) ИЛИ нашлось (3333)
ЕСЛИ нашлось (3333)
ТО заменить (3333, 77)
ИНАЧЕ
заменить (7777, 33)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
💡 Пошаговый разбор и решение:
Данный алгоритм сначала заменит восемь первых семёрок на четыре тройки, после чего эти четыре тройки будут заменены на две семёрки. Таким образом, алгоритм заменяет восемь подряд идущих семёрок на 2.
Далее алгоритм заменит 9 групп по 8 семёрок и останется строка из 19 семёрок. Далее ещё 16 семёрок заменятся на четыре и останется строка из 7 семёрок. После этого четыре семёрки заменятся на две тройки, и останется строка 33777.
Ответ: 33777.
Приведём другое решение на языке Python.
s = '7' * 79
while ('7777' in s) or ('3333' in s):
if '3333' in s:
s = s.replace('3333', '77', 1)
else:
s = s.replace('7777', '33', 1)
print(s)
Далее алгоритм заменит 9 групп по 8 семёрок и останется строка из 19 семёрок. Далее ещё 16 семёрок заменятся на четыре и останется строка из 7 семёрок. После этого четыре семёрки заменятся на две тройки, и останется строка 33777.
Ответ: 33777.
Приведём другое решение на языке Python.
s = '7' * 79
while ('7777' in s) or ('3333' in s):
if '3333' in s:
s = s.replace('3333', '77', 1)
else:
s = s.replace('7777', '33', 1)
print(s)
Правильный ответ:
33777
📚 Похожие разобранные задания по предмету:
ID 32314 • Задание №14
В языке запросов поискового сервера для обозначения логической операции «ИЛИ» используется символ «|», а для л...
ID 29841 • Задание №4
По каналу связи передаются сообщения, содержащие только цифры 3, 4, 5 и четыре знака арифметических действий (...
🔗 Другие задания линии №12 по предмету Информатика:
ID 31602
Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться ...
ID 31603
Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться ...
ID 31604
Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться ...
ID 31605
Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться ...
ID 31606
Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться ...