Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2laba

.pas
Скачиваний:
15
Добавлен:
09.12.2013
Размер:
3 Кб
Скачать
{$N+,E+}
{Џа®Ја ¬¬  ўлзЁб«пҐв Ё­вҐЈа «« ¬Ґв®¤®¬ ѓ гбб  ў  ¤ ЇвЁў­®¬  «Ј®аЁв¬Ґ}
Uses Crt;
Const b=5;a=0.6;e=0.001;

Function f(x:extended):extended;
Begin
   f:=x*x*x*cos(3*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;
   x5:=(b+a)/2-((b-a)*0.5773)/2;
   Gauss:=(h*(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.7746)/2;
   x5:=(b+a)/2-((b-a)*0.7746)/2;
   x6:=(b+a)/2;
   Gauss1:=h*((5/9)*f(x4)+(5/9)*f(x5)+(8/9)*f(x6))/2
End;
{Ћб­®ў­ п Їа®Ја ¬¬ }
 Var
   xl,xm,xr,x :extended;{‡­ зҐ­ЁҐ x ­  Єа пе ®в१Є  Ё Ї®бҐаҐ¤Ё­Ґ}
   S,P,Q,h,ee:extended;{‡­ зҐ­ЁҐ Ё­вҐЈа « }
   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;
  BEGIN
  ClrScr;
  Writeln('‚лзЁб«Ґ­ЁҐ Ё­вҐЈа «  ЎҐ§ Ў ­ЄЁа®ў ­Ёп');
  WriteLn('j':5, '|', 'h(i)':17,'Q(i)':21,'e(i)':17);
  WriteLn('-----------------------------------------------------------------------------');
  xl:=a;xr:=b;i:=0;
  repeat{–ЁЄ« Ї®ЁбЄ  ®в१Є ,㤮ў«Ґвў®апо饣® ­Ґа ўҐ­бвўг}
      repeat h:=xr-xl;{ђ §¬Ґа ®в१Є }
             P:=Gauss(xl, xr);
             xm:=(xl+xr)/2;
             Q:=Gauss(xl, xm)+Gauss(xm, xr);
             x:=xr;
             xr:=xm;
             ee:=Abs(P-Q)/31
    until ee<=h*e/(b-a);
    i:=i+1;
    Qi[i]:=Q;
    hi[i]:=h;
    ei[i]:=ee;
    xl:=x;
    xr:=b
until x=b;
h:=0;S:=0;ee:=0;

for j:=1to i do begin WriteLn(j:5, '|', hi[j], '|', Qi[j], '|', ei[j]);
                      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;
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], '|', Qi1[j], '|', ei1[j]*10);
                 end;
WriteLn('-------------------------------------------------------------------------------');
WriteLn('     ':5, '      ', h1:5:5, '           |         ', S1:5:5, '     |  ' , ee1*10:5:5);
WriteLn('‡ ¤ ­  Ї®ЈаҐи­®бвм : ',e:5:5);
WriteLn('‡­ зҐ­ЁҐ Ё­вҐЈа «  : ',S1:5:5);readln
END.




Соседние файлы в предмете Вычислительные методы