Вычислить разность в количестве итераций, необходимых для получения значения определенного интеграла (в прикрепленных файлах под номером 1) с точностью 0,001 методами трапеций и Симпсона — Pascal(Паскаль)

uses crt;
const
  a=0;{нижний предел}
  b=1;{верхний предел}
  e=0.001;{точность}
function f(x:real):real;
begin
  f:=sqrt(x)+cos(x*x);
end;
 
var s,k,y1,y2:real;
    it,is:integer;
begin
clrscr;
writeln('Метод трапеций:');
s:=(F(a)+F(b))/2;
it:=1;
k:=a-e;
while k<=b+e do
 begin
  k:=k+e;
  s:=s+F(k);
  it:=it+1;
 end;
s:=s*e;
writeln('S=',s:0:3,' количество итераций=',it);
writeln('Метод Симпсона:');
y1:=0;
k:=a+e;
is:=0;
while k<=b-e do
 begin
  y1:=y1+F(k);
  k:=k+2*e;
  is:=is+1;
 end;
y2:=0;
k:=a+2*e;
is:=0;
while k<=b-2*e do
 begin
  y2:=y2+F(k);
  k:=k+2*e;
  is:=is+1;
 end;
s:=((b-a)/(3*is))*(F(a)+F(b)+2*y1+y2);
writeln('S=',s:0:3,' количество итераций=',is);
if it>is then write('Количество итераций по методу трапеций больше на ', it-is)
else write('Количество итераций по методу Симпсона больше на ', is-it);
readln
end.

Leave a Comment

− 1 = 5