Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Формы рекурсивных процедур.

Основные принципы перегрузки операций | Запреты на перегрузку операций | Базовые и производные классы. | Struct card | Int data; | Динамическое распределение памяти | Free(newPtr); | Очереди | Алгоритм как абстрактная машина | Program Hanoi_Towers; |


Читайте также:
  1. I.II.1. Категория оптимальности общественного развития и формы ее реализации в современных общественных моделях.
  2. II. Формы управления учреждением. Перечень и порядок принятия локальных нормативных актов.
  3. IV. Формы контроля.
  4. V. Формы промежуточного и итогового контроля
  5. А объем иевоспринимается; 6 - объем­ность формывоспринимается-, в впечатление объемности формы возникает» благодаря кри­визне поверхности
  6. Аграрные реформы П.А. Столыпина
  7. Билет 22. Формы и методы инновационной деятельности.

В общем случае любая рекурсивная процедура Rec включает в себя некоторое множество операторов S и один или несколько операторов рекурсивного вызова Р. Безусловные рекурсивный процедуры приводят к бесконечным процессам, и на эту проблему нужно обратить особое внимание, так как практическое использование процедур с бесконечным самовызовом невозможно. Такая невозможность вытекает из того, что для каждой копии рекурсивной процедуры необходимо выделять дополнительную область памяти, а бесконечной памяти не существует. Следовательно, главное требование к рекурсивным процедурам заключается в том, что вызов рекурсивной процедуры должен выполняться по условию, которое на каком-то уровне рекурсии станет ложным.

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

Структура рекурсивной процедуры может принимать три разных формы:

1. Форма с выполнением действий до рекурсивного вызова (с выполнением действий на рекурсивном спуске).

2. Форма с вьшолнением действий после рекурсивного вызова (с вьшолнением действий на рекурсивном возврате)

3. Форма с вьшолнением действий как до, так и после рекурсивного вызова (с
выполнением действий как на рекурсивном спуске, так и на рекурсивном возврат е).

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


Дата добавления: 2015-07-16; просмотров: 110 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Сопоставление алгоритмических моделей| Пример рекурс алгоритмаЗадача о Ханойских башнях.

mybiblioteka.su - 2015-2024 год. (0.006 сек.)