пример взяла с этого форума, всё работает,вот только в ответ выводит 2, а в он-лайн подсчете интеграла на стороннем сайте ответ= -6.. где ошибка?))помогите разобраться)
program Simpson;
uses crt;
{integriruemaya funkciya}
function F(x:Real):Real;
begin
F:=exp(2*sin(x)) * sin(5 + 2* cos(x) );
end;
var a,b,h,x: real;
i,l,n: integer;
integ: real;
begin
clrscr;
{interval integrirovaniya}
a:=0;
b:=2*pi;
{osnovnaya programma}
write ('Vvedite kolichestvo razbieniy intervala (chetnoe) n= '); readln(n);
if (n mod 2) > 0 then
begin
n:=n+1;
writeln('Chislo n bilo vvedeno nechetnoe i bilo zameneno na n=',n);
end;
h:=(b-a)/n;
integ:=F(a)+F(b)+4*F(a+h);
for i:=1 to (n div 2 ) -1 do
begin
x:=a+2*h*i;
integ:=integ + 2*F(x) + 4*F(x+h);
end;
integ:=h*integ/3;
l:=round(-ln(integ)/ln(10));
writeln('Integral= ',integ:l:l);
readln;
end.
там в конце строчка integ:=h*integ/3;
к чему она? так было в примере решения..