Скачиваний:
27
Добавлен:
09.12.2013
Размер:
1.16 Кб
Скачать
Program IntBank;
Uses CRT;
Const a=0;
b=1;
eps=0.001;
t1=0.5773;
t2=0.7071;
t3=0.7947;
t4=0.1876;

Var a_,b_,r,rest,e,
int1,int2,int3,int,eps1:real;
i:integer;

Function x(t,a,b:real):real;
begin
x:=(a+b)/2+(b-a)/2*t;
end;

function f(x:real):real;
begin
f:=(x*x)*sin(4*ln(x))/ln(x)
end;

Begin
clrscr;
a_:=a;b_:=b;e:=eps;
int:=0;rest:=0;i:=1;
repeat
int1:=(b_-a_)/2*(f(x(t1,a_,b_))+f(x(-t1,a_,b_)));
int2:=(b_-a_)/3*(f(x(t2,a_,b_))+f(x(-t2,a_,b_))+f(x(0,a_,b_)));
int3:=(b_-a_)/4*(f(x(t3,a_,b_))+f(x(-t3,a_,b_))+f(x(t4,a_,b_))+f(x(-t4,a_,b_)));
r:=abs(int1-int2)/2;
eps1:=e*(b_-a_)/(b-a);
if r<=eps1 then
begin
int:=int+int3;
rest:=rest+r;
writeln('a[',i,']=',a_:0:6);
writeln('b[',i,']=',b_:0:6);
writeln('I[',i,']=',int2:0:12);
writeln('R[',i,']=',r:0:12);
writeln('E[',i,']=',e*(b_-a_)/(b-a):0:12);
writeln;
readkey;
e:=e+e*(b_-a_)/(b-a)-r;
a_:=b_;
b_:=b;
i:=i+1;
end
else b_:=(b_+a_)/2;
until b=a_;
writeln('SumI=',int:0:12);
writeln('SumR=',rest:0:12);
readln;
end.
Соседние файлы в папке INTEGRAL