![]()
×
|
Trong phần vẽ đã được test thử với một số hàm:
{Gia tri ham so}
{Ham x^2}
{y := trunc((i*i)/(dvx));}
{Ham sin(x)}
{y :=trunc(2*dvy*(sin(i*pi/180)));}
Để xem kết quả vẽ các hàm này bạn cần bỏ ngoặc chú thích ({}) và chú thích phần tính giá trị hàm không cần.
PROGRAM Vedothi;
USES
CRT, GRAPH;
VAR
i, dvx,dvy, y, x0, y0:integer;
Device,Mode:integer;
BEGIN
{Ma nguon tham khao tai www.chiasethongtin.com}
{Xoa man hinh, khoi tao do hoa}
ClrScr;
InitGraph(Device,Mode,'');
{Kiem tra neu co loi do hoa dua ra thong bao}
If GraphResult<>0 then
Begin
Write('Loi do hoa! ', GraphErrorMsg(GraphResult) );
Exit;
End;
{Lay gia tri toa do lon nhat theo truc x, y}
{Gia tri don vi x, y}
dvx:=64;
dvy:=32;
{Goc toa do}
x0:= 320;
y0:= 240 ;
{ Ve 2 truc toa do }
Line (dvx,y0,9*dvx,y0); { Truc Ox}
Line (x0,dvy,x0,12*dvy); { Truc Oy}
for i:=-8*dvx to 8*dvx do
{PutPixel (x0+i,y0-trunc(2*dvy*sin(i*pi/(2*dvx)) ),yellow );}
Begin
{Gia tri ham so}
{Ham x^2}
{y := trunc((i*i)/(dvx));}
{Ham sin(x)}
{y :=trunc(2*dvy*(sin(i*pi/180)));}
{ham y = (2*sqr(x)+1)/(1-exp(x+2))}
if (1-exp(i/dvx+2))<>0 then
y := trunc(8*dvy*(2*sqr(i/dvx)+1)/(1-exp(i/dvx+2)));
{Ve diem gia tri}
PutPixel (x0+i,y0-y ,yellow );
end;
readln;
CloseGraph;
END.