10-sinf informatika 16. pdf



Download 5,46 Mb.
bet88/107
Sana29.01.2022
Hajmi5,46 Mb.
#417518
1   ...   84   85   86   87   88   89   90   91   ...   107
Bog'liq
informatika va axborot texnologiyalari 10-sinf

MoveTo va LineTo usullari. Chizma chizishda to'g'ri chiziq kesmasini chizish ko'p ishlatiladi. Bu borada Delphi qanday irnkoniyatlarga ega? Canvas obyektining MoveTo (... ga o't) va LineTo (...gacha chiz) usullari kesma chizish uchun xizmat qiladi. Ulaming ikkalasi ham butun qiymatli ikkitadan argumentga ega. Bu argumentlar yordamida rasmdagi nuqtaning koordinatalari ko'rsatiladi.

Uchlari (xl, yl) va (x2, y2) nuqtalarda bo'lgan kesmani chizish uchun avval MoveTo(xl, yl) usuli bilan kesmaning birinchi uchiga o'tiladi va Lineto(x2,y2) usuli bilan ikkinchi uchigacha bo'lgan kesma chiziladi. Bunda grafik kursor (x2, y2) nuqtaga o'tadi. Agar yana bir marta Lineto(x3,y3) usuli qo'llansa, uchlari (x2, y2) va (x3, y3) nuqtalarda bo'lgan kesma chiziladi va grafik kursor (x3, y3) nuqtaga o'tadi.
Bu usullaming amalda qo'llanishini Muntazam N burchak diagonallari deb nomlangan ilovada ko'rib chiqamiz. Delphi da yangi ilova yaratamiz va unga bittadan Image, SpinEdit va Button obyektlarini joylaymiz.
Buttonning sarlavhasini chiz, SpinEdit sarlavhasini esa N ga o'zgartiramiz. SpinEditning eng katta qiymati (MaxValue) ni 40, eng kichik qiymati (MinValue) ni 3, joriy qiymati (Value) ni 7 ga teng qilib olamiz. Image ning bo'yi (Height) va eni (Width) ni 500 ga teng qilib olamiz.
Button tugmasini ikki marta bosib, unga diagnallar degan buyruqni kiritamiz. Bunday buyruq hozircha yo' q, shuning uchun shu nomdagi protsedurani TForml .Buttonl Click protsedurasidan oldin kiritamiz: procedure diagonallar;
var i,j,n,r:integer;
x,y: array [0..40] of integer; begin r:=Forml.Imagel.Height div 2; Forml.Imagel.Canvas.Pen.Color:=clRed; Forml.Imagel.Canvas.Rectangle(-1,-1,2*r+2,2*r+2); n:=forml.SpinEditl.Value;

135

for i:=1 ton do begin y[i]:=round(r-r*cos(2*pi/n*i));
x[i]:=round(r+r*sin(2*pi/n*i)); end;
for i:=1 to n-1 do for j:=i+l ton do begin Forml.Imagel.Canvas.MoveTo(x[i],y[i]); Forml.Imagel.Canvas.LineTo(x[j],y[j]); end; end;
Bu protsedurada oltita o'zgaruvchi kiritamiz. i va j o'zgaruvchilar siklni boshqarish uchun ishlatiladi. n o'zgaruvchida ko'pburchakning burchaklari soni, r o'zgaruvchida muntazam ko'pburchakka tashqi chizilgan aylana radiusi saqlanadi. x va y massivlarda ko'pburchak uchlarining koordinatalari saqlanadi.
Protsedura tanasidagi operatorlami uchta qismga ajratish mumkin. Birinchi qismda to'rtta operator bo'lib, ulardan birinchisi aylana radiusini rasm balandligining yarmiga teng qilib oladi. lkkinchi operator chiziqlar qizil rangda chizilishini ta'minlaydi. Uchinchi operator chizishdan oldin rasmni tozalab tashlaydi. To'rtinchi operator ko'pburchakning nechta burchagi bo'lishini aniqlaydi.
Ikkinchi qismda faqat bitta sikl operatori bor. Unda ko'pburchak uchlarining koordinatalari: x[i] va y[i] aniqlanadi.
Uchinchi qismda ham bitta ichma-ich joylashgan sikl operatori bo'lib, u ko'pburchakning tomonlari va diagonallarini chizadi. Ilovani ishga tushiramiz. Avval muntazam yetti burchakni, so'ng muntazam 28 burchakni chizamiz. Ular quyidagi rasmda ko'rsatilgan:

136




Download 5,46 Mb.

Do'stlaringiz bilan baham:
1   ...   84   85   86   87   88   89   90   91   ...   107




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish