36298

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

Доклад

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

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

Русский

2013-09-21

23.5 KB

29 чел.

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

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

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

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.

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

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

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

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

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


 

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

71724. Физические основы электропроводности биологических тканей при постоянном токе. Лечебный электрофорез и гальванизация 239 KB
  Изучить физические основы применения постоянного электрического тока с лечебной целью. Чем объясняется нарушение закона Ома при прохождении постоянного тока через биологическую ткань С чем связывают первичное действие постоянного тока Почему у анода и катода возбудимость клетки разная.
71725. Изучение импеданса живой биологической ткани 201 KB
  Изучить зависимость импеданса биологической ткани от частоты переменного тока. Определить сдвиг фаз между силой тока и напряжением при прохождении переменного тока через живую ткань. Вопросы входного контроля Что такое электрический ток Что является носителями тока в проводниках...
71726. Определение динамического коэффициента вязкости. Определение коэффициента поверхностного натяжения 465 KB
  Какие режимы течения жидкости существуют Объясните возникновение силы внутреннего трения. Напишите уравнение Ньютона для течения вязкой жидкости. Как зависит вязкость жидкости от температуры Что такое ньютоновские и неньютоновские жидкости Запишите формулу Пуазейля проанализируйте ее.
71727. Изучение поля электрического диполя 887.5 KB
  Цель работы: исследовать поле модели электрического диполя. Основные понятия теории электрического диполя Электрическим диполем называется система состоящая из двух равных по величине но противоположных по знаку точечных зарядов расположенных на расстоянии друг от друга.
71728. Измерение осмотической устойчивости эритроцитов методом светорассеяния 93.5 KB
  Виды эритроцитов в зависимости от формы. Основная функция эритроцитов заключается в транспортировке кислорода и углекислоты. во взвешенном состоянии или в изотоническом растворе соли равновесном для эритроцитов они имеют форму двояковогнутого диска и называются дискоцитами.
71729. Использование электроизмерительных приборов для измерения электрических величин 697 KB
  Закрепить умения измерения физических величин косвенными методами на основе прямых измерений нескольких величин. Величины характеризующие прохождение электрического тока по цепи и единицы их измерения.
71730. Снятие спектральной характеристики уха на пороге слышимости 665 KB
  Субъективной характеристикой звука является громкость (Е), которая характеризует уровень слухового ощущения. Слуховое ощущение обусловлено чувствительностью уха к действию звуковой волны. Чувствительность, в свою очередь, зависит от физических характеристик звуковой волны...
71731. Методы оценки погрешностей при прямых и косвенных измерениях количественных значений различных величин 150.5 KB
  Научиться обрабатывать результаты прямых и косвенных измерений с учетом случайных и систематических погрешностей. Состояние производства и научных исследований предъявляют постоянно растущие требования к точности измерений которые удовлетворяются не только за счет создания...
71732. Методы статистической обработки выборочных данных 165 KB
  Что показывает корреляционная зависимость между статистическими совокупностями Характеристика корреляционной зависимости по значению коэффициента парной корреляции. Связь коэффициентов уравнений регрессии с коэффициентом корреляции и их геометрический смысл.