Исполнитель преобразует число на экране. У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 1
2. Умножить на 2
Первая команда увеличивает число на экране на 1, вторая умножает его на 2.
Программа для исполнителя – это последовательность команд.
Сколько существует программ, для которых при исходном числе 1 результатом является число 20 и при этом траектория вычислений содержит число 10?
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы.
Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 16, 17.
комментировать
в избранное
vdtes t [29.9K]
8 месяцев назад
Составим все возможные программы, для числа 1,которые дают в результате 20 и содержат число 10 в траектории вычислений, а затем посчитаем их количество.
- 12122:[2, 4, 5, 10, 20]
- 22122:[2, 4, 5, 10, 20]
- 111122:[2, 3, 4, 5, 10, 20]
- 122112:[2, 4, 8, 9, 10, 20]
- 211122:[2, 3, 4, 5, 10, 20]
- 222112:[2, 4, 8, 9, 10, 20]
- 1112112:[2, 3, 4, 8, 9, 10, 20]
- 2112112:[2, 3, 4, 8, 9, 10, 20]
- 11211112:[2, 3, 6, 7, 8, 9, 10, 20]
- 21211112:[2, 3, 6, 7, 8, 9, 10, 20]
- 121111112:[2, 4, 5, 6, 7, 8, 9, 10, 20]
- 221111112:[2, 4, 5, 6, 7, 8, 9, 10, 20]
- 1111111112:[2, 3, 4, 5, 6, 7, 8, 9, 10, 20]
- 2111111112:[2, 3, 4, 5, 6, 7, 8, 9, 10, 20]
- 12121111111111:[2, 4, 5, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
- 22121111111111:[2, 4, 5, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
- 111121111111111:[2, 3, 4, 5, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
- 122111111111111:[2, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
- 211121111111111:[2, 3, 4, 5, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
- 222111111111111:[2, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
- 1112111111111111:[2, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
- 2112111111111111:[2, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
- 11211111111111111:[2 , 3, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
- 21211111111111111:[2 , 3, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
- 121111111111111111:[ 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
- 221111111111111111:[ 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
- 1111111111111111111: [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
- 2111111111111111111: [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
Траектория вычислений указана в квадратных скобках.
№23 2023 досрочного варианта ЕГЭ по информатике
Ответ: Всего существует 28 программ, для которых при исходном числе 1 результатом является число 20 и при этом траектория вычислений содержит число 10
Источник: www.bolshoyvopros.ru
Разбор 23 задания демоверсия егэ по информатике 2019 ФИПИ : траектория программы содержит число
Особенности решения задачи № 23 единого государственного экзамена
Мордовский государственный педагогический университет имени М.Е. Евсевьева
Изучение алгоритмов имеет большую практическую значимость. Это связано с тем, что разработка алгоритма предполагает подробное описание каждого шага решения задачи. В едином государственном экзамене по информатике исполнителям отводится три задачи (№ 12, 18, 23).
Рассмотрим задачу № 23 на выполнение алгоритмов для исполнителей, её формулировка:
Исполнитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:
Первая команда увеличивает число на экране на 1, вторая умножает его на 2. Программа для исполнителя – это последовательность команд.
Сколько существует программ, для которых при исходном числе 1 результатом является число 20 и при этом траектория вычислений содержит число 10?
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 16, 17.
Можно запрограммировать данное решение или попытаться перечислить все пути в явном виде, но это слишком трудоёмко и скорее всего, в итоге приведёт к ошибке. Данная задача имеет достаточно простое теоретическое решение, то есть решение на бумаге.
Данная задача взята из Дэмо-версии 2021 год [1]. В задаче речь идет об исполнителе, который может исполнять две команды: первая – увеличить число на 1, вторая – умножить это число на 2. Нам необходимо найти количество команд, которые из числа 1 получают результатом число 20, при этом траектория обязательно содержит число 10.
Что это значит: траектория вычисления обязательно содержит какое-то число? Смотрите, если мы стартуем с 1 и выполняем команду № 2 (умножить на 2), то есть 1*2 получаем 2. Исполнитель выполняет опять ту же команду и полученную 2 (двойку) тоже умножает на 2 (2*2=4). Дальше можно выполнить команду № 1 и прибавить 1 (4+1=5). Теперь 5 умножим на 2 (5*2=10). Тем самым мы получаем 10.
Согласно условия задачи, это число мы всегда должны иметь ввиду при подсчете траектории вычислений. Далее мы 10 умножаем на 2 и получаем требуемое число 20.
Нам нужно рассмотреть все возможные траектории, которые внутри своих вычислений будут содержать число 10 и подсчитать, сколько их существует.
Как это сделать? Достаточно просто.
Необходимо рассмотреть два случая:
1) мы пойдем с вами от 1 до 10, тогда в результате вычислений мы обязательно получим число 10 и включим её в траекторию;
2) мы начнем от 10 и дойдем до 20.
Таким образом, у нас получится первый набор команд, ведущий нас от 1 до 10 и второй – от 10 до 20.
Если, например, у нас окажется 5 наборов команд для случая от 1 до 10, и 4 набора команд от 10 до 20, то общее количество наборов мы подсчитаем, перемножив 5 и 4. То есть, получится 5*4 = 20 разных вариантов команд.
Итак, давайте вернемся к нашей задаче и посчитаем, сколько у нас таких команд будет, если мы пойдем от 1 до 10. Нарисуем динамическую таблицу. Почему она динамическая вы сейчас поймете.
Разбор демоверсии ЕГЭ по информатике 2022 (22-27 Задание)
Продолжаем анализ демонстрационного варианта ЕГЭ по информатике 2022.
В этой статье разберём с 22-ого по 27 задание.
ЕГЭ по информатике 2022 будет повержено!
Ниже на четырёх языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 4, а потом 5.
Решение данного задания будет похоже на решение 6 задания из ЕГЭ по информатике 2022.
С помощью перебора на языке Python найдём при каких значениях переменная L=4 И переменная M=5 в конце программы.
for i in range(1, 1000): X=i Q=9 L=0 while X >= Q: L = L + 1 X = X — Q M=X if M < L: M = L L = X if L==4 and M==5: print(i)
Наибольшее значение равно 49.
Исполнитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 1 2. Умножить на 2
Программа для исполнителя – это последовательность команд. Сколько существует программ, для которых при исходном числе 1 результатом является число 20, и при этом траектория вычислений содержит число 10?
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 16, 17.
Решим задачу c помощью шаблона на языке Python.
def F(x, y): if x == y: return 1 if x > y: return 0 if x < y: return F(x+1, y) + F(x*2, y) print(F(1, 10)*F(10, 20))
Число x, это то число, с которым мы работаем. Число y — это куда нужно прийти.
Если число x достигло пункта назначения, то возвращаем 1. Если оно перескочило y, то возвращаем 0. А если ещё не дошло до y, то продолжаем вычисления с помощью рекурсии.
У нас число 10 обязательное, поэтому разбиваем функцию следующим образом F(1, 10)*F(10, 20), через умножение. Это и будет ответ. Получается 28.
Текстовый файл состоит из символов P, Q, R и S.
Определите максимальное количество идущих подряд символов в прилагаемом файле, среди которых нет идущих подряд символов P. Для выполнения этого задания следует написать программу.
Решение:
Напишем решение на языке Python.
f=open(’24.txt’) s=f.read() count=1 mx=0 for i in range(0, len(s)-1): if s[i]==’P’ and s[i+1]==’P’: count=1 else: count=count+1 mx = max(mx, count) print(mx)
Подсчитываем символы, пока не встретилась комбинация двух P подряд. Как только встретилась данная комбинация, сбрасываем счётчик на 1. Здесь мы сбрасываем счётчик на значение 1, чтобы учесть один символ, которые находится в самой комбинации PP. И в начале мы тоже устанавливаем счётчик в значение 1 по этой же причине.