Tải bản đầy đủ (.pdf) (7 trang)

Bài tập và thực hành số 8 pdf

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 (309.04 KB, 7 trang )




Bài tập và thực hành số 8
Giảng viên hướng dẫn: Thầy Trần Doãn Vinh
Sinh viên thực hiện: Nguyễn Thùy Linh – K56A CNTT

Một số thủ tục, câu lệnh được sử dụng trong đồ họa:
SetColor(n): Đặt màu theo chỉ số màu n.
InitGraph(drive,mode,path): thiết lập môi trường đồ họa.
SetColor(color): Đặt màu theo tên màu.
Line(x1,y1,x2,y2): Vẽ đoạn thẳng nối hai điểm có tọa độ (x1,y1) và
(x2,y2)
MoveTo(x,y): định vị con trỏ tới vị trí(x,y).
LineTo(x,y): vẽ đoạn thẳng từ vị trí hiện thời của con trỏ tới điểm có
tọa độ (x,y).
LineRel(dx,dy): vẽ đoạn thẳng từ vị trí hiện thời của con trỏ đến vị trí
xác định bởi cộng thêm dx vào hoành độ,cộng thêm dy vào tung độcủa
điểm hiện thời.
MoveRel(dx,dy): chuyển con trỏ tới tọa độ mới có hoành độ cộng
thêm dx,tung độ cộng thêm dy.
CloseGraph: khôi phục kiểu màn hình trước khi khởi tạo đồ họa,giải
phóng vùng nhớ do đồ họa sử dụng.

Một số hàm quản lý màn hình và bàn phím:
 Keypressed: cho giá trị True nếu có một phím được
gõ,hoặc False nếu chưa có phím nào được gõ.
 GetMaxx: cho hoành độ lớn nhất của kiểu đồ họa hiện
thời
 GetMaxy: cho tung độ lớn nhất của kiểu đồ họa hiện
thời


 Delay(T): tạo thời gian trễ T tính theo đơn vị mili giây,
trong đó T là một biểu thức nhận giá trị nguyên.
Deplay thường được sử dụng để làm chậm chương
trình lại cho quan sát trạng thái ở thời điểm đó.
Ví dụ về chương trình ứng dụng đồ họa của Pascal

Chương trình:
Progam ThamNhieumau;
Uses Graph;
Const X=300; Y=200; N=25;
Var drive,mode,A,C,k:integer;
Procedure VeTham(a:integer);
Begin
MoveTo(X+a,Y);
LineTo(X,Y+a);LineTo(X-a,Y);
LineTo(X,Y+a);LineTo(X-a,Y);
End;
BEGIN
Drive:=0;
InitGraph(drive,mode,’c:\TP\BGI’
);
Write(‘Cho so nguyen A’);
Readln(A);C:=A div 4;
For k:=1 to N do
Begin
A:=A+C;SetColor(k);
VeTham(A);
End;
Readln;CloseGraph;
END.


Chương trình “Thảm nhiều màu”:

Vẽ đường gấp khúc ngẫu nhiên nhờ thủ tục LineTo, mỗi đoạn có một
màu ngẫu nhiên. Vị trí bắt đầu là tâm của màn hình, kết thúc bằng việc
nhấn một phím bất kì.

Chương trình:
uses crt,graph;
var stop: boolean;
function DetectInit(path:string):interger
;
var drive,mode:integer;
begin
drive:=0;
InitGraph(drive,mode,path);
DetectInit:= GraphReSult;
end;
begin
If DetectInit(‘C:\TP\BGI’)<>0 then
begin
Write(‘Loi do hoa! Nhan phim Enter de
ket thuc…’);
Readln;
end
else


begin
Randomize;

MoveTo(Getmaxx div 2,Getmaxy div 2);
stop:=false;
while not (stop) do
begin
SetColor(Random(GetMaxColor));
{Thiet lap mau mot cach ngau nhien}
LineTo(Random(GetMaxx),Random(Ge
tMaxy));
Delay(200);{Tam dung}
Stop:=Keypressed;
end;
end;
closeGraph
end.


Chương trình minh họa việc sử dụng các thủ tục
vẽ hình đơn giản:
Progam GraphDemo;
uses Graph;
Var
gd,gm: integer;
xm,ym,xmaxD4,ymaxD4: word;
begin
gd:=detect;
Initgraph(gd,gm,’C:\TP\BGI’ );
Xm:=GetmaxX div 2 ;
ym:=GetmaxY div 2;
{Ve hinh chu nhat voi net ve mau
vang}

SetColor(Yellow);
Rectangle(10,10,xm,ym);
Readln;
{Ve duong tronmau xanh la cay,
tam(450;100) ban kinh 50}
Setcolor(LightGreen);
Circle(450,100,50);
Readln;
{Ve ellip mau do}
SetColor(Red);
Ellipse(100,200,0,360,50,120);
Readln;
CloseGraph
end.

Bài tập về nhà:
Ôn lại những thủ tục,câu lệnh trong đồ họa
của Pascal.
Ôn lại kiến thức về viết chương trình con.
Viết một số chương trình về đồ họa của
Pascal.
Làm bài tập trong sách bài tập Tin học 11.
Ôn lại tất cả các kiến thức đã học để chuẩn
bị cho tiết sau ôn tập.

×