program l41; {$APPTYPE CONSOLE} uses SysUtils,math; var hx,eps,a,b,s,ss:real; n0,n,k:longint; function f(x:real):real; begin result:=cos(x)*power(x,4) end; function Ipr(hx:real):real; var i:longint;h:real; begin h:=a+hx/2; result:=0; for i:=0 to n-1 do begin result:=result+f(h); h:=h+hx; end; result:=result*hx; end; function Itr(hx:real):real; var i:longint;h:real; begin h:=a+hx; result:=0; for i:=1 to n-1 do begin result:=result+f(h); h:=h+hx; end; result:=result+(f(a)+f(b))/2; result:=result*hx; end; function Ipar(hx:real):real; var i:longint; h,h2:real; begin result:=0; h:=a+hx; h2:=hx/2; for i:=1 to n-1 do begin result:=result+f(h)+2*f(h-h2); h:=h+hx; end; result:=result+2*f(h-h2)+(f(a)+f(b))/2; result:=result*hx/3; end; begin write('Enter eps: '); readln(eps); write('Enter a,b: '); read(a); readln(b); //eps:=0.1;a:=1.0;b:=3.0; n:=round((b-a)/sqrt(eps))+1; n0:=n;//n:=n*128; hx:=(b-a)/n; {squares} s:=Ipr(hx); n:=n*2; hx:=(b-a)/n; ss:=Ipr(hx); k:=1; while abs(s-ss)>eps do begin inc(k); n:=n*2; hx:=(b-a)/n; s:=ss; ss:=Ipr(hx); end; writeln('by Sauqres=',ss:10:7,' Number of *2: ',k); n:=n0; {trapecy} s:=Itr(hx); n:=n*2; hx:=(b-a)/n; ss:=Itr(hx); k:=1; while abs(s-ss)>eps do begin inc(k); n:=n*2; hx:=(b-a)/n; s:=ss; ss:=Itr(hx); end; writeln('by Trapecy=',ss:10:7,' Number of *2: ',k); {par}n:=n0; s:=Ipar(hx); n:=n*2; hx:=(b-a)/n; ss:=Ipar(hx); k:=1; while abs(s-ss)>eps do begin inc(k); n:=n*2; hx:=(b-a)/n; s:=ss; ss:=Ipar(hx); end; writeln('by Parabols=',ss:10:7,' Number of *2: ',k); readln; end.