Файл: 16е задание Вычисление рекуррентных выражений.pptx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.01.2024

Просмотров: 49

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

16-е задание: «Вычисление рекуррентных выражений»

Уровень сложности — повышенный, Максимальный балл — 1, Примерное время выполнения — 9 минут. Проверяемые элементы содержания: Вычисление рекуррентных выражений

Процедура (функция)– это вспомогательный алгоритм (фрагмент кода программы), который служит для выполнения определенных действий.

Предназначена для:

  • выполнения одинаковых действий в различных местах одной и той же программы;
  • разбивки программы (или другой процедуры или функции) на подзадачи для улучшения читаемости кода.
  • Особенности программирования процедур (функций):
  • подпрограммы располагаются всегда выше основной программы:

функция вызывается немного иначе:

пример работы процедуры и функции для сложения двух значений (порядок действий компилятора указан числами):

Рекурсивной называется процедура, вызывающая сама себя.

  • Для использования рекурсии, необходимо задать:
    • условие остановки рекурсии (обычно, в виде условного оператора): if n >=1 then begin
  • рекуррентную формулу (обычно, вызов самой себя с измененным параметром): row(n-1)
  • Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
  • F(n) = 1 при n = 1;
  • F(n) = n · F(n − 1), если n > 1.
  • Чему равно значение выражения F(2023) / F(2020)?
  • Решение.
  • Приведём программу на Python, решающую данную задачу:
  • a = {1 : 1} for i in range(2, 2024): a[i] = i * a[i - 1] print(a[2023] / a[2020])
  • Результат работы программы — 8266912626.

F(1) = 1

F(2) = 3

F(n) = F(n–1) * n + F(n–2) * (n – 1) , при n >2

Чему равно значение функции F(5)?

В ответе запишите только натуральное число.

Решение.  

Ответ: 309.

Приведём другое решение на языке Python.

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))

Ответ 16