Для языка free pascal описать функцию s(x,eps), вычисляющую значение суммы ряда в точке с указанной точностью eps, если формула суммы: s= x - x/2 + x/3 - x/4 + x/5 - ряд знакопеременный обратиться с координатами точек x = [-0,5; 0,5], шаг = 0,1
Function F(x,eps:double):double; var s0,s1,sgn,d:real; begin s1:=x; d:=1; sgn:=1; repeat s0:=s1; d:=d+1; sgn:=-sgn; s1:=s0+sgn*x/d until abs(s1-s0)<=eps; f:=s1 end;
var x:double; begin x:=-0.5; while x<=0.5 do begin Writeln(x:4:1,F(x,1e-7):14:7); x:=x+0.1 end end.
var
s0,s1,sgn,d:real;
begin
s1:=x; d:=1; sgn:=1;
repeat
s0:=s1; d:=d+1; sgn:=-sgn;
s1:=s0+sgn*x/d
until abs(s1-s0)<=eps;
f:=s1
end;
var
x:double;
begin
x:=-0.5;
while x<=0.5 do begin
Writeln(x:4:1,F(x,1e-7):14:7);
x:=x+0.1
end
end.
Результат
-0.5 -0.3465736
-0.4 -0.2772589
-0.3 -0.2079442
-0.2 -0.1386295
-0.1 -0.0693148
0.0 0.0000000
0.1 0.0693148
0.2 0.1386295
0.3 0.2079442
0.4 0.2772589
0.5 0.3465736