Хм. А чем плохи функции? С ними же удобнее...
Код

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.