Задание 13 ЕГЭ по информатике — Исполнитель: сколько программ, траектория
Разбор номера «Исполнитель: сколько программ, траектория»: как устроено задание, настоящие формулировки из тренажёра с подсказками и официальным решением. Окно практики открывается сразу — без регистрации и онбординга.
Задание 13 (№13 — Исполнитель: сколько программ, траектория) — вопрос первой части экзамена по информатике: короткий ответ, который проверяется автоматически. Ниже — реальные формулировки из тренажёра с подсказками и разбором; проверка работает прямо на этой странице.
Окно примера ниже — то же, что на сайте: подсказки по одной, автопроверка ответа и разбор.
Примеры задания 13
№ 13Пример 1краткий ответ★★★★★1 первичный балл
Исполнитель преобразует число на экране. У исполнителя есть три команды, которым присвоены номера: 1. Прибавить 1. 2. Прибавить 2. 3. Умножить на 3. Первая команда увеличивает число на экране на 1, вторая увеличивает его на 2, третья умножает на 3. Программа для исполнителя — это последовательность команд. Сколько существует программ, которые преобразуют исходное число 1 в число 30, и при этом траектория вычислений содержит число 9 и не содержит чисел 11 и 12? Траектория вычислений — это последовательность результатов выполнения всех команд программы. Например, для программы 213 при исходном числе 4 траектория будет состоять из чисел 6, 7, 21.
Подсказка 1. Выпиши команды исполнителя, начальное число, конечное число и все условия на траекторию (что обязано появиться, что запрещено).
Подсказка 2. Число программ считай динамическим программированием или рекурсией с двумя пометками: требование по траектории уже выполнено или ещё нет.
Подсказка 3. Начальное число в траекторию не входит, а через запрещённое число путей нет вовсе; типичная ошибка — перемножать ветви вместо их сложения.
Разбор.
Решение. Искомое количество программ равно количеству программ, получающих из числа 1 число 30. Траектория вычислений не должна содержать чисел 11 и 12 и должна содержать число 9. Пусть R(n) — количество программ, которые число 1 преобразуют в число n. Верны следующие соотношения: 1. R(n) = R(n – 1) + R(n – 2) + R(n : 3) — если n делится на три, при n > 2. 2. R(n) = R(n – 1) + R(n – 2) — если n не делится на три, при n > 2. R(1) = 1; R(2) = 1; R(3) = R(2) + R(1) + R(1) = 3; R(4) = R(3) + R(2) = 4; R(5) = R(4) + R(3) = 7; R(6) = R(5) + R(4) + R(2) = 12; R(7) = R(6) + R(5) = 19; R(8) = R(7) + R(6) = 31; R(9) = R(8) + R(7) + R(3) = 53. Программ, получающих из числа 9 число 30, всего 4: 3111, 312, 321 и 13. Таким образом, количество программ, удовлетворяющих условию задачи, равно 53 · 4 = 212. Ответ: 212. Приведём другое решение на языке Python. def f(x, y): if x > y or x == 11 or x == 12: return 0 if x == y: return 1 else: return f(x + 1, y) + f(x + 2, y) + f(x * 3, y) print(f(1, 9) * f(9, 30))
Ответ.
212
№ 13Пример 2краткий ответ★★★★★1 первичный балл
Исполнитель преобразует число на экране. У исполнителя есть три команды, которые обозначены буквами. A. Вычесть 1. B. Разделить на 2. С. Разделить на 3. Команда B может быть исполнена только для чётного числа, команда C — только для числа, кратного 3. Программа для исполнителя — это последовательность команд. Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы BAС при исходном числе 20 траектория вычислений содержит числа 10, 9, 3. Сколько существует программ, которые преобразуют исходное число 22 в число 1 и при этом траектория вычислений не содержит чисел 10 и 15?
Подсказка 1. Выпиши команды исполнителя, начальное число, конечное число и все условия на траекторию (что обязано появиться, что запрещено).
Подсказка 2. Число программ считай динамическим программированием или рекурсией с двумя пометками: требование по траектории уже выполнено или ещё нет.
Подсказка 3. Начальное число в траекторию не входит, а через запрещённое число путей нет вовсе; типичная ошибка — перемножать ветви вместо их сложения.
Разбор.
Решение. Приведём решение на языке Python. def f(x, y): if x
Ответ.
53
Как устроена практика в тренажёре
Опыт за каждое решение
Чистое решение без подсказок ценится выше: опыт, уровни и серии растут с каждым заданием, а не за клики.
Ошибки не пропадают
Нерешённое возвращается в работу над ошибками — тренажёр приведёт к заданию снова, пока оно не закроется без помощи.
Прогноз балла
После нескольких решённых номеров тренажёр показывает прогнозный балл и говорит, какие темы подтянуть, чтобы его поднять.
Закрепи задание 13 в тренажёре
Окно практики откроется сразу — без имени и онбординга. Прогресс сохранится, как только укажешь имя.