Вычисление интеграла функции f(x) методом Симпсона
for m:=1 to n-2 do s:=s+f (a+m*h); { Суммиование остальных элементов}
trap:=s*h; { Возвращается значение интеграла }
end;
{ Метод Симпсона }
function simpson (a, b: real;n:integer):real;
var
s: real; { Сумма }
h: real; { Шаг }
m: integer; { Счетчик }
mn: integer; { Очередной множитель }
begin
h:=(b-a)/(n-1); { Рассчитывается шаг }
s:=f (a)+f (b); { Начальное значение шага }
mn:=4; { Первый мнодитель — 4 }
{ Суммирование остальных элементов }
for m:=1 to n-2 do begin
s:=s+mn*f (a+h*m);
if (mn=4) then mn:=2 else mn:=4;{ Именение мноителя 2<>4 }
end;
simpson:=s*h/3; { Возвращается вычисленное значение }
end;
{ Процедура вычисления порядка числа }
procedure norm (a:real);
var n: real;
begin
{ Если число слишком мало — возвращается ноль }
if (a<0.1) then n:=0
else begin
{ Если число меньше единицы }
if (a<1) then begin
n:=1;