СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Презентация по информатике "РЕКУРСИВНЫЕ АЛГОРИТМЫ" (задание № 16 - подготовка к КЕГЭ)

Категория: Информатика

Нажмите, чтобы узнать подробности

Презентация по информатике "РЕКУРСИВНЫЕ АЛГОРИТМЫ" (задание № 16 - подготовка к КЕГЭ)

Просмотр содержимого документа
«Презентация по информатике "РЕКУРСИВНЫЕ АЛГОРИТМЫ" (задание № 16 - подготовка к КЕГЭ)»

РЕКУРСИВНЫЕ АЛГОРИТМЫ Задание № 16 ЕГЭ информатика

РЕКУРСИВНЫЕ АЛГОРИТМЫ

Задание № 16 ЕГЭ информатика

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

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

def Функция ( def ) в Python — это фрагмент кода, который выполняет определённые операции и отдаёт результат. Его можно написать один раз и переиспользовать во всей программе. 

def

Функция ( def ) в Python — это фрагмент кода, который выполняет определённые операции и отдаёт результат.

Его можно написать один раз и переиспользовать во всей программе. 

return()   завершает вызов функции и возвращает результат вызывающей стороне. Это ключевой компонент любой функции или метода в коде, который включает в себя ключевое слово return и значение, которое будет возвращено после этого.  - Код после  return()  не выполняется  - return()  не может быть использован вне функции - Если  return()  не содержит никакого выражения, то возвращается значение  None . def  func_name () :  ...  return  [ expression ]

return()   завершает вызов функции и возвращает результат вызывающей стороне. Это ключевой компонент любой функции или метода в коде, который включает в себя ключевое слово return и значение, которое будет возвращено после этого. 

- Код после  return()  не выполняется

- return()  не может быть использован вне функции

- Если  return()  не содержит никакого выражения, то возвращается значение  None .

def func_name () :

...

return [ expression ]

2: return f(n-1) * n + f(n-2) * (n-1) print(f(5)) Ответ: 309 " width="640"

№ 1

def f(n):

if n == 1:

return 1

if n == 2:

return 3

if n 2:

return f(n-1) * n + f(n-2) * (n-1)

print(f(5))

Ответ: 309

1 and n % 2 != 0: return 2 * f(n-2) print(f(26)) Ответ: 4122 " width="640"

№ 2

def f(n):

if n == 1:

return 1

if n % 2 == 0:

return n + f(n-1)

if n1 and n % 2 != 0:

return 2 * f(n-2)

print(f(26))

Ответ: 4122

По умолчанию глубина рекурсии в языке Питон ограничена 1000 вызовов. Это ограничение можно поднять при помощи функции   setrecursionlimit из модуля system. Например, чтобы увеличить возможную глубину рекурсии до 10000 нужно в начале программы выполнить две инструкции: from sys import* setrecursionlimit(10000)

По умолчанию глубина рекурсии в языке Питон ограничена 1000 вызовов. Это ограничение можно поднять при помощи функции   setrecursionlimit из модуля system. Например, чтобы увеличить возможную глубину рекурсии до 10000 нужно в начале программы выполнить две инструкции:

from sys import*

setrecursionlimit(10000)

2024: return n if n return n*f(n+1) print(f(2022)/f(2024)) Ответ: 4090506 " width="640"

№ 3 (демо 2024)

С помощью Excel

from sys import*

setrecursionlimit(10000)

def f(n):

if n2024:

return n

if n

return n*f(n+1)

print(f(2022)/f(2024))

Ответ: 4090506

=7: return n+1+f(n-2) print(f(2024)-f(2020)) Ответ: 4048 " width="640"

№ 4

С помощью Excel

from sys import*

setrecursionlimit(10000)

def f(n):

if n

return 7

if n=7:

return n+1+f(n-2)

print(f(2024)-f(2020))

Ответ: 4048

1:return f(n-1)-2*g(n-1) def g(n): if n==1:return 1 if n1:return f(n-1)+2*g(n-1) print (g(21)) Ответ: 802165 " width="640"

№ 5

С помощью Excel

def f(n):

if n==1:return 1

if n1:return f(n-1)-2*g(n-1)

def g(n):

if n==1:return 1

if n1:return f(n-1)+2*g(n-1)

print (g(21))

Ответ: 802165

3 and n%3==0: return f(n/3)+4*n if n3 and n%3!=0: return n*n*n-26 for n in range (1,10000): if f(n) print (n) Ответ: 36 " width="640"

№ 6

def f(n):

if n

if n3 and n%3==0: return f(n/3)+4*n

if n3 and n%3!=0: return n*n*n-26

for n in range (1,10000):

if f(n)

print (n)

Ответ: 36