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

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

.PAS
Скачиваний:
20
Добавлен:
10.12.2013
Размер:
5.46 Кб
Скачать
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.
Соседние файлы в папке Информатика