Как решать 23 задание на питоне
Перейти к содержимому

Как решать 23 задание на питоне

  • автор:

Решение 23 задания ЕГЭ, вывод всех программ

Добрый день! В ЕГЭ по информатике есть задание 23, которое заключается написание рекурсивных функций для вычисление всех возможных программ, которые преобразуют одно число в другое по средствам нескольких команд. Например, задание 447 на сайте Полякова. Здесь решение вполне очевидное и стандартное для тех, кто знаком с ЕГЭ.

1 2 3 4 5 6 7 8
def F(start, end): if (start > end): return 0 elif (start == end): return 1 return F(start + 1, end) + F(start + 2, end) print(F(1, 7) * F(7, 13))

Получается, что всего 169 различных программ, которые преобразуют число 1 в 13 через 7. Скажите, пожалуйста, как можно сохранять последовательность команд таких программ? То есть можно будет вывести не только число программ, но и сами программы, которые состоят из набора команд. Пример: последовательность команд «222222» будет подходить для такого решения.

Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Решение задания С3 из ЕГЭ
Здравствуйте, я написал программу для решения задания С3 из ЕГЭ по информатике ( задача про камушки.

Программное решение 16-го задания ЕГЭ по информатике
Здравствуйте, форумчане. В ЕГЭ по информатике существует 16-е задание и оно связанно с двумя.

Задания по ЕГЭ
Скажите в ЕГЭ могут быть задания где надо работать с компьютером? Например изменять код программы.

Пояснение 5 задания из ЕГЭ по информатике
Текст задачи: На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R.

Эксперт функциональных языков программированияЭксперт Python

36833 / 19881 / 4166
Регистрация: 12.02.2012
Сообщений: 33,015
Записей в блоге: 13

Лучший ответ

Сообщение было отмечено shlyapp как решение

Решение

1 2 3 4 5 6 7 8 9
def F(start, end, acc=[],res=[]): if (start > end): return [] elif (start == end): return res+[acc] return F(start + 1, end, acc+[1],res) + F(start + 2, end,acc+[2],res) print(F(1,7,[1]))

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Составьте задание (в формате задания 27 ЕГЭ)
Составьте задание (в формате задания 27 ЕГЭ) по тексту стихотворения М. Ю Лермонтова "Выхожу один я.

Выбор языка программирования для задания С4 ЕГЭ
Проблема заключается в следующем: мне критически важно выполнить это задание на максимальный балл;у.

Выбор языка программирования для задания С4 ЕГЭ
Проблема заключается в следующем: мне критически важно выполнить это задание на максимальный балл;у.

Выбор языка программирования для задания С4 ЕГЭ
Проблема заключается в следующем: мне критически важно выполнить это задание на максимальный балл;у.

Какие задания из ЕГЭ 2021 по информатике можно реализовать на python?
готовлюсь к ЕГЭ(10 класс пока что) и проще куда запрограммировать задачу , чем решать вручную на.

Решение ЕГЭ задачи
сидел нарешивал 4 задание из егэ и появился такой вопрос,на который не могу найти ответ в интернете.

Решение задачи С4 по ЕГЭ
Здравствуйте дорогие форумчане! Помогите мне пожалуйста решить эту задачу. Мне нужно решение для.

1. Как решать задание ЕГЭ

7. Задание проверяет умение анализировать результат исполнения алгоритма, содержащего ветвление и цикл, с помощью языка программирования.

Пример задания (демоверсия ЕГЭ \(2023\))

Скриншот 25-09-2022 232709.png

Рис. \(1\). Пример задания

Для начала рассмотрим более лёгкое аналогичное задание.

У исполнителя Калькулятор три команды, которым присвоены номера:
1) прибавь \(1\);
2) умножь на \(2\);
3) умножь на \(3\).

Сколько существует программ, которые число \(1\) преобразуют в число \(6\)?

Решить такую задачу можно следующими способами:
1) построить дерево;
2) построить таблицу вариантов;
3) с помощью языка программирования.

Способ \(1\)
Рис. \(2\). Дерево
Способ \(2\)
Чтобы определить количество программ, нужно рассмотреть условия:
1) прибавь \(1\);
2) умножь на \(2\);
3) умножь на \(3\).

Построим таблицу. Условия получения чисел будут таковы:
если число не делится ни на \(2\) и ни на \(3\), то количество вариантов вычисляется по формуле K N = K N − 1 (т. е равно предыдущему значению) (\(1\)).

Если число делится только на \(2\), то количество вариантов вычисляется по формуле
K N / 2 = K N − 1 + K N / 2 (\(2\)).
Если число делится только на \(3\), то количество вариантов вычисляется по формуле
K N / 3 = K N − 1 + K N / 3 (\(3\)).
Если число делится и на \(2\), и на \(3\), то количество вариантов вычисляется по формуле
K N / 2,3 = K N − 1 + K N / 2 + K N / 3 (\(4\)).

Построим таблицу, в верхней строке будем писать числа \(N\), которые нужно получить, а в нижней строке — количество команд \(N\), которые мы получаем.

Рис. \(3\). Таблица
Способ \(3\)

Разработаем программу, которая определит результат. В программе используем функцию, которая будет возвращать значения при определённых условиях.

Какие условия нужно рассмотреть?

1

2

1

2

3

1

2

3

д4.jpg

4

Данная строка возвращает значение функции. Как видим, в записях «\(x + 1\)», «\(x*2\)», «\(x*3\)» заложены условия задания:

1) прибавь \(1\);
2) умножь на \(2\);
3) умножь на \(3\)

1

2

3

д4.jpg

4

5

Решим задание из демоверсии \(2023\).

Алгоритм решения задания похож на предыдущий, исключением является то, что добавляется условие «траектория вычислений содержит число \(10\) и не содержит \(17\)». Нам нужно ввести ещё ограничение: «если \(x\) окажется больше \(y\), то команд получения из одного числа другого нет, т. е. \(0\)», и при появлении числа \(17\) тоже значение функции будет равно \(0\). Условие «содержит число \(10\)» запишем в строке вызова функции

\(print(1,10)*(10,35))\).
Программа

1

2

Проверим условие: если \(x\) окажется больше \(y\), то команд получения из одного числа другого нет, т. е. \(0\).

Также проверяем, если встречается \(17\), то возвращается \(0\)

1

2

3

1

2

3

ret.jpg

4

Даная строка возвращает значение функции. Как видим, в записях «\(x+1\)», «\(x*2\)» заложены условия задания:

1) прибавь \(1\);
2) умножь на \(2\)

1

2

3

ret.jpg

4

вызов.jpg

5

Информатика 23 ЕГЭ

задание

Пытаюсь решать данное задание рекурсией, функция g(n) , возвращающая большее простое число работает, но когда вставляю ее во вторую функцию выдает ошибку, причем если заменить g(x) во второй функции на любое другое условие(число), например x * 3 , то все работает. Помогите понять что не так и исправить по возможности, спасибо, вот код:

def g(n): c = 0 for i in range(1, n + 1): if n % i == 0: c += 1 if c == 2: return n else: return g(n + 1) def f(x, y): if x == y: return 1 if x > y or x == 33: return 0 if x < y: return f(x + 2, y) + f(g(x), y) print(f(2, 14) * f(14, 45)) 

Отслеживать

user176262

задан 20 окт 2021 в 12:42

13 2 2 бронзовых знака

"выдает ошибку" - секретную?

– user176262

20 окт 2021 в 12:46

ну да, мне вам надо было прикрепить ее или что? вот: Traceback (most recent call last): File "filename", line 21, in print(f(2, 14) * f(14, 45)) File "filename", line 18, in f return f(x + 2, y) + f(g(x), y) File "filename", line 18, in f return f(x + 2, y) + f(g(x), y) File "filename", line 18, in f return f(x + 2, y) + f(g(x), y) [Previous line repeated 995 more times] File "filename", line 13, in f if x == y: RecursionError: maximum recursion depth exceeded in comparison

20 окт 2021 в 12:50

Ну не сходятся ваши вычисления, функции вызываются по кругу и глубина рекурсии получается превышена

ЕГЭ по информатике (2024)

Здесь представлены материалы для подготовки к ЕГЭ по информатике. В отличие от известной литературы, для большинства задач из демо-вариантов ЕГЭ сравниваются несколько способов решения, анализируются их достоинства и недостатки, возможные проблемы и «ловушки». Приведены рекомендации, позволяющие выбрать эффективные методы решения каждой конкретной задачи.

Автор признателен О.А. Тузовой (г. Санкт-Петербург) за обсуждение этих материалов и конструктивную критику. Спасибо всем, кто присылал и присылает мне замечания, предложения, сообщения об опечатках и неточностях.

Особая благодарность Н.Н. Паньгиной (г. Сосновый Бор) за взаимовыгодное сотрудничество и разностороннюю поддержку проекта.

Поддержать проект финансово

Автор будет благодарен за новые отзывы по поводу представленных здесь материалов для подготовки к ЕГЭ по информатике. Если вы заметили ошибку или у вас просто есть что сказать по существу вопроса, пишите.

Тренажёр компьютерного ЕГЭ

ЕГЭ по информатике в 2024 году будет проводиться в компьютерной форме. На этом сайте вы можете попробовать, как это будет выглядеть в тренажёре. Он является копией официального тренажёра официального тренажёра , но позволяет загружать любой вариант из генератора. Кроме того, после завершения пробного экзамена вы узнаете, сколько баллов вы набрали бы на ЕГЭ, если бы отправили такие ответы. Попробуйте:

Тренажёр компьютерного ЕГЭ

Авторские семинары

Если вы хотите пригласить авторов учебника в свой город для проведения выездного семинара, пишите.

Робот-Blockly

Робот-Blockly — это версия исполнителей Робот и Водолей, программы для которых составляются из готовых блоков, как в Scratch. Это избавляет учеников от синтаксических ошибок, которые неминуемо возникают при ручном наборе текстовой программы. Программа подходит для вводного курса алгоритмизации в 5-6 (и даже более старших) классах. У программы есть оффлайн-версия, которую можно использовать без доступа к Интернету. Вы можете создавать свои наборы задач, а не только использовать готовые.

Коллеги тащат то, что не приколочено.

    Артём Имаев, который ведёт группу «FLASH: ЕГЭ информатика 2021» и предлагает всем стать супергероем вместе со ним.
  • Мартынов Антон Иванович, председатель предметной комиссии по информатике Ульяновской области, опубликовал представленные здесь рекомендации по решению задач части C под своим именем в официальном аналитическом отчете (Ульяновск, 2009).

Актуальные публикации

  • А.Н. Калинин. Программные методы решения задач ЕГЭ по обработке целочисленной информации (задача 25).
  • В.С. Попов. Новая задача ЕГЭ по информатике № 22: решение с помощью графа // Потенциал: Математика, Физика, Информатика, № 8, 2022.
  • К.Ю. Поляков. Особенности решения задач 25 и 26 в компьютерном ЕГЭ по информатике. Материалы вебинара для учителей г. Сочи, 24.03.2021.
  • К.Ю. Поляков. Динамическое программирование в задачах обработки последовательностей ЕГЭ по информатике.
  • К.Ю. Поляков. Задачи на анализ логических выражений в ЕГЭ по информатике. // Информатика в школе, № 9, 2019, с. 29–35.
  • А.Н. Сидоров Задача 18 ЕГЭ по информатике: логическое выражение с делимостью.
  • Н.Л. Конина Задачи 18 с делимостью.
  • Н.И. Герасименко Задачи 18 с делителями в КИМ ЕГЭ по информатике.
  • К.Ю. Поляков Линейное (и нелинейное) программирование в задаче 18 ЕГЭ по информатике (презентация).
  • К.Ю. Поляков, Битовые операции в задаче 18 КИМ ЕГЭ по информатике. Часть 2.
  • К.Ю. Поляков, Множества и логика в задачах ЕГЭ // Информатика, № 10, 2015, с. 38-42.
  • Е.А. Мирончик. Алгебра предикатов и построение геометрических моделей на ЕГЭ по информатике // Информатика, № 3, 2019, с. 40-47.

Что еще посмотреть?

  • Тренажёр для подготовки к компьютерному ЕГЭ
  • Тесты для подготовки к ЕГЭ (для системы NetTest)
  • Онлайн-тесты для подготовки к ЕГЭ
  • Генератор тренировочных вариантов ЕГЭ
  • Программное обеспечение
  • Статьи, презентации
  • Видеоматериалы
  • Дополнительные материалы
  • Материалы прошлых лет (демо-варианты, анализ, разбор задач)
  • Вопросы и ответы
  • Отзывы

Новости теперь и в Telegram-канале

27 октября 2023 г.
Новые задачи для тренировки 5 (Е. Джобс).

26 октября 2023 г.
Новая задача для тренировки 25 (С. Чайкин).
Новые задачи для тренировки 4 (Е. Джобс).

25 октября 2023 г.
Новые задачи для тренировки 8 (Е. Джобс).

23 октября 2023 г.
Исправлены ответ и решение к задаче 14.441.
Новые задачи для тренировки 5 (П. Финкель).

17 октября 2023 г.
Новые задачи для тренировки 5, 6, 7-2, 8 (А. Минак).

16 октября 2023 г.
Новые задачи для тренировки 13 (А. Минак).

11 октября 2023 г.
Исправлен ответ к задаче 6.153.

Приложение для ОС Android

Багрепорты, замечания, предложения можно присылать на форум.

Официальные материалы

Инструкция для участников КЕГЭ 26.04.2021
Материалы ФИПИ по ЕГЭ-2024 (проект) 28.08.2023
Шкала для перевода первичных баллов в 100-балльную систему (2022 г., obrnadzor.gov.ru) 19.04.2022
Аналитический отчёт о результатах участников ЕГЭ 2023 года по информатика, включая методические рекомендации для учителей, подготовленные на основе анализа типичных ошибок участников ЕГЭ 2023 г. 01.10.2023

Открытый банк заданий ФИПИ

Открытый банк заданий ЕГЭ на сайте fipi.ru 24.05.2023
OpenFIPI — задачи из открытого банка заданий ОГЭ и ЕГЭ с группировкой по номерам заданий, теме и новизне (А. Рогов) 24.05.2023

Тренажёры для подготовки к компьютерному ЕГЭ (КЕГЭ)

Тренажер для подготовки к КЕГЭ (К. Поляков) 04.10.2020
Тренажер для подготовки к КЕГЭ (А. Кабанов) 06.09.2020

Полезные ресурсы для подготовки к ЕГЭ по информатике

Открытый курс Алексея Кабанова 28.08.2023
ЕГЭ информатика 2024 | Открытый курс 28.08.2023
Youtube-канал Алексея Кабанова 28.08.2023
Youtube-канал Евгения Джобса 28.08.2023
Информатика с Джобсом | ЕГЭ 28.08.2023
Информатика ЕГЭ (Alex Danov) 28.08.2023
Youtube-канал Алексея Богданова (Alex Danov) 28.08.2023
Youtube-канал Информатик БУ 28.08.2023
Информатика | ЕГЭ 2024 | Вебиум (Николай Касперский) 28.08.2023
Youtube-канал Николая Касперского 28.08.2023
Youtube-канал «Информатика ЕГЭ — Школково» 28.08.2023

Лицензионное соглашение

Все опубликованные ниже материалы для подготовки к ЕГЭ по информатике могут быть свободно использованы в некоммерческих целях при условии сохранения авторства.

  1. 1) публикация материалов в любой форме, в том числе размещение материалов на других Web-сайтах;
  2. 2) распространение неполных или измененных материалов;
  3. 3) включение материалов в сборники на любых носителях информации;
  4. 4) получение коммерческой выгоды от продажи или другого использования материалов.

Использование и скачивание материалов означает, что вы приняли условия этого лицензионного соглашения.

Скачать все сразу

Материалы для подготовки к ЕГЭ-2024 по информатике 27.10.2023

Пароль к архиву — kpolyakov.spb.ru

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *