Код
var
x: real;
y: real;
n: integer;
function f(x:real; n: integer): real;
var
s: real;
i: integer;
begin
s:=0;
for i:=1 to n do
s:=s+(exp((2*i-1)*ln(x)))/(2*i-1);
f:=s;
end;
function fn(x: real; eps: real): integer;
var
y: real;
n: integer;
s: real;
begin
y:=(1/2)*ln((1+x)/(1-x));
n:=1;
s:=x;
while abs(y-s) > eps do
begin
n:=n+1;
s:=s+(exp((2*n-1)*ln(x)))/(2*n-1);
end;
fn:=n;
end;
begin
x:=0.2;
while x<=0.8 do
begin
y:=(1/2)*ln((1+x)/(1-x)); //Считаем y
writeln('Значение функции в точке x=', x:1:1, ', y=', y:8:8); //Выводим значение y
for n:=1 to 5 do //Для n от 1 до 5 выводим значения суммы ряда
writeln('В точке x=', x:1:1, ', при n=', n, ', сумма ряда равна s=', f(x, n):8:8);
writeln('При n=', fn(x, 0.001), ', погрешность составит менее 0.001');
x:=x+0.2;
end;
end.