Александр Потетнин
Мудрец
(19105)
13 лет назад
Видно же, каждый следующий член ряда, это предыдущий, умноженный на -х*х* и деленный на 2n и еще на 2n+1. А n бежит по циклу
что-то типа.
S := 0;
y := x;
For n := 1 to M do
begin
y := y * (-x*x) / (2*n*(2*n + 1));
S := S + y;
end;
Источник: Голова.
gruzМыслитель (8300)
13 лет назад
"это предыдущий, умноженный на "
ето ж сумма а не произведение ???
E=E+...
gruz
Мыслитель
(8300)
13 лет назад
выче, люди, непонял юмора, ето ж ряд Тейлора СУММА
жжоте, блин програмисты 8)
FACK(2*i+1);
----------
function fack(n :integer) : real;
var
i :integer;
z :real;
begin
z:=1;
for i:=1 to n do z:=z*i;
fack:= z;
end;
---------------
ВОТ ПРОГА:
=====================================
function Power(x:real; stepin :integer) :Real;
var
z :real;
i :integer;
begin
z:=1;
for i:=1 to stepin do z:=z*x;
Power:=z;
end;
function fack(n :integer) : real;
var
i :integer;
z :real;
begin
z:=1;
for i:=1 to n do z:=z*i;
fack:= z;
end;
var
i, n :integer;
x, E :real;
BEGIN
writeln('======== TEYLORS lines:');
write('Enter n(~~n<=16): '); readln(n); { vvod kolva 4lenov ryada }
write('Enter x (radian [ -2*pi..2*pi]): '); readln(x); { argument function }
E:=0;
for i:=0 to n do
E:=E + power(-1, i) * power(x, 2*i+1) / fack (2*i+1) ;
writeln('Teylor fnc= ', E:1:8);
writeln('Sin(x) fnc= ', sin(x):1:8);
readln;
END.
=================
до меня не доезжает как можно зациклить факториал (2n+1) в паскале? помогите кто знает