procedure QSIMP(A, B:real; var S:real); const EPS = 0.000001; JMAX = 20; var J:integer; OST,OS,ST:real; begin OST:=-1E+30; OS:=-1E+30; For J:=1 To JMAX do begin TRAPZD(A, B, ST, J); S:=(4 * ST - OST) / 3; If Abs(S - OS) < EPS * Abs(OS) Then Exit; OS:=S; OST:=ST; end; ShowMessage('Too many steps.'); end;