procedure teoria;
begin
clrscr;
window(10,3,73,20);
textcolor(white);
clrscr;
gotoxy(21,1);
textcolor (12);
writeln('<-> Теория <->');
textcolor (15);
writeln(' График функции y=f(x) представляется в виде ломанной, соеди-',#10,#13,
'няющей точки (Xi,Yi). В этом случае площадь всей фигуры (кри-',#10,#13,
'волинейной трапеции) складывается из площадей элементарных',#10,#13,
'трапеций.');
writeln;
writeln(' Площадь каждой такой трапеции равна произведению полусуммы',#10,#13,
'основания на высоту:',#10,#13,
' Si=((Yi-1+Yi)/2)*Hi, i=1,2,...n',#10,#13,
'Таким образом: ',#10,#13,
' ',#10,#13,
' bГ 1 ___n ',#10,#13,
' | f(x)dx= --- \ Hi*(Yi-1+Yi) ',#10,#13,
' aJ 2 /__i=1 ');
textcolor(0);
readln;
end;
{*************************************************************************}
procedure reshenie;
var
a,b,n :word;
k: integer;
h,x,y,I,Ya,Yb,d,t,p:real;
{---------------------------------------------------------------------------}
function int(x:real):real;
begin
int:=arctan(sqrt(x));
end;
{---------------------------------------------------------------------------}
function perv(x:real):real;
begin
perv:=x*arctan(sqrt(x))-sqrt(x)+arctan(sqrt(x));
end;
{---------------------------------------------------------------------------}
begin
writeln;
TextColor(15);
writeln('введите пределы интегрирования...');
write('a:');
read (a);
write('b:');
read (b);
writeln;
writeln('введите число n-количество отрезков разбиения');
write('n:');
read (n);
h:=(b-a)/n;
I:=0;
k:=1;
while k<=n-1 do begin
x:=a+k*h;
y:=int(x);
I:=I+y;
k:=k+1;
end;
Ya:=int(a);
Yb:=int(b);
I:=h*((Ya+Yb)/2+I);
writeln;
TextColor(10);
writeln('значение полученное методом трапеций ',I:0:5);
writeln;
TextColor(15);
writeln('ПРОВЕРКА МЕТОДОМ НЬЮТОНА-ЛЕЙБНИЦА');
writeln;
t:=perv(b);
p:=perv(a);
d:=t-p;
TextColor(10);
writeln('значение полученное методом Ньютона-Лейбница ',d:0:5);
readln;
end;
{****************************************************************************}
procedure graf;
const
cen_x=20;
cen_y=440;
var
Gd,Gm,I,xo,yo,x,y: Integer;
num_st:string;
begin
Gd := Detect; InitGraph(Gd, Gm,'');
SetBkColor(1);
SetColor(14);
{ось y}
line(cen_x,1,cen_x,getmaxy);
line(cen_x,1,cen_x-5,cen_x-5);
line(cen_x,1,cen_x+5,cen_x-5);
{ось x}
line(0,cen_y,getmaxx,cen_y);
line(getmaxx,cen_y,getmaxx-10,cen_y-5);
line(getmaxx,cen_y,getmaxx-10,cen_y+5);
{ось x}
i:=cen_x;
repeat
str(round(i/200),num_st);
outTextxy(cen_x+i-15,cen_y-10,num_st);
line(i,cen_y-10,i,cen_y+10);i:=i+200;
{end;}
until i>620;
{ось y}
i:=cen_y-round(cen_y/2);
repeat
str(round(i/200),num_st);
outTextxy(cen_x+10,cen_y-i+30,num_st);
i:=i+200;
until i<0;
i:=cen_y;
repeat
line(cen_x-10,i,cen_x+10,i);i:=i-200;
until i<0;
num_st:='y=arctan(sqrt(x))';
outTextxy(300,30,num_st);
num_st:='X';
outTextxy(getmaxx-cen_x,cen_y+20,num_st);
num_st:='Y';
outTextxy(cen_x+20,getmaxy-cen_y-20,num_st);
for x:=0 to GetMaxX do
begin
xo:=x+1;
y:=round(arctan(sqrt(x/200))*200);delay(15);
yo:=round(arctan(sqrt(xo/200))*200);
line(x+cen_x,cen_y-y,xo+cen_x,cen_y-yo);
end;
ReadLn;
CloseGraph;
end;
{****************************************************************************}
type
mas=array[1..6] of string[23];
Const
menu:mas=(' *> О программе <* ',
' *> Задание <* ',
' *> Теория <* ',
' *> Решение <* ',
' *> График <* ',
' *> Выход <* ');
var
i,k:byte;
kod:char;
begin
k:=1;
1: TextMode(CO80);
ClrScr;
window(15,4,67,22);
TextBackGround (3);
TextColor(0);
ClrScr;
writeln(' ╔════════════════════════════════════════════════╗');
writeln(' ║ ║');
writeln(' ║ ▓▓▓▓ ▓ ▓ ▓ ▓ ▓▓▓ ▓▓▓▓▓ ▓▓▓ ║');
writeln(' ║ ▓ ▓ ▓ ▓▓ ▓ ▓ ▓ ▓ ▓ ▓ ║');
writeln(' ║ ▓▓▓▓ ▓▓▓▓ ▓ ▓ ▓ ▓▓▓▓ ▓ ▓▓▓ ▓▓▓▓ ║');
writeln(' ║ ▓ ▓ ▓ ▓ ▓▓ ▓ ▓ ▓ ▓ ▓ ▓ ║');
writeln(' ║ ▓▓▓▓ ▓ ▓ ▓ ▓ ▓ ▓ ▓▓▓▓▓ ▓ ▓ ║');
writeln(' ║ ║');
writeln(' ║ ╔═══════════════════╗ ║');
writeln(' ║ ║ ║ ║');
writeln(' ║ ║ ║ ║');
writeln(' ║ ║ ║ ║');
writeln(' ║ ║ ║ ║');
writeln(' ║ ║ ║ ║');
writeln(' ║ ║ ║ ║');
writeln(' ║ ╚═══════════════════╝ ║');
writeln(' ║ Lihobabin Artem ║');
writeln(' ╚════════════════════════════════════════════════╝');
GoToXY(3,2);
Kod:=' ';
while kod<>#13 do
begin
for i:=1 to 6 do
begin
if i=k then begin
TextBackGround(11);
TextColor(128);
end
else begin
TextBackGround(11);
TextColor(0);
end;
GoToXY(17,i+9);
Write(Menu[i]);
end;
Kod:=ReadKey;
Sound(600);
Delay(200);
sound(500);
Delay(200);
sound(400);
Delay(200);
NoSound;
if Kod=#0 then begin
kod:=ReadKey;
if Kod=#72 then if k>1 then k:=k-1
else k:=6;
if Kod=#80 then if k<6 then k:=k+1
else k:=1;
end;
end;
window (1,1,80,25);
TextBackGround(0);
TextColor(15);
ClrScr;
GoToXY (33,15);
{**************************************************************************}
begin
case k of 1: begin about end;
2: begin zadanie end;
3: begin teoria end;
4: begin reshenie end;
5: begin graf end;
6: goto 2;
end;
goto 1;
end;
2:
end.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.