Cтраница 1
Рекурсивные процедуры обладают многими достоинствами и являются мощным средством при создании оптимальных программ в таких задачах, как перевод с языка на язык, в том числе при трансляции, в доказательствах теорем и др. Привести простой пример, показывающий технику рекурсивных процедур и демонстрирующий явную выгоду перед нерекурсивным вариантом процедуры, не представляется возможным. [1]
Рекурсивные процедуры ( recursive procedure) - это процедуры, которые вызывают сами себя. Их сложность определяется очень тонким способом. Сложность многих рекурсивных алгоритмов зависит именно от количества итераций рекурсии. Рекурсивная процедура может казаться достаточно простой, но она может очень серьезно усложнять программу, многократно вызывая саму себя. [2]
Рекурсивная процедура может выполняться косвенно, вызывая вторую процедуру, которая, в свою очередь, вызывает первую. [3]
Рекурсивные процедуры и рекурсивные обращения к процедурам не допускаются. [4]
![]() |
MDT после обработки макроопределений примера 5. [5] |
Рекурсивные процедуры обычно работают с помощью стека - схемы памяти, которая выделяет отдельную область памяти для переменных, связанных с каждым обращением к процедуре. [6]
Рекурсивные процедуры иногда приводят людей в замешательство. Но на самом деле они совсем несложные. Просто параметры помещаются в стек, и вызывается процедура. [7]
Рекурсивная процедура search обрабатывает каталог, открывая его, а затем считывая его записи по одной при помощи функции readdir, пока эта функция не вернет значение NULL. Это означает, что в каталоге больше нет записей. Если запись представляет собой каталог, он также обрабатывается рекурсивным вызовом процедуры search. Если же это исполняемый файл, он заражается процедурой infect, которой в виде параметра передается имя файла. Для использования символьных ссылок требуется более сложная программа. [8]
Рекурсивная процедура имеет ту особенность, что обращается сама к себе. Рекурсивные процедуры удобны, но они могут оказаться неэффективными. [9]
Рекурсивные процедуры и функции ( модули) имеют одну из двух форм: прямую рекурсию и косвенную рекурсию. В первом случае модуль содержит оператор вызова этого же модуля, как в приведенной выше процедуре REVERSE. Во втором случае один мо дуль вызывает какой-либо другой модуль, который либо сам либо посредством других модулей вызывает исходный модуль. [10]
Рекурсивная процедура search (4.87), как и раньше, следует схеме основного алгоритма включения в двоичное дерево. Добавляется третий параметр h, он указывает, изменяется или нет поддерево с корнем р, и полностью соответствует параметру h в программе поиска в Б - дереве. Однако нужно указать и на последствия представления страниц в виде связанных списков: любая страница проходит с помощью одного или двух обращений к процедуре поиска. Необходимо различать такие случаи: выросло поддерево ( указанное вертикальной ссылкой) или братская вершина ( указанная горизонтальной ссылкой) получила еще одного брата и, следовательно, требуется разделение страницы. [11]
Рекурсивная процедура search обрабатывает каталог, открывая его, а затем считывая его записи по одной при помощи функции readdir, пока эта функция не вернет значение NULL. Это означает, что в каталоге больше нет записей. Если запись представляет собой каталог, он также обрабатывается рекурсивным вызовом процедуры search. Если же это исполняемый файл, он заражается процедурой infect, которой в виде параметра передается имя файла. Для использования символьных ссылок требуется более сложная программа. [12]
Рекурсивные процедуры, в частности, могут быть с успехом применены в различных областях вычислительной математики. Например, с их помощью удобно вычислять кратные интегралы, для че о в фортране обычно приходится использовать несколько различных подпрограмм из пакета типовых подпрограмм. [13]
Аналогично рекурсивным процедурам могут быть и рекурсивные функции. Бели идентификатор функции встречается в правой части оператора, присваивания, то это означает рекурсивное обращение к функции. [14]
Рекурсивными процедурами называются такие процедуры, в теле которых есть обращение к самим себе непосредственно или с помощью другой процедуры. [15]