Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

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






Краткие теоретические сведения о рекурсивных функциях.






Постановка задачи и текст индивидуального задания

Составить схему алгоритма и написать на языке С/С++ программу вычисления суммы n элементов ряда, полученного при разложении функции f(x), используя рекурсивные функции. Значения аргумента x выбираются произвольно. Результаты вычисления суммы элементов ряда вывести на экран в формате с плавающей точкой и сравнить со значением функции f(x).

ƒ (x) =  

Представление в виде ряда:

 

 

Краткие теоретические сведения о рекурсивных функциях.

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

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

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

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

Примером рекурсивной функции является вычисление факториала.

Рекурсивную функцию чаще всего применяют для компактной реализации рекурсивных алгоритмов, а также для работы со структурами данных, описанных рекурсивно. Любую рекурсивную функцию можно реализовать без применения рекурсии, для чего необходимо в программе обеспечить хранение всех необходимых данных самостоятельно.

Достоинством использования рекурсии является компактность программного кода, а недостатком — повышенный расход ресурсов вычислительной системы и опасность переполнения стека.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.006 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал