program Project1;
{$N+}
const
err = 1e-4;
var
sign : integer;
fact : double;
level: Integer;
function Recur(x : Double; n : integer) : Double;
var
c : double;
begin
if n = 1
then
begin
sign := 1;
fact := 3 * 2;
n := 1;
c := sign * exp(n * ln(x)) / ((2 * n - 1) * fact);
sign := -sign;
fact := fact * (2 * (n + 1)) * (2 * (n + 1) + 1);
if Abs(c) > Err
then
Recur := c + Recur(x, n + 1)
else
begin
Recur := c;
level := 1;
end;
end
else
begin
c := sign * exp(n * ln(x)) / ((2 * n - 1) * fact);
sign := -sign;
fact := fact * (2 * (n + 1)) * (2 * (n + 1) + 1);
if Abs(c) > Err
then
Recur := c + Recur(x, n + 1)
else
begin
Recur := c;
level := n;
end;
end;
end;
var
x : double;
begin
x := 0.2;
Repeat
Writeln('x= ', x : 1 : 1, ' f= ', Recur(x, 1) : 2 : 4, ' n=', level);
x := x + 0.1
until x >= 2.001;
readln;
end.
не могли бы вы решить это не рекурсией ,а рекуретным алгоритмом?знаю что рекурсия похожа с рекуретным,но надо именно рекуретным!
Вычислить значения функций на паскале
зюк,трям,пук