Line(X1,Y1,X2,Y2) protsedurasi ekranning (X1,Y1) koordinatali nuqtasi bi-
lan (X2,Y2) koordinatali nuqtasini birlashtiruvchi joriy rangli kesma chizadi.
۩
. Ekranni o‘rtasidan o‘tuvchi gorizontal va vertikal chiziq chizuvchi dastur
tuzing.
Yechim:
Gorizontal chiziq rangi qizil bo‘lishi uchun Setcolor(red) va vertikal chiziq
rangi sariq bo‘lishi uchun Setcolor(yellow); protseduralari qo‘llaniladi.
Ma’lumki, Line(X1,Y1,X2,Y2) protsedurasi ekranning (X1,Y1) koordinatali
nuqtasi bilan (X2,Y2) koordinatali nuqtasini birlashtiruvchi joriy rangli kesma
chizadi. Shunga ko‘ra gorizontal chiziqni 20 pikseldan 600 pikselgacha
chizdirish uchun X1=20, X3=600, ekran markazidan o‘tishni ta’minlash uchun
ikkinchi va to‘rtinchi koordinataga (480/2=) 240 yoziladi. Vertikal chiziqni 20
pikseldan 460 pikselgacha chizdirish uchun X2=20, X4=460, ekran markazidan
o‘tishni ta’minlash uchun birinchi va uchinchi koordinataga (640/2=) 320 yozi-
ladi.
Dasturi:
Uses Graph;
var
gd, gm: Integer;
Begin
gd:= 0; InitGraph(gd, gm, '');
Setcolor(red);
Line(20,240,600,240);
Setcolor(yellow);
Line(320,20,320,460);
Readln; CloseGraph;
End.
Natijaning ekrandagi ko‘rinishi:
Circle(X,Y,R) protsedurasi markazi (X,Y) nuqtada va radiusi R ga teng ayla-
na chizadi. Endi aylanalar bilan bog‘liq masalalarni shu protsedura yordamida
osongina hal etish mumkin.
۩
. Ekranning o‘rtasida radiuslari 100 dan kichik bo‘lgan sariq rangli 4 ta
aylana chizuvchi dastur tuzing.
Yechim:
Aylanalar chizig‘i rangi sariq bo‘lishi uchun barcha aylanaga bitta Setcol-
or(yellow); protsedurasi qo‘llaniladi. Ma’lumki, Circle(X,Y,R) protsedurasi
markazi (X,Y) nuqtada va radiusi R ga teng aylana chizadi. Shuning uchun bar-
cha aylana uchun Circle(X,Y,R) protsedurasida markazni X=320, Y=240 kabi
tanlanadi. Endi 4 ta radiusni 100 dan kichik bo‘lgan sonlar, masalan, 40, 55, 70,
85 kabi tanlash mumkin. Radiusni takrorlash operatori yordamida ham
o‘zgartirish mumkin.
Do'stlaringiz bilan baham: |