Samarqand davlat tibbiyot universiteti


Amaliy ish: Mavzu yuzasida savol va topshiriqlar



Yüklə 3,56 Mb.
səhifə54/56
tarix26.09.2023
ölçüsü3,56 Mb.
#149058
1   ...   48   49   50   51   52   53   54   55   56
Укув кулланма 2023 Лицие

Amaliy ish:

Mavzu yuzasida savol va topshiriqlar:

1. Rasmga ellips segmenti qanday qilib qo‘yiladi?
2. Rasmga ellips sektori qilib qo‘yiladi?
3. Rasmga bir nechta matn satri kiritadigan ilova yarating.
4. Rasmga bir nechta geometrik shakllar kiritadigan ilova yarating.

GRAFIK VA ANIMATSION ILOVALAR.
1. Ranglar palitrasi. Piksellar xossasi yordamida qizil va yashil ranglarni 
turli ulushda aralashtiiishdan hosil bo'ladigan 65536 ta rangli piksellarni ekranda 
tasvirlaydigan ilova yaratamiz. Ilovaga Image (256x256) va Button obyektlarini 
quyidagi rasmda ko'rsatilgandek joylaymiz. Button tugmasini ikki marta bosib
dastur kodiga quyidagi protsedurani kiritamiz: 
procedure TForml.ButtonlClick{Sender: TObject}; 
var i,j,rang:integer; 
begin 

for i:=0 to 255 do 


for j:=0 to 255 do begin 
rang:=RGB(i,j,0); 
Imagel.Canvas.Pixels[i,j]:=rang; 
end; 
end; 

Ilovani ishga tushirib, qizil va yashil ranglarning aralashib, rang hosil 


bo'lishini ko'rarmiz: 
Ilovadagi rang:=RGB(i,j,0); operatorini rang:=RGB(i,0,j); ga almashtirib

qizil va ko'k ranglarning aralashib pushti rang, rang:=RGB(0,i.j); ga almashtirib, 


yashil va ko'k ranglarning aralashib havo rang hosil bo'lishiga amin bo'lamiz: 
2. Koptok ilovasi. Timer obyektidan birinchi navbatda aniraatsion harakat 

yaratish uchun foydalaniladi. Bu qanday amalga oshirilishini ko'rish uchun yangi 



ilova yaratamiz. Unga yetarlicha katta Image obyektini, bittadan Timer, CheckBox 
va SpinEdit larni joylaymiz. 
Ilova oynasining Image egallagan qismida koptok harakatlansin. Koptok 
devorga urilganda orqasiga qaytsin. Uning harakati tezlig SpinEdit dagi qiymat 
belgilab bersin va u o'zgarishi bilan koptok tezligi ham o'zgarsin. CheckBox da 
bayroqcha o'rnatilgan bo'lsa, koptokning harakatlangandagi izi ham ko'rinib tursin, 
aks holda faqat koptokning joriy holati ekranga chiqarilsin. Koptokning holati 
sekundiga 20 marta (50 millisekund interval bilan) yangilab turilsin. 
CheckBox ning sarlavhasini izi bilan deb o'zgartiramiz, Checked xossasini 
rost qilib o'rnatamiz. SpinEdit ning maksimal qiymatini 10 ga teng qilib olamiz. 
Timer ning Interval xossasini 50 ga tenglaymiz. 
Ilovada koptokning joriy holatini saqlash uchun ikkita: x, y\ koptok 
harakatining joriy yo'nalishini saqlash uchun yana ikkita: dx, dy o'zgaruvchilar 
kerak bo'ladi. Ulanii tavsiflovchi var x,y,dx,dy:integer; operatorini dastur kodi 
oynasida var Forml: TForml; dan keyinga joylaymiz. Bu o'zgaruvchilarga 
boshlang'ich qiymatlar berish uchun Forml ning boshqa obyektlardan bo'sh qismini 
ikki marta bosamiz. Dastur oynasida paydo bo'lgan TForml.FormCreate 
protsedurasiga x:=0;y:=0;dx:=2;dy;=l; operatorlarini kiritamiz. 
Timer obyektini ikki marta bosib uning protsedurasini quyidagicha 
to'ldiramiz: 
procedure TForml.TimerlTimer(Sender: TObject); 
var n:integer; begin 
n:=SpinEditl.Value; if not CheckBoxl.Checked 
then Imagel.Canvas.Rectangle(-3,-3,Imagel.Width+3, Imagel.Height+3); x:=x+dx*n; if
x>Imagel.Width then 
begin x:=2*Imagel.Width-x; dx:=-dx;end; if x<0 then begin x:=-x; dx:=-dx;end; 
у:=y+dy*n; 
if y>Imagel.Height then 
begin 
у:=2*Imagel.Height-y; dy:=-dy;end; if y<0 then begin y:=-y; dy:=-dy;end; Imagel.Canvas.Ellipse(x-
10,y-10,x+10,y+10); end; 
Ikkinchi satrda protsedurada foydalanish uchun yangi n nomli o'zgaruvchi 
tavsiflanadi. To'rtinchi satrda bu o'zgaruvchiga SpinEditl da berilgan harakat 
tezligi qiymati kiritiladi. 
Beshinchi satrda CheckBoxl da bayroqcha o'rnatilganligi tekshiriladi. 


Yüklə 3,56 Mb.

Dostları ilə paylaş:
1   ...   48   49   50   51   52   53   54   55   56




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin