Оқулық Қазақстан Республикасы Білім жəне ғылым министрлігі бекіткен Алматы, 2011 1



бет126/210
Дата06.01.2022
өлшемі4,42 Mb.
#16437
түріОқулық
1   ...   122   123   124   125   126   127   128   129   ...   210
Байланысты:
boribaev-algoritmdeu

Procedure FillPoly (N: Word; var Coords);
мұндағы N – тұйық көпбұрыштың төбелерінің саны; Coords – төбелер координатасы жазылған, PointType типті айнымалы.
Төбелер координатасы Integer типті екі мəн арқылы беріледі: біріншісі көлденең, екіншісі тік координатасы. Олар үшін мо-дульде анықталған келесі типтерді қолдануға болады:
type
PointType = record
х,у: Integer
end;

Шекара сызығының стилі жəне түсі SetLineStyle жəне SetColor процедураларында беріледі, бояу типі жəне түсі – SetFillStyle про-цедурасымен.


Келесі мысалда экранға кездейсоқ боялған көпбұрыштар са-лынады.
uses Graph, CRT;
var
d,r,e: Integer;


  1. array [1..6] of PointType; n,k: Word;

begin
{Графиканы іске қосамыз} d:=Detect; InitGraph(d,r,’’); e:=GraphResult;


if e <> grOk then WriteLn(GraphErrorMsg(e))
else begin
{Экран ортасында терезе саламыз} d:=GetMaxX div 4;


214

r:=GetMaxY div 4; Rectangle(d,r,3*d,3*r); SetViewPort(d+l,r+l,3*d-l,3*r-
l,ClipOn);
{Боялған кездейсоқ көпбұрыштарды шығару циклі} repeat
{Кездейсоқ түс пен өрнекті таңдаймыз} SetFillStyle(Random(12),Random(succ(GetMaxCol or)));
SetColor
(Random(succ(GetMaxColor)));
{Кездейсоқ координаталарды белгілейміз}
n:=Random (4) + 3;
for k:=1 to n do with p[k] do begin
x:=Random (GetMaxX div 2); у:=Random (GetMaxY div 2)
end;
FillPoly (n, p)
{Шығарып бояймыз}
until KeyPressed;
if ReadKey=#0 then k:=ord(ReadKey); CloseGraph
end
end.



Достарыңызбен бөлісу:
1   ...   122   123   124   125   126   127   128   129   ...   210




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет