Разбор 14 задания ЕГЭ 2017 по информатике из демоверсии
Разбор 14 задания ЕГЭ 2017 года по информатике из проекта демоверсии. Это задание повышенного уровня сложности. Примерное время выполнения задания 6 минут.
Проверяемые элементы содержания: умение исполнить алгоритм для конкретного исполнителя с фиксированным набором команд.
Элементы содержания, проверяемые на ЕГЭ: Вычислимость. Эквивалентность алгоритмических моделей.
Задание 14
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды
заменить (111, 27)
преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды
заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ условие
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 69 идущих подряд цифр 8? В ответе запишите полученную строку.
НАЧАЛО
ПОКА нашлось (3333) ИЛИ нашлось (8888)
ЕСЛИ нашлось (3333)
ТО заменить (3333, 88)
ИНАЧЕ заменить (8888, 33)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Разбор 14 задания ЕГЭ 2017
Программа будет работать до тех пор, пока в строке есть цепочка цифр 3333 или цепочка цифр 8888.
Если в строке встречается 3333, то заменяем на 88.
Если в строке нет цепочки 3333, но встречается цепочка 8888, то заменяем ее на 33.
Наша строка состоит из 69 идущих подряд цифр 8.
1) меняем первые 8888 на 33 и получаем
33 и (65 цифр 8)
2) меняем следующие 8888 на 33 и получаем
3333 и (61 цифру 8)
3) теперь у нас появилась цепочка 3333, поэтому мы должны заменить ее на 88
получаем строку состоящую из 63 цифр 8
Анализируем что произошло!
А получилось следующее, за 3 шага мы заменили 8 восьмерок на 2 (или удалили 6 восьмерок из нашей строки).
Становится понятно, что за каждые 3 шага мы будем удалять по 6 восьмерок.
63-6=57
57-6=51
51-6=45
45-6=39
39-6=33
33-6=27
27-6=21
21-6=15
15-6=9
9-6=3 останется строка состоящая из 3 идущих подряд 8 (888)
Е12.20 ниже программы к строке вида 1…12…2 (46 единиц и 46 двоек)?
ниже программы к строке вида 1…12…2 (46 единиц и 46 двоек)?
Исполнитель Редактор получает на вход строку цифр и преобразует её.
Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды
заменить (111, 27)
преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
КЕГЭ. Задача 12. Исполнитель «Редактор»
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w). Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v). Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл:
выполняется, пока условие истинно.
В конструкции Если:
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
Конкретизация условия для одной из задач этого типа:
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 68 идущих подряд цифр 8? В ответе запишите полученную строку.
Решение
Несмотря на очевидную простоту, задача не решается тупым перебором за разумное время. Очевидно только, что в конкретном примере длина строки будет уменьшаться и поиск этой закономерности и был заложен авторами в суть этой задачи. Однако, наличие возможности реализовать Исполнитель в виде программы меняет способ ее решения. Нужно просто написать программу. Единственное, что требуется кроме общих навыков программирования в этом случае, это опыт работы со строками. Тогда могут быть использованы такие программы (Бейсик, Паскаль, С++, С#):
C# (Visual Studio 2019>
Результат:
888888888888888888888888888888888888888888888888888888888888
28
C++ (Visual Studio 2019>
Паскаль (Pascal ABC)
Бейсик (Visual Studio 2019>
Ответ тот же.
Замечание. В VB оператор Print s не поддерживается, заменен на Console.WriteLine(s).
NEW: Наш Чат, в котором вы можете обсудить любые вопросы, идеи, поделиться опытом или связаться с администраторами.
Какая строка получится в результате применения приведённой ниже
программы к строке, состоящей из 72 идущих подряд цифр 5? В ответе
запишите полученную строку
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Put the words in the correct order to make sentences. 1. always/ shopping/ we/on /Tuesdays/go __________________________________________________ 2. usually/to/goes/the/in/park/evening/the/she _____________________________________________________ 3. never / Mark/paints/the/morning/in/ _____________________________________________________ 4. usually/I/breakfast/have/half/six/past/at _____________________________________________________ 5. we/visit/often/our/on /Sundays/granny ___________________________________________________
Put the words in the correct order to make sentences. 1. always/ shopping/ we/on /Tuesdays/go __________________________________________________ 2. usually/to/goes/the/in/park/evening/the/she _____________________________________________________ 3. never / Mark/paints/the/morning/in/ _____________________________________________________ 4. usually/I/breakfast/have/half/six/past/at _____________________________________________________ 5. we/visit/often/our/on /Sundays/granny ___________________________________________________