Đề bài
Bài tập và thực hành 8 trang 115 SGK Tin học 11
Lời giải chi tiết
1. Mục đích, yêu cầu
Giới thiệu một số chương trình để học sinh thấy được khả năng đồ họa của Pascal.
2. Nội dung
a) Chương trình sau đây vẽ các đườ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 vẽ là tâm của màn hình. Kết thúc việc vẽ bằng cách nhấn một phím bất kỳ. Chạy thử chương trình và quan sát kết quả trên màn hình.
uses crt, graph;
var stop: boolean;
function Detectlnit(path:string): integer; var drive, mode: integer;
begin
drive:= 0;
EnitGraph(drive, mode, path);
end;
begin
if Detectlnit('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(getmaxy));
Delay(200); {tam dung} stop :=keypressed;
end;
end;
CloseGraph
End.
b) Chương trình dưới đây minh họa việc sử dụng các thủ tục vẽ hình đơn giản. Hãy chạy chương trình rồi thay đổi một số tham số như màu vẽ, tọa độ và quan sát kết quả trên màn hình.
program 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 vong tron mau xanh la cay,tam(450; 100) Dan kinh 50}
Setcolor(LightGreen);
Circle(450, 100, 50);
readln;
{ve ellip mau do}
Sitrolor (red) ;
Elipse (100, 200, 0, 360, 50, 120);
readln;
CloseGraph
end.