Tải bản đầy đủ (.doc) (4 trang)

vẽ đồ thị trong pascal và C/C++

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (22.42 KB, 4 trang )

1.Vẽ bằng ngôn ngữ lập trình pascal
uses crt,graph;
const xo=320;yo=240;g=8;l=30;p=30;k=6;u=6;d=0.001;
type toado=record
x:integer;
y:integer;
end;
var da,db,dc,dd,de,df,dg,dh:toado;
gd,gm,xl,yl,i,j,fx,fy:integer;
go,g1,g2,g3,x,y,t:real;
s:string;
begin
gd:=detect;
initgraph(gd,gm,'');
go:=3*pi/4;
g1:=2*pi-go;
g2:=go-pi/2;
g3:=3*pi/2-go;
da.x:=xo+l*k;
da.y:=yo;
db.x:=da.x+round(g*cos(go));
db.y:=da.y+round(g*sin(go));
dc.x:=da.x+round(g*cos(g1));
dc.y:=da.y+round(g*sin(g1));
dd.x:=xo;
dd.y:=yo-p*u;
de.x:=dd.x+round(g*cos(g2));
de.y:=dd.y+round(g*sin(g2));
df.x:=dd.x+round(g*cos(g3));
df.y:=dd.y+round(g*sin(g3));
dg.x:=xo-l*k;


dg.y:=yo;
dh.x:=xo;
dh.y:=yo+p*u;
line(da.x,da.y,db.x,db.y);
line(da.x,da.y,dc.x,dc.y);
line(da.x,da.y,dg.x,dg.y);
line(dd.x,dd.y,de.x,de.y);
line(dd.x,dd.y,df.x,df.y);
line(dd.x,dd.y,dh.x,dh.y);
outtextxy(da.x,da.y+6,'x');
outtextxy(dd.x+6,dd.y,'y');
outtextxy(xo+6,yo+6,'0');
for i:=1-k to k-1 do
if i<>0 then
begin
xl:=xo+l*i;
yl:=yo;
bar(xl-1,yl-1,xl+1,yl+1);
str(i,s);
outtextxy(xl,yl+6,s);
end;
for j:=1-u to u-1 do
if j<>0 then
begin
xl:=xo;
yl:=yo-p*j;
bar(xl-1,yl-1,xl+1,yl+1);
str(j,s);
outtextxy(xl+6,yl,s);
end;

t:=1-k;
repeat
t:=t+d;
x:=t;
y:=t*t;
fx:=xo+round(l*x);
fy:=yo-round(p*y);
if (y>=1-u)and(y<=u-1) then putpixel(fx,fy,2);
until (t>k-1);
readln;
end.
2.Vẽ bằng ngôn ngữ lập trình C/C++
#include<conio.h>
#include<math.h>
#include<graphics.h>
#define pi M_PI
main()
{
int xo=320,yo=240,l=30,p=30,k=6,u=6,g=8,r=2;
int gd,gm,i,j,X,Y;
float go,g1,g2,g3,x,y,t,d=0.001;
typedef struct
{
int e,f;
}toado;
toado da,db,dc,dd,de,df,dg,dh;
gd=gm=0;
initgraph(&gd,&gm,"");
go=3*pi/4;
g1=2*pi-go;

g2=go-pi/2;
g3=3*pi/2-go;
da.e=xo+l*k;
da.f=yo;
db.e=da.e+g*cos(go);
db.f=da.f+g*sin(go);
dc.e=da.e+g*cos(g1);
dc.f=da.f+g*sin(g1);
dd.e=xo;
dd.f=yo-p*u;
de.e=dd.e+g*cos(g2);
de.f=dd.f+g*sin(g2);
df.e=dd.e+g*cos(g3);
df.f=dd.f+g*sin(g3);
dg.e=xo-l*k;
dg.f=yo;
dh.e=xo;
dh.f=yo+p*u;
line(da.e,da.f,db.e,db.f);
line(da.e,da.f,dc.e,dc.f);
line(da.e,da.f,dg.e,dg.f);
line(dd.e,dd.f,de.e,de.f);
line(dd.e,dd.f,df.e,df.f);
line(dd.e,dd.f,dh.e,dh.f);
for(i=1-k;i<=k-1;i++)
if(i!=0)
{
X=xo+l*i;
Y=yo;
bar(X-1,Y-1,X+1,Y+1);

}
for(j=1-u;j<=u-1;j++)
if(j!=0)
{
X=xo;
Y=yo-p*j;
bar(X-1,Y-1,X+1,Y+1);
}
outtextxy(da.e,da.f+6,"x");
outtextxy(dd.e+6,dd.f,"y");
outtextxy(xo+6,yo+6,"0");
outtextxy(xo+l*1,yo+6,"1");
outtextxy(xo+l*2,yo+6,"2");
outtextxy(xo+l*3,yo+6,"3");
outtextxy(xo+l*4,yo+6,"4");
outtextxy(xo+l*5,yo+6,"5");
outtextxy(xo-l*1,yo+6,"-1");
outtextxy(xo-l*2,yo+6,"-2");
outtextxy(xo-l*3,yo+6,"-3");
outtextxy(xo-l*4,yo+6,"-4");
outtextxy(xo-l*5,yo+6,"-5");
outtextxy(xo+6,yo-p*1,"1");
outtextxy(xo+6,yo-p*2,"2");
outtextxy(xo+6,yo-p*3,"3");
outtextxy(xo+6,yo-p*4,"4");
outtextxy(xo+6,yo-p*5,"5");
outtextxy(xo+6,yo+p*1,"-1");
outtextxy(xo+6,yo+p*2,"-2");
outtextxy(xo+6,yo+p*3,"-3");
outtextxy(xo+6,yo+p*4,"-4");

outtextxy(xo+6,yo+p*5,"-5");
for(t=1-k;t<=k-1;t+=d)
{
x=t;
y=(t-1)*(t+1)*(t-2);
X=xo+l*x;
Y=yo-p*y;
if((y<=u-1)&&(y>=1-u))putpixel(X,Y,4);
}
getch();
}

×