Разбор 14 задания ЕГЭ по информатике - исполнитель редактор
20 октября 201920 окт 2019
4554
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды
заменить (555, 63)
преобразует строку 12555550 в строку 1263550.
Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ условие
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 1000 идущих подряд цифр 9? В ответе запишите полученную строку.
НАЧАЛО
ПОКА нашлось (999) ИЛИ нашлось (888)
ЕСЛИ нашлось (888)
ТО заменить (888, 9)
ИНАЧЕ заменить (999, 8)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Решение:
Все 1000 цифр 9 мы писать конечно не будем.
Главная задача понять работу алгоритма: Идет замена трех (999) на одну (8) и трех (888) на одну (9).
1. заменить (999, 8) ; выполняем 999=8; 999=8; 999=8; и так из 9 девяток мы получаем 3 восьмёрки.
2. заменить (888, 9); 888=9; и так из 3 восьмёрок получаем 1 девятку.
3. В пункте 1 мы в алгоритме использовали 9 девяток, в пункте 2 в результате работы алгоритма мы получили 1 девятку. Из это значит 9-1=8 (сократилось девяток).
4. 1000 / 8 = 124 (вернее 125 но нам нужня последние 8 девяток) и так сокращаем 992 девятки остаётся 8 девяток с которыми и будем работать.
5. заменить (999, 8); 999=8; 999=8; 99
Ответ: 8899
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды
заменить (555, 63)
преобразует строку 12555550 в строку 1263550.
Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ условие
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 1000 идущих подряд цифр 9? В ответе запишите полученную строку.
НАЧАЛО
ПОКА нашлось (999) ИЛИ нашлось (888)
ЕСЛИ нашлось (888)
ТО заменить (888, 9)
ИНАЧЕ заменить (999, 8)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Решение:
Все 1000 цифр 9 мы писать конечно не будем.
Главная задача понять работу алгоритма: Идет замена трех (999) на одну (8) и трех (888) на одну (9).
1. заменить (999, 8) ; выполняем 999=8; 999=8; 999=8; и так из 9 девяток мы получаем 3 восьмёрки.
2. заменить (888, 9); 888=9; и так из 3 восьмёрок получаем 1 девятку.
3. В пункте 1 мы в алгоритме использовали 9 девяток, в пункте 2 в результате работы алгоритма мы получили 1 девятку. Из это значит 9-1=8 (сократилось девяток).
4. 1000 / 8 = 124 (вернее 125 но нам нужня последние 8 девяток) и так сокращаем 992 девятки остаётся 8 девяток с которыми и будем работать.
5. заменить (999, 8); 999=8; 999=8; 99
Ответ: 8899