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

Рекурсивные подпрограммы. В математике рекурсией называется способ описания функций или процессов через самих

Читайте также:
  1. Анализ рисков реализации подпрограммы и описание мер управления рисками.
  2. Ближний вызов подпрограммы
  3. Дальний вызов подпрограммы
  4. Лабораторная работа №6. Подпрограммы языка Pascal
  5. Оператор RETURN служит для выхода из подпрограммы FUNCTION и передачи результата вычисления в головную программу на то место, откуда шло обращение к подпрограмме-функции.
  6. Описание подпрограммы
  7. основных ожидаемых конечных результатов подпрограммы 4

 

В математике рекурсией называется способ описания функций или процессов через самих себя. Например,

В некоторых языках программирования, в том числе и в Паскале, допустимо, чтобы подпрограмма вызывала себя. Такие подпрограммы называются рекурсивными.

Рекурсивная подпрограмма обязательно удовлетворяет двум требованиям:

1) имеет нерекурсивный выход;

2) при каждом рекурсивном обращении задача упрощается, приближаясь к нерекурсивному решению.

При решении некоторых задач можно использовать как рекурсивный, так и итеративный алгоритм. Преимущество рекурсивных подпрограмм заключается в простоте написания, легкости понимания. Обычно это касается задач, связанных с процессами, рекурсивными по своей природе. Но рекурсивные алгоритмы, как правило, менее эффективны из-за затрат времени на организацию стека. При каждом обращении в стеке запоминаются значения всех локальных переменных, параметров и коды возврата. Глубина рекурсии (количество обращений к себе) ограничена объемом памяти стека. При глубокой вложенности рекурсии может произойти переполнение стека.

Пример 5. Опишем рекурсивную и итеративную функцию для вычисления n!:

 

 

 



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


<== предыдущая страница | следующая страница ==>
Обращение к процедурам (вызов процедур)| Объявление процедур и функций

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