Рекурсия
Категория реферата: Рефераты по информатике, программированию
Теги реферата: реферат на тему рынок, ответ 3
Добавил(а) на сайт: Кулатов.
Предыдущая страница реферата | 1 2 3 4 | Следующая страница реферата
В фрейме №4 мы вычислим значение Factorial(n) для n=1. После чего мы передадим это значение во фрейм №3, а фрейм №4 будет закрыт, так как обращение к Factorial(n) при n=1 будет закончено.
Так мы будем сворачивать эту цепочку фреймов в последовательности, обратной той, в которой мы их порождали, пока не свернем фрейм №1. После чего вычисление функции будет окончено.
Рекурсия возможна не только в случае функций, но и процедур. Пример рекурсии для процедур приведен на рисунке 16.3. Там показано описание рекурсивной процедуры для распечатки (вывода на печать) строки символов в порядке, обратном их вводу.
Procedure BackPrint ;
var символ : char ;
begin read (символ) ;
if символ = EOL {EOL - End Of Line - специальное значение типа
СHAR, соответствующее окончанию ввода}
then writeln ( ) ; {пред началом вывода надо убедиться, что
печатать будем с новой строки}
else begin BackPrint ; write (символ) end
end {Procedure}
Рис 16.3. Пример рекурсивной процедуры.
(Косвенная рекурсия.) Итерация и рекурсия.
Нетрудно заметить сходство между циклическими конструкциями (повторениями) и рекурсией. На рисунке 16.4 показана схема цикла вида while do и его рекурсивного аналога.
Цикл |
Рекурсия |
||||
while Условие Цикла do Тело Цикла |
Procedure Рекурсивный Цикл ; begin if Условие Цикла then begin Тело Цикла; Рекурсивный Цикл else{окончание рекурсии} end Рекомендуем скачать другие рефераты по теме: реферат книга, доклад по обж. Предыдущая страница реферата | 1 2 3 4 | Следующая страница реферата Поделитесь этой записью или добавьте в закладкиКатегории: |