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

Информатика / !704LAB2

.PAS
Скачиваний:
34
Добавлен:
10.12.2013
Размер:
5 Кб
Скачать
uses crt;
const e=0.0001;
var x,y,s1,dx,x2,x1,t1,t2:real;
    i,n:integer;
    xi,yi:array[1..7] of real;
function f1(x:real):real;
begin
 f1:=0.67*x+19.325;
end;
function f2(x:real):real;
begin
 f2:=f1(x)-35*sqrt(1-sqr((x-13.01)/25))-1;
end;
function f4(x:real):real;
begin
 if x>10 then x:=10;
 f4:=-sqrt(400-sqr(x+10))-6.68+35*sqrt(1-sqr((x-13.01)/25))+1;
end;
function f5(x:real):real;
begin
 f5:=35*sqrt(1-sqr((x-13.01)/25))-1;
end;
begin
 clrscr;
 x:=-20;
 y:=0.67*x+19.325;
 repeat
  x:=x+e;
  y:=0.67*x+19.325;
 until sqr((x-13.01)/25)+sqr((y+1)/35)<=1;
 xi[1]:=x; yi[1]:=y;
 x:=-40;
 repeat
  x:=x+e;
  y:=0.67*x+19.325;
 until y>=0;
 xi[2]:=x; yi[2]:=0;
 x:=-20;
 repeat
  x:=x+e;
 until sqr((x-13.01)/25)+sqr(1/35)<1;
 xi[3]:=x; yi[3]:=0;
 x:=0;
 repeat
  x:=x+e;
 until sqr(x+10)+sqr(6.68)>=400;
 xi[4]:=x; yi[4]:=0;
 x:=20;
 repeat
  x:=x+e;
 until sqr((x-13.01)/25)+sqr(1/35)>=1;
 xi[5]:=x; yi[5]:=0;
 y:=-5;
 repeat
  y:=y-e;
 until sqr(10)+sqr(y+6.68)>=400;
 xi[6]:=0; yi[6]:=y;
 y:=-10;
 repeat
  y:=y-e;
 until sqr((-13.01)/25)+sqr((y+1)/35)>=1;
 xi[7]:=0; yi[7]:=y;
{/////////////////////////////////////////////////////////////////////////}
 writeln('                  ‚лзЁб«Ґ­Ёп ¤«п ®Ў« бвЁ Ђ                   ');
 writeln(' ----------------------------------------------------------- ');
 writeln('| —Ёб«® а §ЎЁҐ­Ё© |                 ђҐ§г«мв в               |');
 writeln('|                 |-----------------------------------------|');
 writeln('|        n        |      A      |      B      |      C      |');
 writeln('|-----------------|-----------------------------------------|');
 writeln('|       100       |             |             |             |');
 writeln('|      1000       |             |             |             |');
 writeln('|     10000       |             |             |             |');
 writeln(' ----------------------------------------------------------- ');
{1. ЊҐв®¤ Їаאַ㣮«м­ЁЄ®ў}
 s1:=0; n:=10;
 for i:=1 to 3 do
  begin
   n:=n*10;
   dx:=(xi[3]-xi[2])/n;
   x:=xi[2];
   repeat
    s1:=s1+dx*f1(x);
    x:=x+dx;
   until x>=xi[3];
   dx:=(xi[1]-xi[3])/n;
   x:=xi[3];
   repeat
    s1:=s1+dx*(f2(x));
    x:=x+dx;
   until x>=xi[1];
   gotoxy(23,6+i);
   write(s1:0:4,'  ');
   s1:=0;
  end;
{2. ЊҐв®¤ ва ЇҐжЁ©}
 s1:=0; n:=10;
 for i:=1 to 3 do
  begin
   n:=n*10;
   x2:=xi[3]; x1:=xi[2];
   dx:=(x2-x1)/n;
   x:=x1+dx;
   s1:=dx*(f1(x1)+f1(x2));
   repeat
    s1:=s1+dx*f1(x);
    x:=x+dx;
   until x>=x2-dx;
   x2:=xi[1]; x1:=xi[3];
   dx:=(x2-x1)/n;
   x:=x1+dx;
   s1:=s1+dx*(f2(x2)+f2(x1));
   repeat
    s1:=s1+dx*(f2(x));
    x:=x+dx;
   until x>=x2-dx;
   gotoxy(37,6+i);
   write(s1:0:4);
   s1:=0;
  end;
{3. ЊҐв®¤ ‘Ё¬Їб®­ }
 s1:=0; n:=10;
 for i:=1 to 3 do
  begin
   n:=n*10;
   x2:=xi[3]; x1:=xi[2];
   dx:=(x2-x1)/n;
   x:=x1+dx; t1:=0; t2:=0;
   repeat
    t1:=t1+f1(x);
    t2:=t2+f1(x-dx/2);
    x:=x+dx;
   until x>=x2-dx;
   t2:=t2+f1(x2-dx/2);
   s1:=dx/6*(f1(x1)+f1(x2)+2*t1+4*t2);
   x1:=xi[1]; x2:=xi[3];
   dx:=(x1-x2)/n;
   x:=x2+dx; t1:=0; t2:=0;
   repeat
    t1:=t1+f2(x);
    t2:=t2+f2(x-dx/2);
    x:=x+dx;
   until x>=x1-dx;
   t2:=t2+f2(x1-dx/2);
   s1:=s1+dx/6*(f2(x1)+f2(x2)+2*t1+4*t2);
   gotoxy(50,6+i);
   write(s1:0:4);
   s1:=0;
  end;
 gotoxy(1,12);
 writeln('                  ‚лзЁб«Ґ­Ёп ¤«п ®Ў« бвЁ B                   ');
 writeln(' ----------------------------------------------------------- ');
 writeln('| —Ёб«® а §ЎЁҐ­Ё© |                 ђҐ§г«мв в               |');
 writeln('|                 |-----------------------------------------|');
 writeln('|        n        |      A      |      B      |      C      |');
 writeln('|-----------------|-----------------------------------------|');
 writeln('|       100       |             |             |             |');
 writeln('|      1000       |             |             |             |');
 writeln('|     10000       |             |             |             |');
 writeln(' ----------------------------------------------------------- ');
{1. ЊҐв®¤ Їаאַ㣮«м­ЁЄ®ў}
 s1:=0; n:=10;
 for i:=1 to 3 do
  begin
   n:=n*10;
   dx:=10/n;
   x:=0;
   repeat
    s1:=s1+dx*f4(x);
    x:=x+dx;
   until x>=10;
   dx:=(xi[5]-10)/n;
   x:=10+dx;
   repeat
    s1:=s1+dx*f5(x);
    x:=x+dx;
   until x>=xi[5];
   gotoxy(23,17+i);
   s1:=s1-100;
   write(s1:0:4,'  ');
   s1:=0;
  end;
{2. ЊҐв®¤ ва ЇҐжЁ©}
 s1:=0; n:=10;
 for i:=1 to 3 do
  begin
   n:=n*10;
   dx:=10/n;
   x:=dx;
   s1:=dx*(f4(0)+f4(10));
   repeat
    s1:=s1+dx*f4(x);
    x:=x+dx;
   until x>=10-dx;
   dx:=(xi[5]-10)/n;
   x:=10+dx;
   s1:=dx*(f4(10)+f4(xi[5]));
   repeat
    s1:=s1+dx*f4(x);
    x:=x+dx;
   until x>=xi[5]-dx;
   gotoxy(37,17+i);
   write(s1:0:4);
   s1:=0;
  end;
{3. ЊҐв®¤ ‘Ё¬Їб®­ }
 s1:=0; n:=10;
 for i:=1 to 3 do
  begin
   n:=n*10;
   dx:=10/n;
   x:=dx; t1:=0; t2:=0;
   repeat
    t1:=t1+f4(x);
    t2:=t2+f4(x-dx/2);
    x:=x+dx;
   until x>=10-dx;
   t2:=t2+f4(10-dx/2);
   s1:=dx/6*(f4(0)+f4(10)+2*t1+4*t2);
   dx:=(xi[5]-10)/n;
   x:=10+dx; t1:=0; t2:=0;
   repeat
    t1:=t1+f4(x);
    t2:=t2+f4(x-dx/2);
    x:=x+dx;
   until x>=xi[5]-dx;
   t2:=t2+f4(xi[5]-dx/2);
   s1:=dx/6*(f4(10)+f4(xi[5])+2*t1+4*t2);
   gotoxy(50,17+i);
   write(s1:0:4);
   s1:=0;
  end;
 readln;
end.
Соседние файлы в папке Информатика