MorePC - Главная страница


О сайте

Регистрация

Обратная связь

Реклама на сайте

Публикации на сайте

Карикатуры

  Категории СВТ     Тесты и методики испытаний     Новости СВТ     Проблемы информатизации     Форум     Опросы     Словарь     Поиск  

     Словарь  

Предлагаем Вашему вниманию статьи по информационной безопасности.

recursive function

- рекурсивная функция

Функция, которая в своем определении содержит обращение к самой себе.

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

ЭТО прямая
....
ЕСЛИ ... ТО прямая
....
КОНЕЦ

Косвенная рекурсия образуется цепочкой процедур, и эта цепочка замыкает себя в рекурсивное кольцо, например:

ЭТО процедура0
....
... процедура1
....
КОНЕЦ

ЭТО процедура1
....
... процедура2
....
КОНЕЦ

ЭТО процедура2
....
... процедура0
....
КОНЕЦ

В примере цепочка "процедура0--процедура1--процедура2--процедура0" образует косвенную рекурсию. "Процедура0" является рекурсивной, так как вызывает сама себя. Правда, этот вызов не прямой, а косвенный, через обращение к процедурам "процедура1" и "процедура2". Понятно, что каждая из процедур рекурсивной цепочки (и "процедура 1", и "процедура2") тоже являются рекурсивными.
Прямая рекурсия всегда предпочтительнее косвенной не в смысле эффективности выполнения, а в смысле наглядности записи. Читателю программы проследить косвенную рекурсию сложнее.
Сама по себе косвенная рекурсия не содержит новых идей. Это просто другая форма записи прямой рекурсии, если, конечно, промежуточные процедуры не содержат других дополнительных рекурсий.

Рекурсия это не GOTO (переход на начало процедуры). Рекурсивный вызов - это выполнение КОПИИ процедуры: он может порождать "отложенные" команды, которые начнут выполняться после завершения рекурсии. И будут выполняться столько раз, сколько было рекурсивных вызовов.  (из статей А.А. Дуванова).

Пример рекурсии:

У попа была собака,
Он ее любил.
Она съела кусок мяса,
Он ее убил.
И в ямку закопал,
И надпись написал:

У попа была собака...

Пример рекурсии:

 

 

 


Если Вы считаете, что в описании термина "recursive function" есть ошибка, пожалуйста, сообщите нам.




вверх
  Copyright by MorePC - обзоры, характеристики, рейтинги мониторов, принтеров, ноутбуков, сканеров и др. info@morepc.ru  
разработка, поддержка сайта -Global Arts