ЗАДАНИЕ: Вычислить таблицу значений и построить график функций y(x) на интервале 0<=x<=Пи с шагом h.
y:=exp(-x/2)*sin(3*x): h=0,15; 0<=x<=Пи
Задание я сделал, но есть сомнение над правильностью построения, подскажите пожалуйсто правильно ли.
Program LAB2;
Uses Crt, Graph;
Var Gd, Gm, i, k,a,b,t : Integer;
x,y,xn, xk, h : real;
p,m,d,r,z : string;
Begin
Clrscr;
Write('Введите xn,xk,h:');
Read(xn,xk,h);
Gd:=detect;Gm:=detect;
InitGraph(gd,gm,'c:\tp7\bgi');
SetBkcolor(1);
Setcolor(14);
x:=0; i:=20;
{Tablica znachenii na grafike}
While x<=pi do
Begin
str(x:5:2,p);
y:=exp(-x/2)*sin(3*x);
str(y:6:3,m);
outtextxy(6,i,p);
outtextxy(80,i,m);
x:=x+h;
inc(i,10);
End;
readkey;
{Osy X,Y}
line(0,240,640,240);
line(320,0,320,480);
line(315,8,320,0);
line(325,8,320,0);
line(632,235,640,240);
line(632,245,640,240);
{Podpis osei i stolbikov}
p:='y'; r:='x'; d:='0';
m:='y=exp(-x/2)*sin(3*x)';
outtextxy(2,0,m);
outtextxy(310,250,d);
outtextxy(305,10,p);
outtextxy(620,250,r);
outtextxy(23,10,r);
outtextxy(90,10,p);
x:=0.6; i:=30;r:='-';
{Podpis delenii na OY}
While x<=pi-1.2 do
Begin
x:=x+0.4;
str(x:2:1,p);
outtextxy(290,217-i,p);
outtextxy(290,257+i,p);
outtextxy(280,257+i,r);
inc(i,20);
End;
a:=8; b:=6; x:=0.4;d:='pi'; i:=1; r:='4';z:='-';
{Podpis delenii na OX}
While x<=pi-0.5 do
Begin
str(i,p); str(b,m);
outtextxy(349+a,248,d); outtextxy(71+a,248,d);
outtextxy(64+a,248,m); outtextxy(339+a,248,p);
outtextxy(349+a,260,r); outtextxy(71+a,260,r);
line(347+a,258,357+a,258);
line(60+a,258,63+a,258);
line(69+a,258,80+a,258);
x:=x+0.4;inc(a,40); inc(i); b:=b-1;
End;
{Shtrihi}
for i:=-100 to 100 do line(318,round(240+i*10),322,round(240+i*10));
for i:=-100 to 100 do line(round(240+i*10),238,round(240+i*10),242);
x:=xn;
While x<=xk do
Begin
y:=exp(-x/2)*sin(3*x);
if round(y*50)=0 then
Begin
SetColor(14);
circle (320+round(x*50),240-round(y*50),2);
End
else
putpixel(320+round(x*50),240-round(y*50),5);
x:=x+0.001;
delay(20);
End;
Readkey;
End.
Сообщение отредактировано: TP7.0 -