☰ Mundarija · Informatika

Delphi da grafika

Darslar 59–60 · 2 ta dars · N. I. Taylaqov (umumiy muharrir), A. B. Axmedov, M. D. Pardayeva, A. A. Abdug‘aniyev, U. M. Mirsanov. Informatika va axborot texnologiyalari, 10-sinf, 1-nashr. «Extremum-Press», Toshkent, 2017
60

Amaliy mashg‘ulot

Darslik: 137–138-betlar
MaqsadCanvas bilan ichma-ich shakllar, koordinata o‘qlari va rangli kompozitsiyalarni chizadi; koordinatalarni sikl va formula bilan hisoblaydi.
Yangi so‘zlar
ichma-ich shakllar · nested shapes: shapes drawn one inside another around a common centrebelgi (tick) · tick: a short mark on an axisbsClear · bsClear: a brush style that does not fill the shapemarkaz · centre: the point around which shapes are placed
Tushuntirish

Amaliy mashg‘ulotda chizma koordinatalari sikl bilan hisoblanadi. 1) «Ichma-ich kvadratlar»: Image 200×200, markaz (100, 100). Cho‘tkani bsClear qiling va for i := 1 to 8 do Rectangle(100 - 12 * i, 100 - 12 * i, 100 + 12 * i, 100 + 12 * i); – i-kvadratning tomoni 24·i piksel, eng kattasiniki 192. 2) «Koordinata o‘qlari»: MoveTo(10, 100); LineTo(190, 100); gorizontal o‘q, MoveTo(100, 10); LineTo(100, 190); vertikal o‘q, belgilar: for i := 1 to 9 do { x = 20·i, y = 96 dan 104 gacha kesma }. 3) «Rangli doiralar»: markazlari bir nuqtada bo‘lgan 5 ta aylana, har birining rangi RGB(50·i, 0, 255 – 50·i) formulasi bilan beriladi. Har bir ilovada chizishdan oldin eng muhim sonlarni (eng katta kvadrat tomoni, belgilar soni) hisoblab yozing va rasmdagi bilan solishtiring.

Namunalar
Kvadratlar: i = 1: Rectangle(88, 88, 112, 112), tomon 24; i = 3: Rectangle(64, 64, 136, 136), tomon 72; i = 8: Rectangle(4, 4, 196, 196), tomon 192. Barcha 8 ta kvadrat tomonlari yig‘indisi 24·(1+2+…+8) = 24·36 = 864.
Belgilar: x = 20, 40, …, 180 – to‘qqizta; ular orasidagi masofa 20 piksel. 5 ta rangli aylana uchun RGB(50, 0, 205), RGB(100, 0, 155), RGB(150, 0, 105), RGB(200, 0, 55), RGB(250, 0, 5): qizil ortadi, ko‘k kamayadi.
Sinfda faoliyat

«Rasm-hisob»: guruh o‘z formulasi bilan 6 ta ichma-ich aylana tuzadi, eng katta aylana diametrini va barcha diametrlar yig‘indisini oldindan hisoblaydi.

Mashq
1
i = 4 da Rectangle(100-12*i, 100-12*i, 100+12*i, 100+12*i) ning tomoni?
2
8 ta ichma-ich kvadrat tomonlari yig‘indisi?
3
RGB(50*i, 0, 255-50*i) da i = 3 bo‘lsa, uch qiymat?
4
Nima uchun ichma-ich shakllar uchun cho‘tka bsClear bo‘lishi kerak?