В университете задали решить эту простую задачу (с погрешностью 0.001 вычислить интеграл от 0 до 1 sin(x)/x*dx) с помощью рекурсии. Задача без рекурсии решается элементарно, но вот с ней у меня проблемы. Программу написал, при запуске выдаёт какую-то ошибку. Надеюсь на вашу помощь. 
p.s. Программа из методички БЕЗ рекурсии:
program Method_Prm;
const  
   e = 0.001;
var  
   i, n: word;
   a, b, j1, j2, h, s, x: real;
begin
    writeln(‘Введите пределы интегрирования a и b’);
    readln(a, b);
    n:= 2; 
    j1:= 0;
    repeat
       j2:= j1;
       h:= (b - a)/n; 
       x:= a;   s:= 0;
       for  i:= 1  to n  do  begin
          s:= s + sin(x)/x;
          x:= x + h
        end;
        j1:= s*h; 
        n:= n*2
     until   abs(j1 - j2);
    writeln(‘Интеграл = ’, j1)
end.
Неработающая, составленная мной программа:
program lab_4_2;
const e=0.001;
var a,b,j1,j2,s:real;
function int(a,b:real; n:word):real;
var h,x:real; i:byte;
begin
 j2:=j1;
 h:=(b-a)/n; x:=a;
 for i:=1 to n do begin
  s:=s+sin(x)/x;
  x:=x+h          end;
 j1:=s*h;
 if abs(j1-j2)<e then int:=j1
                 else int:=int(a,b,n*2)
end;
begin
writeln(int(0,1,2));
readln
end.