Добавил:
bagiwow
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:выч методы не разобраны! / LAB2-И~1 / 2ЛАБА~1 / INT_MX44
.PAS {$N+,E+}
{Џа®Ја ¬¬ ўлзЁб«пҐв ЁвҐЈа «« ¬Ґв®¤®¬ ѓ гбб ў ¤ ЇвЁў®¬ «Ј®аЁв¬Ґ}
Uses Crt;
Const b=1; {Љ®Ґз п в®зЄ }
a=0; { з «м п в®зЄ }
e=0.001; {Ї®ЈаҐи®бвм}
Function f(x:extended):extended;
Begin
f:=x*x*sin(4*ln(x))/ln(x) {дгЄжЁп}
End;
Function Gauss(a,b:extended):extended;
{”-жЁп ўлзЁб«пҐв ЁвҐЈа « ¬Ґв®¤®¬ ѓ гбб Ї® 4-¬ в®зЄ ¬}
var h,x4,x5:real;
Begin
h:=(b-a); {и Ј}
x4:=(b+a)/2+((b-a)*0.5773)/2; {„«п Ti:=0.5773}
x5:=(b+a)/2-((b-a)*0.5773)/2;
Gauss:=(h*(1/2)*(f(x4)+f(x5)))/2 {‡ 票Ґ ЁвҐЈа « н⮬ и ЈҐ}
End;
Function Gauss1(a,b:extended):extended;
{”-жЁп ўлзЁб«пҐв ЁвҐЈа « ¬Ґв®¤®¬ ѓ гбб Ї® 4-¬ в®зЄ ¬}
var h,x4,x5,x6:real;
Begin
h:=(b-a); {и Ј}
x4:=(b+a)/2+((b-a)*0.5773)/2; {¤«п Ti:=0.7746}
x5:=(b+a)/2-((b-a)*0.5773)/2;
x6:=(b+a)/2;
Gauss1:=h*((1/2)*f(x4)+(1/2)*f(x5)+(1/2)*f(x6))/2 {‡ 票Ґ ЁвҐЈа « н⮬ и ЈҐ}
End;
{Ћб®ў п Їа®Ја ¬¬ }
Var
xl,xm,xr,x :extended;{‡ 票Ґ x Єа пе ®в१Є Ё Ї®бҐаҐ¤ЁҐ}
{xl- з «® i-®Ј® и Ј
xm-бҐаҐ¤Ё i-®Ј® и Ј
xr-Є®Ґж i-®Ј® и Ј
x-}
S,P,Q,h,ee:extended;{‡ 票Ґ ЁвҐЈа « }
{S-б㬬 ЁвҐЈа «®ў Q
P-§ 票Ґ ЁвҐЈа « и ЈҐ 1*h
Q-§ 票Ґ ЁвҐЈа « и ЈҐ 2*h
h-и Ј
ee-Ї®ЈаҐи®бм}
ei,hi,Qi:array[1..1000]of extended;{}
xl1,xm1,xr1,x1 :extended;{‡ 票Ґ x Єа пе ®в१Є Ё Ї®бҐаҐ¤ЁҐ}
S1,P1,Q1,h1,ee1:extended;{‡ 票Ґ ЁвҐЈа « }
ei1,hi1,Qi1:array[1..1000]of extended;
i,j:byte; {‚бЇ®¬®Ј ⥫млҐ ЇҐаҐ¬ҐлҐ}
{i-Є®«ЁзҐбвў® и Ј®ў
j-¤«п ўлў®¤ १г«мв в®ў}
BEGIN
ClrScr; {ЋзЁбвЄ нЄа }
Writeln('‚лзЁб«ҐЁҐ ЁвҐЈа « ЎҐ§ Ў ЄЁа®ў Ёп');
WriteLn('j':5, '|', 'h(i)':17,'Q(i)':21,'e(i)':17);
WriteLn('-----------------------------------------------------------------------------');
xl:=a;xr:=b;i:=0;
{„«п Ti=0.5773}
repeat{–ЁЄ« Ї®ЁбЄ ®в१Є ,㤮ў«Ґвў®апо饣® Ґа ўҐбвўг}
repeat h:=xr-xl;{ђ §¬Ґа ®в१Є }
P:=Gauss(xl, xr);{‚лзЁб«ҐЁҐ ЁвҐЈа « ў § ¤ ле в®зЄ е}
xm:=(xl+xr)/2; {‚лзЁб«ҐЁҐ бҐаҐ¤Ёл ®в१Є }
Q:=Gauss(xl, xm)+Gauss(xm, xr);
{‚лзЁб«ҐЁҐ ЁвҐЈа « б и Ј®¬ 2*h}
x:=xr; {x-Є®Ґж ®в१Є }
xr:=xm; {xr-Є®Ґж бв ®ўЁвбп Ї®бҐаҐ¤ЁҐ}
ee:=Abs(P-Q)/31 {‚лзЁб«пҐвбп Ї®ЈаҐи®бвм, ¤«п k=5}
until ee<=h*e/(b-a); {…б«Ё Ї®ЈаҐи®бвм бв ®ўЁвбп ¤«п и Ј ¬Ґм襩
¤«п § ¤ ®Ј® и Ј , в® жЁЄ« § Є зЁў Ґвбп}
i:=i+1; {и Ј®ў ®¤Ё Ў®«миҐ}
Qi[i]:=Q; {ЇаЁбў Ёў Ґ¬ ¬ ббЁўг § 票Ґ ЁвҐЈа « б
и Ј®¬ 2*h}
hi[i]:=h; {‡ Ї®¬Ё Ґ¬ и Ј ў ¬ ббЁў}
ei[i]:=ee; {§ Ї®¬Ё Ґ¬ Ї®ЈаҐи®бвм i-®¬ и ЈҐ}
xl:=x; {‹Ґў п в®зЄ бв ®ўЁвбп а ў®© § зҐЁо Є®ж
®в१Є }
xr:=b {Џа ў®Ґ § 票Ґ в®зЄЁ бв ®ўЁвбп
а ўл¬ Є®жг ®в१Є }
until x=b; {Џ®ўв®а塞 Ї®Є з «м п в®зЄ Ґ бв Ґв
а ў®© Є®жг ®в१Є }
h:=0;S:=0;ee:=0; {ЋЎг«пҐ¬ § 票п}
{‚лў®¤ ¤ ле}
for j:=1to i do begin WriteLn(j:5, '|', hi[j]:5:5, '|', Qi[j]:5:5, '|', ei[j]:5:5);
S:=S+Qi[j];
h:=h+hi[j];
ee:=ee+ei[j]
end;
WriteLn('-----------------------------------------------------------------------------');
WriteLn(' ':5, ' ', h:5:5, ' | ', S:7:7, ' | ' , ee:5:5);
WriteLn;
WriteLn('‡ ¤ Ї®ЈаҐи®бвм : ',e:5:5);
WriteLn('‡ 票Ґ ЁвҐЈа « : ',S:7:7);readln;
{Љ®Ґж ўлў®¤ }
{„«п Ti=0.7746}
xl1:=a;xr1:=b;i:=0; {ЋЎг«ҐЁҐ § 票©}
repeat {–ЁЄ« Ї®ЁбЄ ®в१Є ,
㤮ў«Ґвў®апо饣® Ґа ўҐбвўг}
repeat h1:=xr1-xl1; {ђ §¬Ґа ®в१Є }
P1:=Gauss1(xl1, xr1);{}
xm1:=(xl1+xr1)/2;
Q1:=Gauss1(xl1, xm1)+Gauss1(xm1, xr1);
x1:=xr1;
xr1:=xm1;
ee1:=Abs(P1-Q1)/31
until ee1<=h1*e/(b-a);
i:=i+1;
Qi1[i]:=Q1;
hi1[i]:=h1;
ei1[i]:=ee1;
xl1:=x1;
xr1:=b
until x1=b;
h1:=0;S1:=0;ee1:=0;
{Ѓ ЄЁа®ў ЁҐ}
Writeln('‚лзЁб«ҐЁҐ ЁвҐЈа « c Ў ЄЁа®ў ЁҐ¬');
WriteLn('j':5, '|', 'h(i)':17,'Q(i)':21,'e(i)':17);
WriteLn('-------------------------------------------------------------------------------');
for j:=1to i do begin {ЃҐаҐ¬ и ЈЁ Ї®бзЁв лҐ а ҐҐ}
S1:=S1+Qi1[j];{‘㬬Ёа㥬 Ї®«гзҐлҐ ЁвҐЈа «л}
h1:=h1+hi1[j];{‘㬬Ёа㥬 и ЈЁ}
ei1[j+1]:=ei1[j+1]+ei1[j];{Џ®ЈаҐи®бвм б«Ґ¤го饬 и ЈҐ
а ў® § зҐЁо Ї®ЈаҐи®бвЁ н⮬ Ё б«Ґ¤го饬 и ЈҐ}
ee1:=ee1+ei1[j];{б㬬Ёа㥬 Ї®ЈаҐи®бвЁ}
WriteLn(j:5, '|', hi1[j]:5:5, '|', Qi1[j]:5:5, '|', (ei1[j]*10):5:5);
end;
WriteLn('-------------------------------------------------------------------------------');
WriteLn(' ':5, ' ', h1:5:5, ' | ', S1:5:5, ' | ' , ee1:5:5);
WriteLn('‡ ¤ Ї®ЈаҐи®бвм : ',e:5:5);
WriteLn('‡ 票Ґ ЁвҐЈа « : ',S1:5:5);readln
END.
{Џа®Ја ¬¬ ўлзЁб«пҐв ЁвҐЈа «« ¬Ґв®¤®¬ ѓ гбб ў ¤ ЇвЁў®¬ «Ј®аЁв¬Ґ}
Uses Crt;
Const b=1; {Љ®Ґз п в®зЄ }
a=0; { з «м п в®зЄ }
e=0.001; {Ї®ЈаҐи®бвм}
Function f(x:extended):extended;
Begin
f:=x*x*sin(4*ln(x))/ln(x) {дгЄжЁп}
End;
Function Gauss(a,b:extended):extended;
{”-жЁп ўлзЁб«пҐв ЁвҐЈа « ¬Ґв®¤®¬ ѓ гбб Ї® 4-¬ в®зЄ ¬}
var h,x4,x5:real;
Begin
h:=(b-a); {и Ј}
x4:=(b+a)/2+((b-a)*0.5773)/2; {„«п Ti:=0.5773}
x5:=(b+a)/2-((b-a)*0.5773)/2;
Gauss:=(h*(1/2)*(f(x4)+f(x5)))/2 {‡ 票Ґ ЁвҐЈа « н⮬ и ЈҐ}
End;
Function Gauss1(a,b:extended):extended;
{”-жЁп ўлзЁб«пҐв ЁвҐЈа « ¬Ґв®¤®¬ ѓ гбб Ї® 4-¬ в®зЄ ¬}
var h,x4,x5,x6:real;
Begin
h:=(b-a); {и Ј}
x4:=(b+a)/2+((b-a)*0.5773)/2; {¤«п Ti:=0.7746}
x5:=(b+a)/2-((b-a)*0.5773)/2;
x6:=(b+a)/2;
Gauss1:=h*((1/2)*f(x4)+(1/2)*f(x5)+(1/2)*f(x6))/2 {‡ 票Ґ ЁвҐЈа « н⮬ и ЈҐ}
End;
{Ћб®ў п Їа®Ја ¬¬ }
Var
xl,xm,xr,x :extended;{‡ 票Ґ x Єа пе ®в१Є Ё Ї®бҐаҐ¤ЁҐ}
{xl- з «® i-®Ј® и Ј
xm-бҐаҐ¤Ё i-®Ј® и Ј
xr-Є®Ґж i-®Ј® и Ј
x-}
S,P,Q,h,ee:extended;{‡ 票Ґ ЁвҐЈа « }
{S-б㬬 ЁвҐЈа «®ў Q
P-§ 票Ґ ЁвҐЈа « и ЈҐ 1*h
Q-§ 票Ґ ЁвҐЈа « и ЈҐ 2*h
h-и Ј
ee-Ї®ЈаҐи®бм}
ei,hi,Qi:array[1..1000]of extended;{}
xl1,xm1,xr1,x1 :extended;{‡ 票Ґ x Єа пе ®в१Є Ё Ї®бҐаҐ¤ЁҐ}
S1,P1,Q1,h1,ee1:extended;{‡ 票Ґ ЁвҐЈа « }
ei1,hi1,Qi1:array[1..1000]of extended;
i,j:byte; {‚бЇ®¬®Ј ⥫млҐ ЇҐаҐ¬ҐлҐ}
{i-Є®«ЁзҐбвў® и Ј®ў
j-¤«п ўлў®¤ १г«мв в®ў}
BEGIN
ClrScr; {ЋзЁбвЄ нЄа }
Writeln('‚лзЁб«ҐЁҐ ЁвҐЈа « ЎҐ§ Ў ЄЁа®ў Ёп');
WriteLn('j':5, '|', 'h(i)':17,'Q(i)':21,'e(i)':17);
WriteLn('-----------------------------------------------------------------------------');
xl:=a;xr:=b;i:=0;
{„«п Ti=0.5773}
repeat{–ЁЄ« Ї®ЁбЄ ®в१Є ,㤮ў«Ґвў®апо饣® Ґа ўҐбвўг}
repeat h:=xr-xl;{ђ §¬Ґа ®в१Є }
P:=Gauss(xl, xr);{‚лзЁб«ҐЁҐ ЁвҐЈа « ў § ¤ ле в®зЄ е}
xm:=(xl+xr)/2; {‚лзЁб«ҐЁҐ бҐаҐ¤Ёл ®в१Є }
Q:=Gauss(xl, xm)+Gauss(xm, xr);
{‚лзЁб«ҐЁҐ ЁвҐЈа « б и Ј®¬ 2*h}
x:=xr; {x-Є®Ґж ®в१Є }
xr:=xm; {xr-Є®Ґж бв ®ўЁвбп Ї®бҐаҐ¤ЁҐ}
ee:=Abs(P-Q)/31 {‚лзЁб«пҐвбп Ї®ЈаҐи®бвм, ¤«п k=5}
until ee<=h*e/(b-a); {…б«Ё Ї®ЈаҐи®бвм бв ®ўЁвбп ¤«п и Ј ¬Ґм襩
¤«п § ¤ ®Ј® и Ј , в® жЁЄ« § Є зЁў Ґвбп}
i:=i+1; {и Ј®ў ®¤Ё Ў®«миҐ}
Qi[i]:=Q; {ЇаЁбў Ёў Ґ¬ ¬ ббЁўг § 票Ґ ЁвҐЈа « б
и Ј®¬ 2*h}
hi[i]:=h; {‡ Ї®¬Ё Ґ¬ и Ј ў ¬ ббЁў}
ei[i]:=ee; {§ Ї®¬Ё Ґ¬ Ї®ЈаҐи®бвм i-®¬ и ЈҐ}
xl:=x; {‹Ґў п в®зЄ бв ®ўЁвбп а ў®© § зҐЁо Є®ж
®в१Є }
xr:=b {Џа ў®Ґ § 票Ґ в®зЄЁ бв ®ўЁвбп
а ўл¬ Є®жг ®в१Є }
until x=b; {Џ®ўв®а塞 Ї®Є з «м п в®зЄ Ґ бв Ґв
а ў®© Є®жг ®в१Є }
h:=0;S:=0;ee:=0; {ЋЎг«пҐ¬ § 票п}
{‚лў®¤ ¤ ле}
for j:=1to i do begin WriteLn(j:5, '|', hi[j]:5:5, '|', Qi[j]:5:5, '|', ei[j]:5:5);
S:=S+Qi[j];
h:=h+hi[j];
ee:=ee+ei[j]
end;
WriteLn('-----------------------------------------------------------------------------');
WriteLn(' ':5, ' ', h:5:5, ' | ', S:7:7, ' | ' , ee:5:5);
WriteLn;
WriteLn('‡ ¤ Ї®ЈаҐи®бвм : ',e:5:5);
WriteLn('‡ 票Ґ ЁвҐЈа « : ',S:7:7);readln;
{Љ®Ґж ўлў®¤ }
{„«п Ti=0.7746}
xl1:=a;xr1:=b;i:=0; {ЋЎг«ҐЁҐ § 票©}
repeat {–ЁЄ« Ї®ЁбЄ ®в१Є ,
㤮ў«Ґвў®апо饣® Ґа ўҐбвўг}
repeat h1:=xr1-xl1; {ђ §¬Ґа ®в१Є }
P1:=Gauss1(xl1, xr1);{}
xm1:=(xl1+xr1)/2;
Q1:=Gauss1(xl1, xm1)+Gauss1(xm1, xr1);
x1:=xr1;
xr1:=xm1;
ee1:=Abs(P1-Q1)/31
until ee1<=h1*e/(b-a);
i:=i+1;
Qi1[i]:=Q1;
hi1[i]:=h1;
ei1[i]:=ee1;
xl1:=x1;
xr1:=b
until x1=b;
h1:=0;S1:=0;ee1:=0;
{Ѓ ЄЁа®ў ЁҐ}
Writeln('‚лзЁб«ҐЁҐ ЁвҐЈа « c Ў ЄЁа®ў ЁҐ¬');
WriteLn('j':5, '|', 'h(i)':17,'Q(i)':21,'e(i)':17);
WriteLn('-------------------------------------------------------------------------------');
for j:=1to i do begin {ЃҐаҐ¬ и ЈЁ Ї®бзЁв лҐ а ҐҐ}
S1:=S1+Qi1[j];{‘㬬Ёа㥬 Ї®«гзҐлҐ ЁвҐЈа «л}
h1:=h1+hi1[j];{‘㬬Ёа㥬 и ЈЁ}
ei1[j+1]:=ei1[j+1]+ei1[j];{Џ®ЈаҐи®бвм б«Ґ¤го饬 и ЈҐ
а ў® § зҐЁо Ї®ЈаҐи®бвЁ н⮬ Ё б«Ґ¤го饬 и ЈҐ}
ee1:=ee1+ei1[j];{б㬬Ёа㥬 Ї®ЈаҐи®бвЁ}
WriteLn(j:5, '|', hi1[j]:5:5, '|', Qi1[j]:5:5, '|', (ei1[j]*10):5:5);
end;
WriteLn('-------------------------------------------------------------------------------');
WriteLn(' ':5, ' ', h1:5:5, ' | ', S1:5:5, ' | ' , ee1:5:5);
WriteLn('‡ ¤ Ї®ЈаҐи®бвм : ',e:5:5);
WriteLn('‡ 票Ґ ЁвҐЈа « : ',S1:5:5);readln
END.
Соседние файлы в папке 2ЛАБА~1