Помогите исправить ошибку в PascalABC!!!
program zadacha14;
uses crt;
const e=0.001;
var
a,b,h,S,x,t,J,Q:real;
n:integer;
function f (x:real):real;
begin
write ('Íèæíÿÿ ãðàíèöà îòðåçêà=');
readln (a);
write ('Âåðõíÿÿ ãðàíèöà îòðåçêà=');
readln (b);
write ('×èñëî îòðåçêîâ=');
readln (n);
begin
h:=(b-a)/n;
Q:=0;
repeat
S:=0;
x:=a+h/2;
while x<=b-h do
begin
S:=S+f(x);
x:=x+h;
end;
J:=h*S;
t:=abs(J-Q);
Q:=J;
h:=h/2;
until t<=e;
writeln ('Ïðÿìîóãîëüíèêè J=',J);
h:=(b-a)/n;
Q:=0;
repeat
S:=(f(a)+f(b))/2;
x:=a;
while x<=b do
begin
S:=S+f(x);
x:=x+h;
end;
J:=h*S;
t:=abs(J-Q);
Q:=J;
h:=h/2;
until t<=e;
writeln ('Òðàïåöèÿ J=',J);
h:=(b-a)/n;
Q:=0;
repeat
S:=(f(a)+f(b))/2;
x:=a+2*h;
while x<=b-h do
begin
S:=S+4*f(x-h)+2*f(x);
x:=x+2*h;
end;
J:=h*S/3;
t:=abs(J-Q);
Q:=J;
h:=h/2;
until t<=e;
writeln ('Ñèìïñîí J=',J);
end.
пишет что нужен end; я его ставлю потом end. он говорит нет основного begin