Function SQL(X, AA:real):real; begin SQL:=2 * X * FUNC(AA + Sqr(X)); end; procedure MIDSQL(AA, BB:real; var S:real; N:integer); var A,B,TNM,X,DEL,DDEL,SUM:real; IT,J:integer; begin B:=Sqrt(BB - AA); A:=0; If N = 1 Then begin S:=(B - A) * SQL(0.5 * (A + B), AA); IT:=1; end Else begin IT:=Trunc(Exp((N - 2)*Ln(3))); TNM:=IT; DEL:=(B - A) / (3 * TNM); DDEL:=DEL + DEL; X:=A + 0.5 * DEL; Sum:=0; For J:=1 To IT do begin Sum:=Sum + SQL(X, AA); X:=X + DDEL; Sum:=Sum + SQL(X, AA); X:=X + DEL; end; S:=(S + (B - A) * Sum / TNM) / 3; end; end;