Скачиваний:
27
Добавлен:
09.12.2013
Размер:
5.93 Кб
Скачать
{$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.
Соседние файлы в папке 2ЛАБА~1
  • #
    09.12.20131.15 Кб25INTMOY.BAK
  • #
    09.12.201319.3 Кб25INTMOY.EXE
  • #
    09.12.20131.15 Кб26INTMOY.PAS
  • #
    09.12.20135.93 Кб25INT_MX44.BAK
  • #
    09.12.201320.7 Кб25INT_MX44.EXE
  • #
    09.12.20135.93 Кб27INT_MX44.PAS
  • #
    09.12.20132.25 Кб25L2.BAK
  • #
    09.12.20132.25 Кб26L2.PAS
  • #
    09.12.20132.23 Кб25LAB2VUK.BAK
  • #
    09.12.201321.5 Кб26LAB2VUK.EXE
  • #
    09.12.20132.23 Кб26LAB2VUK.PAS