Задача для языка Free Pascal Описать функцию S(x,eps), вычисляющую значение суммы ряда в...

0 голосов
44 просмотров

Задача для языка Free Pascal

Описать функцию S(x,eps), вычисляющую значение суммы ряда в точке с указанной точностью eps, если формула суммы:

S= x - x/2 + x/3 - x/4 + x/5 - ..., ряд знакопеременный

Обратиться с координатами точек x = [-0,5;0,5], шаг = 0,1


Информатика (107 баллов) | 44 просмотров
0

Второе

Дан 1 ответ
0 голосов
Правильный ответ

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;<br>  f:=s1
end;

var
  x:double;
begin
  x:=-0.5;
  while x<=0.5 do begin<br>    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

(150k баллов)