Рекурсия. В языке Паскаль допустимо обращение подпрограммы самой к себе, то есть рекурсивные вычисления

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

Решение некоторой задачи рекурсивно, если его можно выразить в терминах решения более простой версии этой же задачи. Природа многих математических алгоритмов рекурсивна, поэтому рекурсия достаточно широко применяется в программировании.

Большинство циклических алгоритмов с известным количеством повторений можно записать с помощью рекурсии, например, вычисление факториала или суммы:

Program SumRec;

Var S:real;

Procedure Sum(Var S:real;N:integer);

Begin

If N=1 then

S:=1

Else

Begin

Sum(S,N-1);

S:=S+1/N

end

end;

Begin

sum(S,100);

Writeln('Сумма=',S:10:4)

end.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: