поняття рекурсії

Назва роботи: Поняття рекурсії. Пряма і непряма рекурсія

Предметна область: Інформатика, кібернетика та програмування

Опис: Рекурсія це такий спосіб організації програми коли процедура або функція в ході виконання складових її операторів звертається сама до себе. Прикладом програми з використанням рекурсії може бути програма обчислення факторіала числа. Програми які використовують рекурсивні процедури відрізняються простотою наочністю і компактністю тексту. Максимальне число рекурсивних викликів процедури без повернень яке відбувається під час виконання програми називається глибиною рекурсії.

Розмір файлу: 23.5 KB

Роботу скачали: 19 чол.

Поняття рекурсії. Пряма і непряма рекурсія.

рекурсія # 150; це такий спосіб організації програми, коли процедура або функція в ході виконання складових її операторів звертається сама до себе.

Прикладом програми з використанням рекурсії може бути програма обчислення факторіала числа. Факторіал може бути визначений рекурсивно:

n! = (n -1)! * n. де n = 1, 2, 3, ...

Приклад. Програма, яка запитує введення числа і потім виводить на екран значення факторіала від нього.

Function fakt (n: integer): longint;

If n = 1 then fakt: = 1

Else fakt: = fakt (n-1) * n;

Writeln (# 145; введіть число # 145;);

Writeln (k, # 145 ;. = # 145;, fakt (k));

Програми, які використовують рекурсивні процедури відрізняються простотою, наочністю і компактністю тексту. Але при цьому поступаються нерекурсівние по швидкодії і споживаної пам'яті.

Максимальне число рекурсивних викликів процедури без повернень, яке відбувається під час виконання програми називається глибиною рекурсії.

При організації рекурсивної процедури слід виконувати рекурсивний виклик за умовою, яке на якомусь рівні рекурсії стане хибним.

Рекурсія може бути прямою. коли функція викликає сама себе (А  А), і непрямої. коли функція А викликає функцію В, яка в свою чергу викликає функцію А (А  В  А).

При кожному виклику будь підпрограми відбувається приміщення в системний стек даних цієї програми, а саме: точки повернення, значень формальних параметрів і локальних констант і змінних, то глибина рекурсії не може бути нескінченною, оскільки врешті-решт цей системний стек переповниться.

Схожі статті