36298

Понятие рекурсии. Прямая и косвенная рекурсия

Доклад

Информатика, кибернетика и программирование

Рекурсия – это такой способ организации программы когда процедура или функция в ходе выполнения составляющих ее операторов обращается сама к себе. Примером программы с использованием рекурсии может быть программа вычисления факториала числа. Программы которые используют рекурсивные процедуры отличаются простотой наглядностью и компактностью текста. Максимальное число рекурсивных вызовов процедуры без возвратов которое происходит во время выполнения программы называется глубиной рекурсии.

Русский

2013-09-21

23.5 KB

19 чел.

Понятие рекурсии. Прямая и косвенная рекурсия.

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

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

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

Пример. Программа, которая запрашивает ввод числа и затем выводит на экран значение факториала от него.

Var     k: integer;

Function  fakt (n: integer):longint;

 Begin

If n=1 then  fakt :=1

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

  End;

 Begin

Writeln (‘ введите число ‘);

Readln (k);

Writeln (k, ‘ ! =  ‘,fakt(k));

  End.

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

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

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

Рекурсия может быть прямой, когда функция вызывает сама себя (А А), и косвенной, когда функция А вызывает функцию В, которая в свою очередь вызывает функцию А (АВА).

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


 

А также другие работы, которые могут Вас заинтересовать

68422. Стабильность и регуляция экосистем, понятие о гомеостазе экосистем 53.5 KB
  Антропогенные воздействия. Воздействия помех на популяцию носят случайный избирательный характер. Та область в пределах которой механизмы отрицательной обратной связи способны несмотря на стрессовые воздействия сохранить устойчивость системы хотя и в изменённом виде называют гомеостатическим плато.
68423. Динамические процессы в экосистемах 196.5 KB
  Биоценоз экосистемы изменяется под воздействием факторов экотопа причем эти воздействия обладают различной интенсивностью и скоростью например биотические и геологические круговороты. Вместе с тем мы прекрасно знаем что подвижность экосистемы также относительна: экосистемы таежных лесов или целинных...
68424. Структура биосферы 46 KB
  Строение биосферы Биосфера охватывает нижнюю часть атмосферы всю гидросферу океаны моря поверхностные воды суши а также верхнюю часть литосферы. Верхней границей биосферы является озоновый слой 2030 км от земной поверхности а её нижняя граница не опускается в литосферу ниже 23 км.
68425. Экологические факторы 60 KB
  В числе факторов неживой природы присутствуют физические космические климатические орографические почвенные и химические компоненты воздуха воды кислотность и иные химические свойства почвы примеси промышленного происхождения. Содержание водяного пара в воздухе зависит от температуры...
68426. Экологические факторы окружающей среды. Абиотические факторы 282 KB
  В числе факторов неживой природы присутствуют физические космические климатические орографические почвенные и химические компоненты воздуха воды кислотность и иные химические свойства почвы примеси промышленного происхождения.
68427. Биотические и антропогенные факторы 46 KB
  Например в тканях дерева в древесине лубе коре развиваются многие грибы плодовые тела которых трутовики можно видеть на поверхности ствола; внутри листьев плодов стеблей травянистых и древесных растений живет множество насекомых и других беспозвоночных а дупла деревьев обычное место...
68428. Биотические факторы. Общие закономерности взаимодействия организмов и экологических факторов 283 KB
  Биотические факторы наземной и водной среды почв Биологически активные вещества живых организмов Антропогенные факторы Общие закономерности взаимодействия организмов и экологических факторов Понятие лимитирующего фактора.
68429. Виды и характер загрязнения окружающей среды 106.5 KB
  Источники загрязнения окружающей среды Загрязнение окружающей среды это поступление в среду любых веществ твердых жидких газообразных или видов энергии тепла шума радиоактивности в таких количествах которые оказывают вредное влияние на человека животных и растения...
68430. Экстремальные воздействия на биосферу 76 KB
  К экстремальным относят такие воздействия, которые создают неустойчивые и неблагоприятные условия существования человека и естественных экосистем и нередко приводят к их гибели. Экстремальные воздействия на природную окружающую среду могут иметь антропогенный...