Cтраница 4
При динамическом распределении памяти рекурсивные процедуры программируются и выполняются по правилам, общим для всех процедур. Каждое обращение к процедуре приводит к выделению в стеке памяти для этой процедуры независимо от того, является это обращение обычным или рекурсивным. [46]
Подобно операторам цикла, рекурсивные процедуры могут приводить к незаканчивающимся вычислениям, и поэтому на эту проблему следует особо обратить внимание. Очевидно основное требование, чтобы рекурсивное обращение к Р управлялось некоторым условием В, которое в какой-то момент становится ложным. [47]
К множеству S применяется рекурсивная процедура MAXMIN. Она имеет один аргумент), представляющий собой множество S, такое, что S 2 при некотором К, и вырабатывает пару ( а, &), где а - наибольший и Ъ - наименьший элементы в S. [48]
В основе алгоритма лежит рекурсивная процедура ПЕРЕСЫПКА. [49]
Смысл использования в программе рекурсивных процедур заключается в том, что в процессе выполнения программы оказывается возможным несколько раз войти в один и тот же блок ( в данном случае - в тело процедуры), ни разу не выходя из него. Говоря о повторном входе в один и тот же блок без выхода из него, имеется в виду только повторное описание величин и действий над ними. Значения же локализованных величин оказываются иными; более того, по существу при повторном входе в блок приходится иметь дело с другими, новыми величинами, так как прежние значения величин должны сохраняться. [50]
Смысл использования в программе рекурсивных процедур заключается в том, что в процессе выполнения программы оказывается возможным несколько раз войти в один и тот же блок ( в данном случае - в тело процедуры), ни разу не выходя из него. Говоря о повторном входе в один и тот же блок без выхода из него, имеется в виду только повторное описание величин и действий над ними. Значения же локализованных величин при каждом рекурсивном входе оказываются иными. [51]
Всякий раз, когда вызывается рекурсивная процедура, значения переменных, определяемых всеми нестатическими идентификаторами, опускаются в магазин так же, как опускаются управляемые переменные. Когда выполнение процедуры при данном обращении заканчивается, эти значения поднимаются из магазина так же, как значения управляемых переменных. [52]
Для упорядочения всех SubSector используется рекурсивная процедура, полностью аналогичная процедуре вывода BSP-деревьев. [53]
Ханойская башня - это не единственная рекурсивная процедура, любимая многими компьютерщиками. [54]
Но производить разметку с помощью рекурсивной процедуры нежелательно, а в некоторых случаях невозможно, так как причиной обращения к мусорщику может быть отсутствие места в магазине, а при этом рекурсивная процедура не сможет работать ( см. разд. По существу рекурсия нужна лишь для того, чтобы после разметки подструктуры, адрес которой находится в а-указате-ле некоторой ячейки, суметь вернуться к этой ячейке, чтобы продолжить разметку с ее d - указателя. [55]
Опишем этот процесс в виде рекурсивной процедуры Move ( i j, l: Integer), входными параметрами которой являются значения текущих координат Черепашки /, j и 1 - номер ее очередного шага. Если текущие значения координат совпадут с заданными конечными значениями / 2, J2, то необходимо вывести лабиринт с отмеченным проходом Черепашки и закончить работу. [56]
Конструктивные фракталы строятся с помощью достаточно простой рекурсивной процедуры, имеют тонкую структуру, т.е. содержат произвольно малые масштабы, и обладают самоподобием. Подобные фрактальные множества слишком нерегулярны, чтобы быть описанными на традиционном геометрическом языке. Проводится их анализ на основе линейных преобразований и вычисления фрактальной размерности. Изложение сопровождается историческими справками. [57]