m a j m u a - samduatr.samdu.uz/mexmat/books/iii blok fanlari/dasturlash... · 2011-09-23 ·...
TRANSCRIPT
O’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI
ALISHER NAVOIY NOMIDAGI SAMARQAND DAVLAT UNIVERSITETI
AXBOROTLASHTIRISH TEXNOLOGIYALARI KAFEDRASI
« OB’EKTGA YO’NALTIRILGAN VIZUAL PROGRAMMALASHTIRISH » fanidan
o’quv-uslubiy
M A J M U A
5521900 - «Tadbiqiy matematika va informatika» bakalavriat 4-bosqich talabalari uchun
SAMARQAND-2010
2
MUNDARIJA
NAMUNAVIY O’QUV DASTURI ………………………………………. 3
IShChI O’QUV DASTURI ..…..………………………………………… 5
REYTING NAZORATLARI GRAFIGI ………………………………… 8
BAHOLASh ME’ZONLARI ……………………………………………….. 9
KALENDAR ISh REJA SI ………………………………………………… 10
MA’RUZA MATNI …………………………………………………………. 11
MA’RUZA MATNI DARS IShLANMASI ………………………………... 60
LABORATORIYa MAShG’ULOTLARI IShLANMASI …………..…… 111
MUSTAQIL TA’LIM UCHUN TOPSHIRIQLAR ……………………... 140
NAZORAT SAVOLLARI ….……..……………………………………... 145
3
O’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI
A.NAVOIY NOMIDAGI SAMARQAND DAVLAT UNIVERSITETI MEXANIKA - MATEMATIKA FAKULTETI
AXBOROTLAShTIRISh TEXNOLOGIYaLARI KAFEDRASI
"Tasdiqlayman" Samarqand Davlat Universiteti
o’quv ishlari bo’yicha prorektori
__________ prof. A.S.Soleyev
«___»____________2010 y
5480100 – «Amaliy matematika va informatika» ta’lim yo’nalishi
bakalavriaturasining 4- bosqich talabalari uchun
TUZUVChILAR: katta o’q. J.A. Samatov, t.f.n. ass. A. Abdullayev
IShChI REJA: «Axborotlashtirish texnologiyalari» kafedrasining «__ » _______ 2010 yildagi yig’ilishida muhokama qilindi va tasdiqlandi. kafedra mudiri: prof. I.I.JUMANOV Fakultet o’quv-uslubiy kengashining «___»____________ 2010 yildagi yig’ilishida muhokama qilindi va tasdiqlandi. fakultet o’quv-uslubiy kengashi raisi: dots. E.Sattorov «Mexanika-matematika» fakulteti ilmiy kengashining «___»_______2010 yildagi yig’ilishida muhokama qilindi va tasdiqlandi. fakultet ilmiy kengashi raisi, fakultet dekani: dots. X. Qurbonov
SAMARQAND - 2010
OB’EKTGA YO’NALTIRILGAN VIZUAL PROGRAMMALASHTIRISH fanidan
NAMUNAVIY O”QUV DASTURI
4
FANNING MAZMUNI
1. DASTURIY MAHSULOT VA UNING ASOSIY XUSUSIYaTLARI.
Dasturiy ta’minot tushunchasi. Dasturlashtirish tillarining sinflari, ularni qiyoslash. Dasturiy ta’minotni loyihalashtirish usullari. Dasturiy ta’minotni yaratish bosqichlari. Dasturiy ta’minotning tarkibiy qismlari. Foydalanuvchilarning muloqat muhitini (interfeys) loyihalash. Oddiy muloqat rejimi. Foydalanuvchilarning grafikli muloqat muhiti. Strukturali loyihalash va dasturlashtirish. Modulli dasturlashtirish.
2. OBYeKTGA YO’NALTIRILGAN DASTURLAShTIRISh.
Obyektga yo’naltirilgan dasturlashtirishning maqsad va vazifalari. Asosiy tushunchalar va modellar: Obyekt tushunchasi, obyektning asosiy xususiyatlari, sinf tushunchasi, ma’lumotlar, metodlar, xususiyatlar vorisligi; obyektlar va sinflar tizimi; obyektga yo’naltirilgan dasturlarni loihalash; metodlar va algoritmlar; Obyektga yo’naltirilgan dasturlashtirish tillari; klassifikasiya, arxitektura, ko’rkam vositalar, qo’llash texnologiyalari; interfeys: tashkillashtirish qoidalari, programmalashtirish metod va vositalari. Obyektga yo’naltirilgan sistemalar: Metodlar, tillar va programmalashtirish usullari. Vizual proogrammalash sistemalarida obyektga yo’naltirilgan dasturlashni realizasiya qilish. Virtual metodlar.
3. DELPHI DASTURLAShTIRISh TIZIMI.
Delphi dasturlashtirish tizimining bosh oynasi. Forma konstruktorining
oynasi (Forma dizayneri). Kod redaktorining oynasi. Obyektlar inspektori. Delphi loyihasining xususiyatlari. Loyiha fayli (PROGECT.DPR). Formalar fayli. Resurslar fayli (PROGECT.RES). Loyiha parametrlari fayli (PROGECT.OPT). Rezerv fayllar. Loyihani kompilyasiya qilish va bajarish. Ilova yaratish. Ilova interfeysini yaratish. Ilovaning funksionalligini aniqlash. Loyiha parametrlarini boshqarish va loyiha menedjeri (Project Manager). Dasturni sozlash vositalari (Debugger). Loyihani namoyish qilish vositasi (Project Browser). Obyektlar ombori.
4. OBJECT PASCAL NING DASTURLAShTIRISh VOSITALARI Object Pascal dasturining tarkibiy qismlari. Ma’lumotlar turi. Ifodalar. Tanlov operatori. Takrorlash operatori. Prosedura va funksiya yaratish mexanizmi. Modullar tizimi. Modul yaratish mexanizmi. Fayllar tizimi. Fayllarni qayta ishlash.
5.DELPHI DASTURLAShTIRISh TIZIMINING VIZUALLAShTIRISh VOSITALARI
Vizual komponentalar bibliotekasi.Vizuallashtirish kutubxonasidan
foydalanish. Vizullashtirish komponentalarining xususiyalarti va ularning guruhi. Name, Align, Color, xususiyalari. Vizullashtirish komponentasining jarayonlar
5
majmuasi. Vizullashtirish komponentalari bilan bog’liq “metod” lar. TStrings sinfi bilan bog’liq metodlar. Standart tugmalar bilan ishlash. Tezkor murojaat qilish tugmalari bilan ishlash. Boshqarish elementlarini birlashtirish. Panel. Forma va uning xususiyatlari. Uzulishlarni tashkil qilish va qayta ishlash. Iteraktiv muloqotni tashkil qilish vositalari. Ilovalar tashkil qilish. Ilovalarni va ekranni boshqarish. Grafik muhit imkoniyatlaridan foydalanish. Dasturni sozlash mexanizmlari. Testlar majmuasini aniqlash. Dasturni hujjatlashtirish. Multimediya vositalaridan foydalanish. Asosiy va lokal menyu. Fayllar bilan ishlash. Ma’lumotlar bazalari asoslari.
ASOSIY ADABIYOTLAR 1. Petrov V.V. Informasionnыye sistemы. – SPb.: Piter. – 2002. – 688s.
2. Gofman V. E., Xomenenko A. D. Rabota s bazami dannыx v DELPHI –SPB.: BXV – Sankt-Peterburg, 2000.-656s.
3. Xomonenko A. D. Sыgankov V. M., Malsev M. G. Bazы dannыx: uchebnik dlya visshыx uchebыx zavedeniy. Pod.red. prof A. D. Xomonenko.- SB korona print, 2000, - 416s.
4. Gofman V. E., Xomenenko A. D. DELPHI 6. – SPb.: BXV- Peterburg, 2002.-1152s.
QO’ShIMChA ADABIYOTLAR
1. Kormen T., Leyzerson Ch., Rivest R. Algoritmы: postroyeniye i analiz. M.: MNSMO, 1999.
2. Noden P., Kitte K. Algebraicheskaya algoritmika. M.: Mir, 1999. 3. Meщyeryakov Ye. V., Xomenenko A. D. Publikasiya bazы dannыx v
Internete. – SPb.: BXV- Peterburg,2001, –560c. . 4. Simonovich S., Yevseyev G.A. Zanimatelnoye programmirovaniye: Visual
Basic, M.,:AST-PRESS, 2002, 544 bet; 5. Faraonov V.V. Delphi. Programmirovaniye na yazыke vыsokogo urovnya.:
Uchebnik dlya vuzov. - SPb.: Piter, 2003. – 640s. 6. Glushakov S.V., Klevsov A.L.. Programmirovaniye v srede Delphi 7. -2
izd., dop i pererab. – Xarkov, Folio, 2003. 7. Kultin N.B. Delphi 6. Programmirovaniye Objekt Pascal. – SPb: BXV –
Sankt Peterburg, 2001. 8. Daraxvelidze P., Markov Ye. Delphi 4. Sreda vizualnogo
programmirovaniya. – SPb.: BXV – Sankt Peterburg, 1999. – 816s 9. Leontyev V.P. Noveyshaya ensiklopediya personalnogo kompyutera. – M.,
20007
INTERNET – SAYTLAR http://rc-5.narod.ru/ http://[email protected] http://www.rsdn.ru http://delphi.mastak.ru
6
O’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI
A.NAVOIY NOMIDAGI SAMARQAND DAVLAT UNIVERSITETI MEXANIKA - MATEMATIKA FAKULTETI
AXBOROTLAShTIRISh TEXNOLOGIYaLARI KAFEDRASI
"Tasdiqlayman" Samarqand Davlat Universiteti
o’quv ishlari bo’yicha prorektori
__________ prof. A.S.Soleyev
«___»____________2010 y
5480100 – «Amaliy matematika va informatika» ta’lim yo’nalishi
bakalavriaturasining 4- bosqich talabalari uchun
OB’EKTGA YO’NALTIRILGAN VIZUAL PROGRAMMALASHTIRISH fanidan ISHCHI REJA
TUZUVChILAR: katta o’q. J.A. Samatov,
t.f.n. dots. A. Abdullayev
IShChI REJA: «Axborotlashtirish texnologiyalari» kafedrasining «28» avgust 2010 yildagi 1-yig’ilishida muhokama qilindi va tasdiqlandi. kafedra mudiri: prof. I.I.JUMANOV Fakultet o’quv-uslubiy kengashining «28» avgust 2010 yildagi 1- yig’ilishida muhokama qilindi va tasdiqlandi. fakultet o’quv-uslubiy kengashi raisi: dots. E.Sattorov «Mexanika-matematika» fakulteti ilmiy kengashining «29» avgust 2010 yildagi 1-yig’ilishida muhokama qilindi va tasdiqlandi. fakultet ilmiy kengashi raisi, fakultet dekani: dots. X. Qurbonov
7
SAMARQAND - 2010 I. Fanning mazmuni
1.1. Ma’ruza (12 soat)
№ mavzular soatlar miqdori
adabiyotlar raqami
1 Fayllar bilan ishlash. Standart muloqot oynalari. 2 [ 3,4,7] 2 Qismiy dasturlar va modullar bilan ishlash 2 [ 3,4,7] 3 Delphining grafik imkoniyatlari 2 [ 3,4,7] 4. Delphining multimedia imkoniyatlari. 2 [ 3,4,7] 5. Ma’lumotlar bazasini yaratish texnologiyalari 2 [ 2- 7] 6. Ma’lumotlar bazalari jadvali uchun dastur
ilovalarini tuzish 2 [ 2- 7]
Jami 12 1.2. Laboratoriya mashg’ulotlari (14 soat) 1 Fayllar bilan ishlash. Standart muloqot oynalari. 5 [1,3,4,7] 2 Qismiy dasturlar va modullar bilan ishlash 5
[ 1,3,4,7]
3 Delphining grafik imkoniyatlari 4
[ 1,3,4,7]
Jami 14
II. Adabiyotlar 1. Abramov S. A. i dr. Zadachi po programmirovaniyu - M.: Nauka 1988 -
224 s. 2. Gofman V. E., Xomyenyenko A. D. Rabota s bazami dannыx v DELPHI
–SPB.: BXV – Sankt-Pyetyerburg, 2000.-656s. 3. Daraxvyelidzye P., Markov Ye. Delphi 4. Sryeda vizualnogo
programmirovaniya. – SPb.: BXV – Sankt Pyetyerburg, 1999. – 816s 4. Kultin N.B. Delphi 6. Programmirovaniye Objekt Pascal. – SPb: BXV –
Sankt Pyetyerburg, 2001. 5. Myeщyeryakov Ye. V., Xomyenyenko A. D. Publikasiya bazы dannыx v
Intyernyetye. – SPb.: BXV- Pyetyerburg,2001, –560c. 6. Pyetrov V.V. Informasionnыye sistyemы. – SPb.: Pityer. – 2002. – 688s 7. Faronov V.V. Delphi. Programmirovaniye na yazыkye vыsokogo
urovnya.: Uchyebnik dlya vuzov. - SPb.: Pityer, 2003. – 640s.
8
«Obyektga yo’naltirilgan vizual programmalash» fani bo’yicha reyting nazoratlari grafigi
Ta’lim yo’nalishi: 5480100 – «Amaliy matematika va informatika» (4 kurs) Umumiy o’quv soati - 46, shundan ma’ruza – 12, lab. – 14, mustaqil ish – 20
2010-2011 o’quv yili
Kafedra mudiri prof. Jumanov I. I.
Ishchi o’quv dasturidagi mavzular tartib raqami (qo’shimcha topshiriq mazmuni)
Umumiy soat
Baxo
lash
turi
Nazorat shakli
Ball Muddati (hafta)
Ma’
ruza
Am
aliy
ot
Labo
rato
riya
Mus
taqi
l ish
Jam
i Max
. ba
ll
sara
lash
ba
lli
1 - 6 Amaliyot topshiriqlar
12 14 20 46 JB MB OB
Nazorat ishi, davomat, uy ishi, labor. ishi. topshiriq topsh Yozma ish
35 35
fevral 2 -hafta fevral 2- hafta fevral 3-hafta
JAMI 12 14 20 46 70 39
YaB Yozma ish
30
fevral (jadval bo’yicha)
9
SAMARQAND DAVLAT UNIVERSITETI MEXANIKA-MATEMATIKA FAKULTETI
«Axborotlashtirish texnologiyalari» kafedrasi
5480100 – «Amaliy matematika va informatika» yo’nalishi 4 - bosqich talabalari uchun «Obyektga yo’naltirilgan vizual programmalashtirish»
fani bo’yicha reyting tizimi asosida baholash MEZONLARI
( 2010-2011 o’quv yili, VII semestr )
Joriy nazoratlarni baholash mezoni
№ Baholanadigan ish turi Jami JB 35 35
1. Darsdagi fa’ollik 5 5 2. Nazorat ishi 5 5 3. Uy vazifasi 2 2 4. Amaliy topshiriq (lab.) 10 10 5. Mustaqil ta’lim 7 7
Oraliq nazoratlarni baholash mezoni
№ Baholanadigan ish turi
(Yozma ish) Jami OB
35 35 1. Nazariy savollar-1 6 6 2. Nazariy savollar-2 6 6 3. Nazariy savollar-3 6 6 2. Amaliy masala 10 10 3. Mustaqil ish 7 7
Yakuniy nazoratni baholash mezoni
№ Baholanadigan ish turi (Yozma ish)
Jami 30
1. Nazariy savollar-1 6 2. Nazariy savollar-2 6 3. Nazariy savollar-3 6 4. Nazariy savollar-4 6 5. Amaliy masala 6
TUZUVChI: t.f.n. dots. Abdullayev A.
10
«Tasdiqlayman»
fakultet dekani _________________________ «____» ____________ 20__ y Axborotlashtirish texnologiyalari kafedrasi dotsenti
Abdullayev Abubakirning
OB’EKTGA YO’NALTIRILGAN VIZUAL PROGRAMMALASHTIRISH fanidan
2010 - 2011 o’quv yili uchun
KALENDAR ISH REJASI yo’nalish: 5480100 – «Amaliy matematika va informatika», gurux:
401,402, semestr VII
№ O’tiladigan mavzu Soat
O’tkazish sanas
i
Ijro belgisi
Izoh
1. Ma’ruza (12 soat) 1 Fayllar bilan ishlash. Standart muloqot
oynalari.
2 Qismiy dasturlar va modullar bilan ishlash 3 Delphining grafik imkoniyatlari 4 Delphining multimedia imkoniyatlari. 5 Ma’lumotlar bazasini yaratish
texnologiyalari
6 Ma’lumotlar bazalari jadvali uchun dastur ilovalarini tuzish
2. Laboratoriya mashg’ulotlari (14 soat) 1 Fayllar bilan ishlash. Standart muloqot
oynalari.
2 Fayllar bilan ishlash. Standart muloqot oynalari.
3 Qismiy dasturlar va modullar bilan ishlash 4 Qismiy dasturlar va modullar bilan ishlash 5 Qismiy dasturlar va modullar bilan ishlash
11
6 Delphining grafik imkoniyatlari 7 Delphining grafik imkoniyatlari
Kafedra mudiri
prof.I.I.Jumanov
12
1. Mavzu. Fayllar bilan ishlash. Standart muloqot oynalari
Reja: 1. Faylning vazifasi va turlari
2. Fayllar bilan ishlovchi funksiyalar
3. Fayl tashkil qilish. Fayllar bilan ishlash
4. Muloqot oynalarini yaratish
Tushunchalar va tayanch iboralar: matnli fayl, tiplashgan fayl,
tiplashmagan fayl, faylli o’zgaruvchi, standart muloqot oynasi, tugmalar.
Fayl – bu tashqi xotiradagi ma’lumotlarning nomlangan sohasi. Object
Pascal da ularni tashkillashtirish va elementlariga murojaat qilish uslublariga
ko’ra fayllarning uch xil ko’rinishi farqlanadi: matnli, tiplashgan va tiplashmagan.
Matnli fayl – qatorlardan iborat fayl. Matnli faylga DELPHI dagi
(kengaytmasi *.pas) dasturning dastlabki matn fayli misol bo’ladi. Matnli fayl
bilan ishlash uchun mos faylli o’zgaruvchi tavsiflanishi zarur: Var F: TextFile;.
Tiplashgan fayllar barcha elementlari fiksirlangan va bir xil o’lchovli ega
bo’lgan, bu esa ularning har biriga to’g’ridan-to’g’ri murojaat qilishni
tashkillashtirish imkonini beradi (elementga murojaat uning tartib nomeri orqali
amalga oshiriladi). Odatda, bunday fayllarning elementlari yozuv bo’ladi. Faylli
o’zgaruvchi tavsiflanishida uning tipi ko’rsatiladi: Var F: TextFile;.
Tiplashmagan fayl – bu ma’lumotlari ma’lum tipga ega bo’lmagan va
baytlar ketma-ketli sifatida qaraladigan fayl. Faylli o’zgaruvchi e’lon qilinadi: Var
F: File;.
Fayllar bilan ishlash tartibi quyidagicha:
. . . AssignFile(F, ‘Filename.txt’);
//“Filename.txt” fayl bilan
// F faylli o’zgaruvchini
bog’lash
13
Rewrite(F); // yangi yaratish yoki (Reset(F);)
mavjud
// faylni ochish
. . .
Read(F, Stud); // ma’lumotni fayldan o’qish yoki
// (Write(F, Stud)) faylga yozish
. . .
CloseFile(F); // faylni yopish
Fayllar bilan ishlovchi qism dasturlar:
AssignFile(var F; FileName: string) – F faylli o’zgaruvchi
va FileName nomli faylni bog’lash.
Reset(var F[: File; RecSize: word]) – mavjud faylni ochadi.
Tiplashmagan faylni ochishda RecSize fayl elementining o’lchovi beriladi.
Rewrite(var F[: File; RecSize: word]) – yangi fayl
yaratiladi va ochiladi.
Append(var F: TextFile) – fayl oxiriga matn yozish uchun matnli
fayl ochiladi.
Read(F,v1[,v2,…vn]) – tiplashgan fayldan joriy ko’rsatgichdan
boshlab qiymatlarni va matnli fayldan satrni o’qish.
Write(F,v1[,v2,…vn]) – tiplashgan fayldan joriy ko’rsatgichdan
boshlab qiymatlarni va matnli fayldan satrni yozish.
CloseFile(F) – oldin ochilgan fayl yopiladi.
Rename(var F; NewName: string) – ixtiyoriy tipdagi ochilmagan
faylni qayta nomlaydi.
Erase(var F) – ixtiyoriy tipdagi ochilmagan faylni o’chiradi.
Seek(var F; NumRec: Longint) – matnli bo’lmagan fayllar uchun
NumRec nomerli elementga ko’rsatgichni o’rnatadi.
SetTextBuf(var F: TextFile; var Buf[;Size: word]) –
matnli fayl uchun Size hajmdagi kiritish-chiqarish yangi buferini aniqlaydi.
14
Flush(var F: TextFile) – kiritish-chiqarish buferi qiymatini faylga
yozish.
Truncate(var F) – joriy pozisiyadan boshlab faylning oxirigi
elementigacha o’chiradi.
LoResult: integer - oxirgi kiritish-chiqarish amalining natijasining
kodi.
FilePos(var F):longint – matnli bo’lmagan fayllar uchun joriy
pozisiya nomeri aniqlaydi. Hisoblash noldan boshlanadi.
FileSize(var F):longint – matnli bo’lmagan fayllar uchun
fayldagi elementlar sonini aniqlaydi.
Eoln(var F: TextFile): boolean – kursor satr oxiriga o’rnatilsa
True qiymat beradi.
Eof(var F)): boolean - kursor fayl oxiriga o’rnatilsa True qiymat
beradi.
SeekEoln(var F: TextFile): boolean – probel yoki tabulyasiya
belgisidan farqli satr yoki fayldagi oxirgi simvolga kelganda True qiymatga ega
bo’ladi (matnli fayllar uchun).
SeekEof(var F: TextFile): boolean – SeekEoln kabi ish
bajaradi va barcha fayllar ishlatiladi.
BlockRead(var F: File; var Buf; Count: word[;
Result: word]) , BlockWrite(var F: File; var Buf;
Count: word[; Result: word]) - Count miqdordagi bloklarning Buf
o’zgaruvchini mos o’qish va yozish prosedurasi.
Fayl - axborotlarning nomlangan strukturasi bo’lib, axborotning barcha
elementlari bir tipga tegishli bo’ladi. Undagi elementlar miqdori amaliy jixatdan
chegaralanmagan. Odatda fayl ham o’zgaruvchilarni e’lon bo’limida e’lon qilinishi
kerak. Faylni e’lon qilishda fayl elementlarining tipi ko’rsatiladi.
E’lon umumiy ko’rinishda quyidagicha yoziladi:
Var faylli o’zgaruvchi: file of tip;
Masalan:
15
Var f : file of integer;
g : file of string[20];
Bu yerda faqat butun sonlar uchun mo’ljallangan f hamda har bir elementi
20 tagacha belgidan iborat bo’lgan matnli ma’lumotlarning g – faylli
o’zgaruvchilari e’lon qilinmoqda.
Faylli o’zgaruvchini e’lon qilish faqat fayl komponentining tipini beradi,
xolos. Dastur faylga ma’lumotlarni yozishi yoki fayldan o’qishi uchun aniq bir fayl
ko’rsatilishi kerak, ya’ni, faylli o’zgaruvchini aniq bir fayl bilan bog’lash kerak
(fayl nomini berish). Fayl nomi AssignFile prosedurasiga murojaat qilish
bilan beriladi. AssignFile prosedurasining ko’rinishi quyidagicha bo’ladi:
Bu prosedura umumiy ko’rinishda
AssignFile(faylli o’zgaruvchi,‘fayl manzili va nomi’);
tarzida yoziladi. Masalan:
assignfile(f, ‘D:\DELPHI\alomat.pas’);
Bunday e’londan keyin, kompyuter f fayli deganda D diskda joylashgan
DELPHI papkasidagi alomat.pas faylini tushunadi, ya’ni har gal f fayli ustida
bajarilishi lozim bo’lgan amallarni D:\DELPHI\alomat.pas fayli uchun bajaradi.
Fayllar ustida biror amalni bajarish uchun avval uni ochish talab qilinadi.
Fayllarni ochish esa uch xil maqsaddan faqat bittasi uchun amalga oshiriladi.
Fayllarni ochish masalasi maqsadga ko’ra quyidagi metodlar yordamida hal
qilinadi:
Rewrite(f).- f faylidagi ma’lumotlarni o’qish;
Reset(f) - f faylidagi ma’lumotlarni o’qish uchun ochish;
Append(f) - f faylining oxiriga yangi ma’lumotlar qo’shish uchun ochish.
Dastur matnining oxirida yoki zarurat paydo bo’lganda ochilgan fayllarni
albatta yopish talab qilinadi. Buning uchun Close(f) - f faylini yopish metodidan
foydalaniladi.
Windows operasion tizimi bir qancha standart muloqot oynalariga ega. Bu oynalar
misoliga fayllarni ochish va saqlash, shriftlarni tanlash va to’g’rilash, rang berish,
16
printerni boshqarishlarni keltirish mumkin. Delphi sistemasi ham bu muloqot
oynalarini qo’llaydi.
Kiritish oynasi -standart dialog oynasi bo’lib InputBox funksiyasini
chaqirish natijasida ekranga chiqariladi. InputBox funksiyasi qiymati -
foydalanuvchi kiritgan qatordir.
Umumiy holda InputBox funksiyasini chaqirish quyidagi ko’rinishga ega:
O’zgaruvchi := InputBox(Sarlavha, Izoh, Qiymat);
Rasmda dialog oynasining ko’rinishi
keltirilgan. Bu kiritish oynasi dasturda
quyidagi instruksiya orqali chiqarilishi
mumkin:
s:=InputBox('Kilogramm-gramm','Og’irlikni kilogrammda kiriting','0');
Agar dastur bajarilishi davomida foydalanuvchi qator kiritib OK, tugmasini
bossa InputBox funksiyasi qiymati kiritilgan katorga teng bo’ladi. Agar
Cancel, tugmasi bosilsa funksiya qiymati, funksiyaga parametr sifatida berilgan
satrga teng bo’ladi
Shuni ta’kidlash, lozimki InputBox funksiyasi qiymati satr (string)
turiga tegishli. Shuning uchun dasturga son qaytarish lozim bo’lsa, mos
o’zgartirish funksiyasidan foydalanish lozim.
Ekranga ma’lumot oynasini chiqarish uchun ShowMessage prosedurasidan
yoki MessageDlg funksiyasidan foydalanish lozimdir.
ShowMessage prosedurasi ekranga matnli hamda OK buyruq tugmasiga
ega bo’lgan ma’lumot oynasini chiqaradi.
ShowMessage prosedurasini chaqirish instruksiyasi quyidagi ko’rinishga
ega: ShowMessage(Ma’lumot);
Rasmda quyida keltirilgan instruksiyani bajarish natijasida ekranda aks
etuvchi ma’lumot oynasi ko’rsatilgan:
ShowMessage('Og’irlikni kilogrammda kiriting');
17
Ma’lumot oynasining sarlavxasida Project Options
oynasining Application bo’limida ko’rsatilgan
ilova nomi aks etadi. Agar ilova nomi berilmagan
bo’lsa sarlavhada bajarilayotgan fayl nomi aks
etadi.
MessageDig funksiyasi universal xarakterga egadir. Bu funksiya ma’lumotli
oynaga standart belgilardan birini, masalan "Vnimaniye", buyruq tugmalarining
sonini va turini berishga, hamda foydalanuvchi qaysi tugmani bosganligini
aniqlashga imkon beradi. Rasmda quyidagi instruksiya bajarilish natijasi
keltirilgan.
r:=MessageDlg('Fayl uchiriladi.', mtWarning, [mbOk,mbCancel],0); MessageDlg funksiyasining qiymati qaysi buyruq
tugmasi bosilgan-ligini aniklashga imkon beruvchi sondir.
MessageDlg funksiyasiga murojaat umumiy
ko’rinishi quyidagichadir:
Tanlov: = MessageDlg (Ma’lumot, Tur, Tugmalar, KontekstSpravkalar)
Bu yerda:
Ma’lumot - ma’lumot matni;
Tur - ma’lumot turi. Ma’lumot informasion, ogohlantiruvchi yoki kritik xato
haqidagi ma’lumot bo’lishi mumkin. Har bir ma’lumot turiga ma’lum belgi
mos keladi. Ma’lumot turi nomlangan konstanta bilan beriladi.
MessageDlg funksiyasi konstantalari:
Konstanta Ma’lumot tipi Belgi
mtWarning Diqqat
mtError Xato
mt Information Ma’lumot
18
mtConfirmation Tasdiqlash
mtCustom Oddiy Belgisiz
Tugmalar — ma’lumot oynasida aks etuvchi tugmalar ro’yxati. Ruyxat
nomlangan konstantalardan iborat bo’ladi
MessageDlg funksiyasi konstantalari:
Konstanta Tugma Konstanta Tugma
mbYes Yes Mb Abort Abort
mbNo No mbRetry Retry
mbOK OK Mblgnore Ignore
mbCancel Cancel mbAll All
mbHelp Help
Masalan, ma’lumot oynasida OK va Cancel, tugmalari paydo bo’lishi uchun
tugmalar ro’yxati quyidagicha berilishi lozim: [mbOK,mbCancel]
Keltirilgan tugmalardan konstantalardan tashqari eng ko’p qo’llanadigan
konstantalar: mbOkCancel, mbYesNoCancel va mbAbortRetryIgnore.
kontekstSpravkalar — foydalanuvchi <F1> tugmasini bosganda
ekranda paydo bo’luvchi spravka tizimining bo’limidir. Agar bu parametr
qiymati nolga teng bo’lsa spravka ekranga chiqarilmaydi.
Quyidagi jadvalda MessageDlg qaytarishi mumkin bo’lgan qiymatlar va
ularga mos buyruq tugmalari berilgan.
MessageDlg funksiyasi konstantalari:
MessageDlg konstantalari Bosilgan tugma
mrAbort Abort
mrYes Yes
mrOk Ok
19
mrRetry Retry
mrNo No
mrCancel Cancel
mrIgnore Ignore
mrAll All
Delphi tizimida muloqot oynalarini qo’llash uchun maxsus Dialogs nomli
komponentalar palitrasi mavjud bo’lib, u o’z ichiga bir necha vizual bo’lmagan
komponentalarni oladi. Ulardan OpenDialog, SaveDialog va FontDialog
komponentalarini ko’rib chiqamiz.
OpenDialog komponentasi kompyuter fayl tizimini ko’rish va undan kerakli
fayl nomini tanlash imkonini beradi. Bu komponenta piktogrammasi
ko’rinishga ega. U vizual bo’lmagan komponenta bo’lib, uni formaga
sichqonchada bir marta bosib qo’yiladi va keyin uning xossalari o’rnatiladi.
Uning asosiy xossalarini ko’rib chiqamiz:
DefaultExt -faylning kengaytma nomini saqlaydi.
FileName -tanlangan fayl nomini saqlaydi.
Filter -fayl nomlarini muloqot darchasiga ko’rsatilgan kengaytma nom
bo’yicha filtrlab chiqaradi. Masalan, agar .pas ko’rsatilgan bo’lsa, muloqot
oynasida faqat .pas kengaytmali fayllar chiqadi.
Filter xossasiga o’tilib uch nuqtali tugmacha bosilsa Filter Editor muloqot
oynasi chiqadi. U ikki qismdan iborat bo’lib, birinchi qismda filtr matni ikkinchi
qismida esa filtrning o’zi beriladi.
Masalan:
filtr matni nomlari:
Faylы moduley Delphi (*.pas)
Tekstovыye dokumentы (*.txt,*.doc)
Vse faylы (*.*)
va boshqa
mos filtrlar:
20
*.pas
*.txt; *.doc
*.*
Fayl ochish muloqot oynasining ko’rinishi.
SaveDialog komponentasi kompyuter xotirasiga fayllarni saqlash imkonini
beradi. Bu komponenta piktogrammasi ko’rinishga ega. U vizual bo’lmagan
komponenta bo’lib, uni formaga sichqonchada bir marta bosib qo’yiladi va keyin
uning xossalari o’rnatiladi. Agar uning DefaultExt xossasi qiymati .txt qilib
tenglashtirilsa, faylni saqlashda avtomatik ravishda uning kengaytmasi .txt qilinib
saqlanadi.
Faylni saqlash muloqot oynasining ko’rinishi.
21
FontDialog komponentasi foydalanuvchiga shriftlarni tanlaydi va uning
xarakteristikasini belgilaydi. Bu komponenta piktogrammasi ko’rinishga ega.
U vizual bo’lmagan komponenta bo’lib, uni formaga sichqonchada bir marta bosib
qo’yiladi va keyin uning xossalari o’rnatiladi. Uning Font xossasi shrift
xarakteristikasini beradi.
Shriftni tanlash muloqot oynasining ko’rinishi.
22
Nazorat savollari:
1. Fizik fayl deb qanday fayllarga aytiladi?
2. Mantiqiy fayl deb qanday fayllarga aytiladi?
3. Fizik va mantiqiy fayllar qanday bog’laniladi?
4. Fayllar nima uchun kerak va qanday ochiladi?
5. Fayl qanday yopiladi?
6. Fayl ko’rsatkichi deb nimaga aytiladi?
7. Fayllar necha xil xolatda bo’lishi mumkin?
8. Muloqot oynalarini yaratish qanday amalga oshiriladi?
9. OpenDialog, SaveDialog va FontDialog komponentalari qanday funksiyalarni
bajaradi va ularning qanday xossalarini bilasiz?
23
2-Mavzu. Qismiy dasturlar va modullar bilan ishlash
Reja:
1. Prosedura va uning tuzilishi
2. Funksiyalar va va ular bilan ishlash
3. Rekursiya funksiyalar va ulardan foydalanish
4. Foydalanuvchi modullari va ular bilan ishlash
Tushunchalar va tayanch iboralar: qismiy dastur, formal parametr,
haqiqiy parametr, inisializasiya qismi, bajaruvchi qism, interfeysli qism
Qismiy dastur deb, nom bilan ta’minlangan va alohida usul bilan
tashkillashtirilgan mustaqil dastur fragmentiga aytiladi. Object Pascalda tilida
qismiy dasturlar prosedura va funksiya ko’rinishda amalga oshirilgan bo’lib,
foydalanish usuli va vazifasi bilan farq qiladi.
Prosedura – aniqlangan harakatni bajarish uchun ism bo’yicha chaqirilishi mumkin
bo’lgan dasturning nomlangan mustaqil bo’lagidir. Proseduraning tuzilishi dastur
tuzilishini takrorlaydi. Dastur ichida proseduraning nomini ko’rsatish bilan uni
ishga tushirish bajariladi va unga murojaat deb yuritiladi.
Barcha proseduralar ichki (standart) va foydalanuvchili (foydalanuvchilar
tomonidan aniqlangan) larga bo’linadi.
Proseduraning tavsifi sarlavha va tanadan iborat. Prosedura sarlavhasi
quyidagi ko’rinishda yozuvdir:
procedure <ism> [(<ro’yxat>)];
Bu yerda <ism> - prosedura nomi, <ro’yxat> - formal parametrlar
ro’yxati (sarlavhada aniqlangan).
Formal parametrlar ro’yxati bo’lmasligi ham mumkin. Agar u bor bo’lsa, bir
– biridan nuqta vergul bilan ajratilgan formal parametrlarning ismi va ularning
turlaridan tashkil topadi.
Sarlavhadagi formal parametrlar bilan birgalikda o’zgarmaslar, massivlar,
turlar, satrlar va h.k. larni ham ishlatish mumkin.
24
Funksiya proseduraga o’xshash bo’lib, lekin ikkita farqi bor: birinchidan,
funksiya chaqirgan nuqtaga skalyar (birlik) qiymatni qaytaradi, ikkinchidan,
funksiyaning nomi ifoda tarkibiga operant kabi kirishi mumkin.
Proseduraning funksiyadan farqi shundaki, prosedura dastur holatini
o’zgartirishga yo’naltirilgan harakatlar majmuasini berish uchun xizmat qilsa,
funksiya esa proseduraning xususiy holi bo’lib, yagona natijani albatta asosiy
dasturning murojaat nuqtasiga qaytaradi.
Barcha funksiyalar prosedura kabi ichki (standart) va foydalanuvchili
(foydalanuvchi tomonidan aniqlangan) larga bo’linadi.
Funksiyaning tavsifi sarlavha va tanadan iborat. Funksiya sarlavhasi:
function <ism> [(<ro’yxat>)]:<turi>;
Bu yerda <ism> - funksiya nomi, <ro’yxat> - formal parametrlar
ro’yxati (sarlavhada aniqlangan), <turi> - funksiya qaytarayotgan natija turi.
Formal parametrlar ro’yxati bo’lmasligi ham mukin. Agar u bor bo’lsa, bir –
biridan nuqta vergul bilan ajratilgan formal parametrlarning ismi va ularning
turlaridan tashkil topadi.
Sarlavhadagi formal parametrlar bilan birgalikda o’zgarmaslar, massivlar,
turlar, satrlar va h.k. larni ham ishlatish mumkin.
Rekursiya – bu funksiya yoki jarayonni o’zi orqali tavsiflashdir. “Rekursiya”
so’zining o’zi “qaytishi” ma’nosini bildiradi.
Qism dasturning o’zidan o’ziga qism dastur sifatida murojaati (bu
tavsiflashlar bevosita jarayon ichida yoki qismiy dasturlar ketma-ketligi orqali
bayon etiladi) rekursiya deb nomlanadi.
Nolga teng yoki kata butun sonning faktorialini aniqlaydigan misol klassik
misol hisoblanadi:
.0),1(
,0,1!
nагарnnnагар
n
Bu yerda faktorialni aniqlash funksiyasi (n-1)! faktorialni aniqlash orqali
amalga oshiriladi:
25
)!.1()1(...21!1
11
nninnninn
i
n
i
O’zining tavsifida yuqorida keltirilgan rekursiv formuladan foydalanilgan
funksiyani qaraymiz:
function factorial(n:integer):longint;
begin
if n=0 then factorial:=1
else factorial:=n*factorial(n-1)
end;
Rekursiv qismiy dasturlardan foydalanish – dasturchi nuqtai-nazaridan
qaraganda chiroyli estetik usuldir. Amma bu usul hamma vaqt ham samarali emas.
Odatda rekurent ko’p yoki kam kuch sarflab odatdagi siklik jarayonga keltirish
mumkin. Masalan, faktorialni hisoblaydigan dastur bo’lagi quyidagicha
ko’rinishda bo’lishi mumkin:
factorial:=1;
for i:=1 to n do
factorial:=factorial*i;
Bundan tashqari rekursiyadan hamma vaqt ham foydalanish kerak emas,
chunki u steklarning to’lib ketish holatiga sabab bo’ladi. Bu holat shuning uchun
ham yuz beradiki, har safar rekursiv qismiy dasturga murojaat qilinganda, uning
lokal o’zgaruvchilari dastur steki deb nomlanuvchi maxsus ko’rinishda
tashkillashtirilgan xotira sohasiga joylashtiriladi.
Rekurent ketma-ketliklarni hisoblash uchun rekursiyadan foydalanish
qo’lay. Bu tushuncha matematikada quyidagicha kiritiladi: k ma’lum a1,…ak
sonlar berilgan. Bu sonlar sonli ketma-ketlikning birinchi sonlari hisoblanadi.
Berilgan ketma-ketlikning keyingi elementlari quyidagicha hisoblanadi:
ak+1=F(a1,…,ak); ak+2=F(a2,…,ak+1);
ak+2=F(a2,…,ak+1); ak+3=F(a3,…,ak+2); …
Bu yerda F, k argumenta bog’liq funksiya va quyidagi formula ko’rinishda
tavsiflanadi:
26
ai=F(ai-1, ai-2,…,ai-1);
Bu formula rekurent deb nomlanadi. k qiymat rekursiya tubi (glubina)
deyiladi.
Boshqacha aytganda, rekurent ketma-ketlik har bir boshlang’ich ni alohida
yo’qotishni tavsiflovchi cheksiz sonli qatordir, u quyidagicha ifodalanidi …
Rekurent ketma-ketliklarga misollar quyida keltirilgan arifmetik (yuqorida)
va geometrik progressiyalar hisoblanadi:
a1=1, a2=3, a3=5, a4=7, a5=9, …
a1=1, a2=2, a3=4, a4=8, a5=16, …
Bularga mos rekurent formulalar:
ai=ai-1+2,
ai=2ai-1.
Rekursiv prosedura yoki funksiyani tavsiflashda juda muhim bitta qoidani
esdan chiqarmaslik kerak. Birinchi navbatda rekursiyadan chiqishni
tashkillashtirish lozim!
Ko’p hollarda rekursiv qismiy dasturlarda oldindan tavsiflash ishlatiladi.
Rekursiv murojaat urinmali bo’lishi ham mumkin (ya’ni bitta qismiy dastur boshqa
qismiy dasturga murojaat qiladi, u esa o’z navbatida birinchi qismiy dasturga
murojaat qiladi). Har qanday qismiy dastur murojaatga qadar tavsiflangan bo’lishi
kerak, albatta, bunday hollarda oldindan tavsiflash ishlatiladi.
Modul – bu avtonom kompilyasiya qilinadigan dastur bo’lib, u o’z ichiga
turli komponentalarni (turlarni, o’zgarmaslarni, o’zgaruvchilarni, prosedura va
funksiyalarni) va bir nechta bajariladigan instruksiyalar qismlarini oladi.
Modullar amaliy dasturlar kutubxonalarini va modullarni dasturlashtirish
vositalarini ishlaydigan instrumentlar (uskunalar) ni oladi. Modullarning asosi
shundan iboratki, komplyator ularga katta dasturlarni yaratishga imkoniyat
beradigan xotiraning alohida segmentlariga dastur kodini joylashtiradi.
Modulni qayta ishlashda quyidagi hodisalar ketma-ketligi tavsiya qilinadi:
1. Modulni loyihalash, ya’ni asosiy va yordamchi qism dasturlar va
boshqa resurslarni aniqlash.
27
2. Modul komponentalarini tavsiflash.
3. Har bir qismiy dasturni lohida yozish, keyinchalik uni modul
matniga «qo’shish» uchun.
Modul quyidagi strukturaga ega:
Unit <ism>;
Interface <interfeysli qism>
Implementation <bajariluvchi qism>
BEGIN
<inisializasiya qismi>
END.
Bu yerda Unit – modul boshlanadigan xizmatchi so’z; Interface -
dasturning interfeysli qismini boshlaydigan xizmatchi so’z; Implementation -
bajariluvchi qismni boshlaydigan xizmatchi so’z. Shunday qilib, modul sarlavha va
ixtiyoriy biri bo’sh bo’lishi mumkin bo’lgan 3 ta asosiy qismdan iborat.
Modul sarlavhasi Unit so’zi va modulning asosiy matni joylashadigan
diskli fayl ismi bilan mos tushadigan modul ismidan iborat bo’ladi. Masalan,
Unit Primer; (joriy modulning asosiy matni Primer.pas diskli faylida
joylashgan bo’lishi kerak).
Modul ismi uni boshqa modullar va asosiy dasturlar bilan bog’lash uchun
kerak. Bu bog’lanishi Uses qismida o’rnatiladi:
Uses <modullar_ro’yhati>;
Bu yerda Uses – xizmatchi so’z (ishlatadi), <modullar_ro’yhati>-
bog’lanish o’rnatiladigan modullar ro’yxati. Ro’yxat elementlari bir-biridan vergul
bilan ajratiladigan modullar ismlaridan tarkib topadi.
Modullar boshqa modullarni ishlatishi mumkin.
Interfeysli qism Interface so’zi bilan boshlanadi. Bu qism modulning barcha
global obyektlari (turlar, o’zgarmaslar, o’zgaruvchilar va qismiy dasturlar) e’lon
qilinadi, qayerdaki ularni asosiy dasturga va/yoki boshqa modullar murojaat qilish
mumkin bo’lishi uchun.
28
Interfeysli qismda katta qismiy dasturlarni e’lon qilishda faqat ularning ismi
ko’rsatiladi, asosiy dasturda esa berilgan o’zgaruvchilar vash u qismiy dasturlarga
murojaat mumkin bo’ladi. Interfeysli qismda qismiy dasturlarni e’lon qilish
ularning kompilyasiyasini avtomatik bajarish uchun yuboriladi.
Bajaruvchi qism Implementation so’zidan boshlanadi va interfeysli
qismda e’lon qilingan qismiy dasturlardan tashkil topadi. Unda quyidagi modul
uchun lokal obyektlar e’lon qilinishi mumkin: yordamchi turlar, o’zgarmaslar,
o’zgaruvchilardan hamda nishonlar, inisializasiya qismida ishlatilayotgan bo’lsa.
Bajariluvchi qismda modulning interfeysli qismida e’lon qilingan qismiy
dasturlarni yozish uchun interfeysli qismida yozilgani uchun formal o’zgaruvchilar
ro’yhatini tashlab sarlavhani yozish mumkin.
Inisializasiya qismi modulni tugatadi. U begin so’zi bilan birga
qatnashmasligi yoki bo’sh (unda begin so’zidan keyin end so’zi keladi) bo’lishi
mumkin. Inisializasiya qismida dastur fragmentlaridan tashkil topadigan
bajariladigan instruksiyalar joylashadi. Bu instruksiyalar boshqaruvni asosiy
dasturga berish va uni ishga tayyorlash uchun ishlatiladi.
Inisializasiya qismi bo’sh bo’lishi mumkin emas – bo’sh qism dasturni ishga
tushirishda boshqaruvni yuborishda bo’sh instruksiyalardan tashkil topadi.
Modul yoki asosiy dasturning kompilyasiya jarayonida barcha yuqorida
Uses modulidagi berilgan qismlar kompilyasiya qilingan, ularning natijasi esa
*.tpu kengaytmali bir xil nomli fayllarda joylashgan bo’lishi kerak.
Nazorat savollari
1. Prosedura-funksiyaning asosiy farqini qanday izohlaysiz?
2. Funksiya strukturasi qanday aniqlangan?
3. Funksiyaga murojaat qanday amalga oshiriladi?
4. Rekursivlik xossasini qanday izohlaysiz?
5. Lokal va global o’zgaruvchilar qanday farqlanadi?
6. Parametrlarni lokallashtirish prinsipini izohlab bering;
29
7. Qanday maxsus proseduralar va funksiyalarni bilasiz?
30
3. Mavzu. Delphining grafik imkoniyatlari
Reja:
1. Chizish sohasi va uning o’lchovlari
2. Yopiq sohalarni chizish va soha ichini bo’yash
3. Grafik obyekt yuzasiga matn chiqarish
4. Grafik primitivlarni chizish usullari
5. Grafik komponentalar va ular bilan ishlash
Tushunchalar va tayanch iboralar: Canvas xossasi, chizish sohasi, TRen
obyekti, TextOut uslubi, grafik primitivlarni chizish usullari, Image, Shape,
PaintBox komponentalari
Delphi dasturchiga grafik dasturlar sxema, chertej, illyustrasiyalar
yaratishga imkon beradi. Dastur grafikani obyekt (forma yoki Image
komponentasi) yuzasiga chiqaradi. Obyekt yuzasiga canvas xossasi moc keladi.
Obyekt yuzasiga grafik element (to’g’ri chiziq, aylana, turtburchak va hokazo),
chiqarish uchun bu obyektning Canvas xossasiga mos usul qo’llash lozim. Misol
uchun Form1.Canvas.Rectangle (10,10,100,100) instruksiyasi
dastur oynasida turtburchak chizadi.
Chizish sohasi va uning o’lchovlari. Yukorida ko’rilgan Canvas xossasi -
TCanvas tipidagi obyektdir. Grafik primitivlarni chiqarish usullari Canvas
xossasini abstrakt chizish sohasi deb qaraydi. Chizish sohasi alohida nuqtalar -
piksellardan iborat. Piksel holati uning gorizontal (X) va vertikal (Y) koordinatalari
bilan aniqlanadi. Chap yuqori piksel koordinatalari (0,0). Koordinatalar yuqoridan
pastga va chapdan o’ngga qarab o’sib boradi.
Soha o’lchovlarini Image komponentasining Height i Width xossalari
va formaning ClientHeight va Clientwidth xossalari orqali aniqlash
mumkin.
31
Qalam geometrik figuralarni chizish uchun ishlatiladi. Chiziq ko’rinishi
TRen obyektining quyidagi jadvalda ko’rsatilgan xossalari orqali aniqlanadi.
TRen (qalam) xossalari.
Xossa Ta’rifi
Color Chiziq rangi
Width Chiziq kalinligi
Style Chiziq ko’rinishi
Mode Akslantirish rejimi
Quyidagi jadvalda Color xossasi qiymati sifatida beriluvchi nomlangan
konstantalar sanab o’tilgan.
Color xossasi qiymatlari.
Konstanta Rang Konstanta Rang
clBlack Qora clSilver Kumush rang
clMaroon Kashtan rang clRed Qizil
clGreen Yashil clLime Och yashil
clOlive Och jigar rang clBlue Ko’k (zangori)
clNavy Tim-ko’k clFuchsia Alvon
clPurple Och qizil clAqua Moviy
clTeal Pushti clWhite Oq
clGray Kul rang
Chiziq qalinligi Width xossasi orqali piksellarda beriladi.
Chiziq turini Style xossasi belgilaydi. Quyidagi jadvalda chiziq turini
belgilovchi nomlangan konstantalar sanab o’tilgan.
32
Style xossasi qiymatlari
Konstanta Chiziq ko’rinishi
psSolid Uzluksiz chiziq
psDash Punktir chiziq, uzun shtrixlar
psDot Punktir chiziq, qisqa shtrixlar
psDashDot Punktir chiziq, uzun va qisqa shtrixlar ketma ketligi
psDashDotDot Punktir chiziq, bitta uzun va ikkita qisqa shtrixlar
ketma ketligi
psClear Chiziq aks etmaydi
Mode xossasi chiziq rangining fon rangiga munosabatini ko’rsatadi. Odatda
chiziq rangi Pen.Color xossasi qiymati bilan belgilanadi.
Dasturchi chiziq uchun fon rangiga nisbatan invers rang berishi mumkin. Bu
holda hatto chiziq va fon rangi bir xil berilgan bo’lsa ham chiziq ajralib turadi.
Quyidagi jadvalda Mode xossasi qiymati sifatida ishlatish mumkin bo’lgan
konstantalar berilgan.
Mode xossasi qiymatlari
Konstanta Chiziq rangi
pmBlack Qora, Pen.Color xossasi qiymatiga bogliq emas
pmWhite Oq, Pen.Color xossasi qiymatiga bog’liq emas
pmCopy Chiziq rangi Pen.Color xossasi qiymatiga bog’liq
pmNotCopy Chiziq rangi Pen.Color xossasi qiymatiga invers
pmNot Chiziq rangi sohaning mos nuqtasi rangiga invers
Muyqalam (Canvas.Brush) yopiq sohalarni chizish va soha ichini
bo’yash uchun mo’ljallangan usullardan foydalaniladi. Muyqalam obyekt jadvalda
ko’rsatilgan ikki xossaga ega.
33
TBrush (muyqalam) xossalari.
Xossa Ta’rifi
Color Yepiq sohani bo’yash rangi
Style Sohani to’ldirish uslubi
Kontur ichidagi soha bo’yalishi yoki shtrixlanishi mumkin. Sohani to’ldirish
usulini belgilovchi konstantalar quyidagi jadvalda berilgan.
Brush.style xossasi qiymatlari
Konstanta Soha bo’yash uslubi
bsSolid Uzluksiz bo’yash
bsClear Soha bo’yalmaydi
bsHorizontal Gorizontal shtrixlash
bsVertical Vertikal shtrixlash
bsFDiagonal Diagonal shtrixlash, oldinga og’ish
bsBDiagonal Diagonal shtrixlash, orqaga og’ish
bsCross Katakli gorizontal-vertikal shtrixlash
bsDiagCross Katakli diagonal shtrixlash
Grafik obyekt yuzasiga matn chiqarish uchun TextOut usuli qo’llaniladi.
Bu usulni chaqirish instruksiyasi quyidagi ko’rinishga ega:
Obyekt.Canvas.TextOut(x, u, Tekst)
Matn shrifti Font xossasi qiymati bilan aniqlanadi. Font xossasi TFont
tipidagi obyekdir. Quyidagi jadvalda TFont obyekti xossalari keltirilgan.
34
TFont obyekti xossalari
Xossa Ta’rifi
Name
Size
Style
Shrift nomi, masalan Arial
Shrift punktlarda kattaligi
Simvollar chiqarish uslubi. Quyidagi konstantalar orqali
beriladi: fsBold (qoraroq), fsltalic (qiya), fsUnderline
(tagiga chizilgan), fsStrikeOut (ustiga chizilgan).
Font
Color
Bu xossa bir necha uslublarni kombinasiyasini olishga imkon
beradi. Masalan:
Obyekt.Canvas.Font:=[fsBold, fsItalic]
Simvollar rangi.
Matn chiqarish sohasi muyqalam joriy rangiga buyaladi. Shuning uchun
matn chiqarishdan oldin Brush.Color xossasiga bsClear qiymatini yoki soha
rangiga mos qiymatni berish lozim.
TextOut uslubi orqali matn ekranga chiqarilgandan so’ng qalam matn
chiqarish sohasining yuqori o’ng burchagiga keltiriladi.
Grafik primitivlarni chizish usullari
To’g’ri chiziq LinyeTo usuli orqali amalga oshiriladi:
Komponent.Canvas.LineTo(x,u),
LinyeTo usuli qalam joriy pozisiyasidan berilgan koordinatali nuqtagacha to’g’ri
chiziq chizadi. Boshlangich nuqtani kerakli nuqtaga ko’chirish uchun MoveTo
usulidan foydalanish mumkin.
Aylana yoki ellips chizish uchun Ellipse usuli chaqiriladi. Usulni chaqirish
instruksiyasi umumiy ko’rinishi:
Obyekt.Canvas.Ellipse(x1,y1, x2,u2).
Bu yerda x1, y1, x2, u2 – ellipsni o’z ichiga olgan minimal turtburchak
koordinatalari. Agar turtburchak kvadrat bo’lsa aylana chiziladi.
35
Yoyni chizish uchun Arc usuli qo’llaniladi va u quyidagi umumiy
ko’rinishga ega:
Obyekt.Canvas.Arc(x1,y1,x2,y2,x3,u3,x4,u4)
Bu yerda:
x1, y1, x2, u2 - yoyga tegishli bo’lgan ellips yoki aylana parametrlari;
x3, u3 - yoy boshlang’ich nuktasi parametrlari;
x4, u4 - so’ngi nuqtasi parametrlari.
Yoy soat miliga teskari tartibda chiziladi.
To’rtburchak Rectangle usuli bilan chizilib, bu usulni chaqirish
instruksiyasi umumiy ko’rinishi quyidagicha:
Obyekt.Canvas.Rectangle(x1, y1,x2, y2)
Bu yerda x1, y1 va x2, u2 — chapgi yuqori va o’nggi pastgi burchaklar
koordinatalari.
RoundRec usuli burchaklari yumaloq to’rtburchak chizishga imkon beradi.
RoundRec usulini chakirish instruksiyasi kuyidagi kurinishga ega:
Obyekt.Canvas.RoundRec(x1,y1,x2, u2, x3, u3)
Bu yerda:
x1, y1, x2, u2 – turtburchak parametrlari;
x3 i u3 — chorak kismi yumalok burchak chizish uchun ishlatildadigan ellips
kattaligi.
Ellips yoki aylana sektori Pie usuli bilan chizilib, chaqirish instruksiyasi
quyidagi umumiy ko’rinishga ega:
Obyekt.Canvas.Pie(x1,y1,x2,y2,x3,u3,x4,u4)
Bu yerda:
x1, y1, x2, u2 - ellips yoki aylana parametrlari;
x3, u3, x4, u4 - sektor chegarasini tashkil qiluvchi to’g’ri chiziqlar oxirgi nuktalari
koordinatalari.
Nuqta. Canvas obyektining Pixels xossasi tipidagi ikki o’lchovli
massiv bo’lib har bir soha nuqtasining rangi haqidagi ma’lumotni o’z ichiga oladi.
36
Pixels xossasidan foydalanib ixtiyoriy nuqta rangini o’zgartirish, ya’ni nuqta
chizish mumkin. Misol uchun
Form1.Canvas.Pixels[10,10]:=clRed
Instruksiyasi soha nuqtasini qizil ranga bo’yaydi.
Grafik komponentalar
Image komponentasi formaga rasmlarni joylashtirish uchun ishlatiladi.
Joylashtirilishi lozim bo’lgan rasmlar bitli fayllar (kengaytmalari- .bmp),
piktogrammali (kengaytmalari-.ico), metafayllar (kengaytmalari- .wmf)
bo’lishi kerak.
Image komponentasi Additional palitrasida joylashgan bo’lib, u
ko’rinishdagi piktogrammaga ega. Bu tugmachani bosib formadan rasm uchun joy
ajratiladi va keyin esa xossalar bo’limidan Picture xossasi tanlanib, u yerdan
uch nuqtali tugmacha bosiladi. Natijada ekranda rasmni aniqlash va joylash uchun
muloqat darchasi ochiladi. Muloqat darchasi quyidagi tugmachalarga ega:
Load -fayldan rasmni chaqirish;
Save -rasmni faylga saqlash;
Clear -tanlangan rasmni olib tashlash;
Ok -tanlangan rasmni ajratilgan joyga yozish;
Cancel -qilingan o’zgartirishlarni bekor qilish.
Shape komponentasi formaga aylana, to’rtburchak, ellips va boshqa
shakllarni joylashtirish uchun ishlatiladi. Uning quyidagi xossalari mavjud:
Brush -shaklni bo’yash uchun cho’tkacha;
Pen -shakl chetini chizish uchun qalam;
Shape -ekranga chiqadigan shaklni aniqlaydi:
StRectangle -to’rtburchak;
StSquare -kvadrat;
StRoundRect -chetlari aylana to’rtburchak;
StRoundSquare -chetlari aylana kvadrat;
StEllipse -ellips;
37
StCircle -aylana.
Shape komponentasi ham Additional palitrasida joylashgan bo’lib, u
ko’rinishdagi piktogrammaga ega. Bu tugmachani bosib formadan shakl uchun
joy ajratiladi va keyin esa xossalar bo’limidan Shape xossasiga kirilib kerakli shakl
tanlanadi.
PaintBox komponentaci formaga chegaralangan maydonda shakllarni
chizish imkonini beradi.
PaintBox komponentasi System palitrasida joylashgan bo’lib, u
ko’rinishdagi piktogrammaga ega. Bu tugmachani bosib formadan shakl uchun joy
ajratiladi va keyin esa xossalar bo’limidan Shape xossasiga kirilib kerakli shakl
tanlanadi.
Nazorat savollari
1. Soha o’lchovlari qaysi xossalar yordamida aniqlanadi?
2. Matn shrifti qaysi xossalar orqali aniqlanadi?
3. Grafik obyekt yuzasiga matn chiqarish uchun qaysi usul qo’llaniladi va
bu usulni chaqirish instruksiyasi ko’rinishini keltiring.
4. To’g’ri chiziq qaysi usul orqali amalga oshiriladi va bu usulni chaqirish
instruksiyasi ko’rinishini keltiring.
5. Aylana yoki ellips chizish uchun qaysi usul chaqiriladi va bu usulni
chaqirish instruksiyasi ko’rinishini keltiring.
6. Yoyni chizish uchun qaysi usul qo’llaniladi va u qanday umumiy
ko’rinishga ega.
7. To’rtburchak chizish uchun qaysi usul qo’llaniladi va u qanday umumiy
ko’rinishga ega.
8. Ko’pburchak chizish uchun qaysi usul qo’llaniladi va u qanday umumiy
ko’rinishga ega.
9. Ellips yoki aylana sektorini chizish uchun qaysi usul qo’llaniladi va u
qanday umumiy ko’rinishga ega.
38
10. Image komponentasi formaga nimani joylashtirishda qo’llaniladi?
11. Shape komponentasi formaga nimalarni joylashtirishda qo’llaniladi?
39
4- Mavzu. Delphining multimedia imkoniyatlari
Reja:
1. Animate komponentasi va uning xossalari 2. MediaPlayer komponentasi va uning xossalari
Tushunchalar va tayanch iboralar: Animate, MediaPlayer
komponentalar, AVI-fayli, MediaPlayer komponentasi tugmalari
Delphi da multimediyali dasturlar yaratish uchun ikki komponentadan
foydalanish mumkin:
Animate -oddiy animasiya yaratish uchun (masalan fayllardan nusxa
olishda foydalanuvchi ko’radigan animasiya);
MediaPlayer -murakkab vazifalarni bajarish uchun, videoroliklarni
ko’rish, tovushli animasiya.
Animate komponentasi belgisi, Win32 qatorda joylashgan bo’lib, kadrlari
AVI-faylda joylashgan sodda animasiya ko’rishga imkon beradi.
AVI -fayldagi animasiya tovushli bo’lishi mumkin bo’lsa ham Animate
komponentasi faqat tasvirni aks ettirishga imkon beradi.
Animate komponentasi formaga oddiy usulda qo’shiladi. Komponenta
formaga qo’shilgandan so’ng uning xossalarini o’rnatish lozim. Animate
xossalari 1-jadvalda keltirilgan:
1-jadval
Animate komponentasi xossalari
Xossa Ta’rifi
Name Komponenta nomi.
FileName Animasiya joylashgan AVI-fayl nomi
StartFrame Animasiyani birinchi kadri nomeri
stopFrame Animasiya oxirgi kadri nomeri
Activate Animasiyani aks ettirish jarayenini aktivlashtirish belgisi
Color Komponenta foni rangi
40
Transparent Animasiya aks ettirishda shaffof rangdan foydalanish rejimi
Repetitions Animasiyani qaytarish soni
Agar FileName xossasiga tovushli fayl nomi yozilsa, Delphi faylni ochish
mumkin emasligi haqida ma’lumot chiqaradi (Cannot open AVI). AVI-faylda
animasiya va tovush yoki faqat animasiya yozilganligini aniqlash uchun
Windowsda kerakli papkani ochib, AVI-faylni belgilash va kontekstli menyudan
Svoystva komandasini tanlash lozim. Natijada Svoystva, oynasi ochilib, Svodka
qatorida fayl haqida to’liq ma’lumot beriladi (1-r.).
Animate komponentasi dasturchiga Windows standart animasiyasidan
foydalanishga imkon beradi. Animasiya turi SommonAVI xossasi qiymati bilan
belgilanadi. Xossa qiymati nomlangan konstantalar orqali beriladi. Quyidagi 2-
jadvalda konstantalar qiymatlari, animasiya turi, jarayon ta’rifi berilgan.
2-jadval
comonAVI xossasi qiymatlari
Qiymat Animasiya Jarayon
aviCopyFiles
Fayldan nusxa olish
AviDeleteFile
Faylni o’chirish
aviRecycleFile
Fayli korzinaga o’chirish
41
1-rasm. Svodka bo’limida AVI -fayl haqida ma’lumot aks etadi.
MediaPlayer komponentasi belgisi System qatorida joylashgan bo’lib,
videoroliklar, tovush va tovushli animasiya qurishga imkon beradi.Formaga
MediaPlayer komponentasi joylashtirilganda tugmalar guruhi paydo bo’ladi(2-
r.). Bu tugmalar vazifalari 3-jadvalda berilgan. MediaPlayer xossalari keyingi 4-
jadvalda keltirilgan.
2-rasm. MediaPlayer komponentasi.
42
3-jadval
MediaPlayer komponentasi tugmalari.
Tugma Belgisi Vazifasi
Eshittirish btPlay Ovoz yoki videoni mshga tushirish
Pauza btPause Vaqtincha to’xtatish
Stop btStop To’xtatish
Keyingi btNext Keyingi kadrga o’tish
Oldingi btPrev Oldingi kadrga o’tish
Kadam btStep Keyingi ovoz fragmentiga o’tish, masalan, CD dagi keyingi qo’shiqqa o’tish
Orkaga btBack Oldingi ovoz fragmentiga o’tish, masalan, CD dagi oldingi qo’shiqqa o’tish
Yezuv btRecord Yozish
Ochish/Yepish btEject Kompyuterning CD-diskovodini ochish yoki yopish
4-jadval
xossalar Tavsifi
Name Komponentning nomi. Komponent xossalariga murojaat
qilish va pleyer ishini boshqarish uchun foydalaniladi.
DeviceType Qurilmaning tipi. MediaPiayer komponent o’zida
ifodalagan konkret qurilmani aniqlaydi. Qurilmaning tipi
nomlangan konstantalar bilan beriladi: dtAutoSelect —
qurilmaning tipi avtomatik ravishda aniqlanadi;
dtVaweAudio — ovoz chiqaradigan; dtAVivideo —
videoproigrыvatel; dtCDAudio — CD-proigrыvatel
FileName Tovush yoki videorolik joylashgan fayl nomi.
AutoOpen Dastur ishga tushgach darxol tovush yoki videorolik
joylashgan faylni avtomatik ravishda ochish belgisi
Display Videorolik ko’riladigan yuza komponetasini
aniylaydi(odatda videoni aks ettirish uchun Panel komponent
43
ishlatiladi.
VisibleButtons Murakkab xossa. Komponentada ko’rinish kerak bo’lgan
knopkalarni aniqlaydi. Ayrim knopkalarni ko’rinmaydigan
xolatga o’tkazish imkoniyatini beradi.
Tovushlarni eshittirish. Tovush fragmentlari WAV kengaytmali fayllarda
saqlanadi. Misol uchun C:\Winnt\Media katalogida Windows standart
tovushlari yozilgan fayllar joylashgan.
Videorolik va animasiyalarni ko’rish
Tovush eshittirishdan tashqari MediaPlayer komponentasi AVI-fayl
(AVI -Audio Video Interleave so’zining qisqartmasi bo’lib, tovush va
video almashuvi deb o’kiladi) sifatida berilgan videorolik va multiplikasiyani
ko’rishga imkon beradi.
Quyidagi dasturda buyruq tugmasini bosish natijasida tovushli
multiplikasiya soat mili bo’yicha aylanuvchi Delphi so’zini ko’rish mumkin
(delphi.avi fayli bu multiplikasiyani o’z ichiga olgan).
Dastur dialog oynasi rasmda, MediaPlayerl komponentasi xossalari
kiymati jadvalda berilgan.
MediaPlayerdan foydalanish dasturi formasi va dialog oynasi.
44
MediaPlayer1 komponentasi xossalari.
Xossa Qiymat
Name MediaPlayer1
FileName C:\WINDOWS\clock.avi
DeviceType dtAVIVideo
AutoOpen True
Display Panel1
Visible False
Formada Panell komponentasida animasiya aks etadi, uning nomi
MediaPlayer1 komponenta Display xossasining qiymati sifatida beriladi.
Animasiya sohasi o’lchovlari MediaPlayer komponentasi DisplayRect
xossasi qiymati sifatida beriladi. Bu qiymat dastur ishlash jarayonida
MediaPlayer1.DisplayReet:=Rect(0,0,60,60) instruksiyasini bajarish natijasida
o’rnatiladi.
Tovushli animasiya aks ettirish dastur matni. unit Unit1;
interface
uses
Windows, Messages, SysUtils,
Classes, Graphics, Controls,
Forms, Dialogs, MPlayer, StdCtrls, ExtCtrls;
45
type
TForm1 = class(TForm)
Label1: TLabel;
Panel1: TPanel;
Button1: TButton;
MediaPlayer1: TMediaPlayer;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations ) public
{ Public declarations } end;
var
Form1: TForm1 ;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
MediaPlayer1.Play;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
MediaPlayer1.DisplayRect:=Rect(0,0,60,60);
end;
end.
Nazorat savollari
1. Animate komponentasi vazifasi va uning xossalarini sanab o’ting.
2. MediaPlayer komponentasi vazifasi va uning xossalarini sanab o’ting.
46
5-Mavzu. DELPHI vizual dasturlash vositasida
ma’lumotlar bazasini yaratish texnologiyalari
Reja.
1. MBni boshqaradigan ilovalar tuzish uchun Delphi vositalari
2. BDE administrator utilitasi bilan ishlash
3. MB jadvalini tuzish
Tushunchalar va tayanch iboralar: Borland Datebase Engine, DBE
administrator, Database Desktop, SQL –so’rovlar, QBE so’rovlar, SQL Explorer,
SQL LINKSSQL manitor, Visual Query Builder, Data Dictionary, DDaattaa AAcccceessss,,
DDaattaa CCoonnttrroollss,, ddbbEExxpprreessss,, BBDDEE,, AADDOO,, DDeecciissiioonn CCoobbee,, QQRReeppoorrtt vvaa IInntteerrBBaassee
ssaahhiiffaallaarrii,, MBni psevdonimi
MB bilan ishlashga mo’ljallangan Delphi vositalari ikki turga ajratish
mumkin:
- instrumental vositalar;
- komponentlar.
Instrumental vositalar tarkibiga MB xizmat ko’rsatishni ta’minlovchi
maxsus dasturlar va paketlar kiradi.
Komponentlar MB bilan operasiyalarni amalga oshiruvchi ilovalarni yaratish
uchun mo’ljallangvn.
Instumental vositalar. Delphi tizimi MB bilan ishlash uchun quyidagi
instrumental vositalar majmuasini taklif etadi.
– Borland Datebase Engine (BDE) - ma’lumotlar ba’zasi
prosesseri, u Delphi-ilovalaridan MB ga murojaat qilishni tashkil qilib beradigan
dinamik kutubxonalar va drayverlar majmuasidan iborat. BDE ma’lumotlarga
murojaat qilishni tashkillashtirishda markaziy bo’g’in hisoblanadi.
– DBE administrator - BDE turli parametrlarini sozlash uchun utilita.
– Database Desktop - jadvallar, SQL –so’rovlar va QBE so’rovlarini
yaratish va tahrirlash dasturi.
47
– SQL Explorer - MB psevdonimi, konfigurasiyasi va strukturasini
ko’rish, hamda MB jadvaliga so’rov berish utilitalarini o’z ichiga oladi.
– SQL LINKS - boshqa MBBT bilan (Masalan, SysBase, Oracl, MsSQL
Server) ishlash uchun drayverlar. Delphi tizimi Paradox va Dbase MBBT lari
uchun SQLni ishlatmaydi, BDE yordamda bajaradi.
– SQL manitor - so’rovlarini bajarish vositasi.
– Visual Query Builder - Delphi tarkibiga kiruvchi vosita bo’lib,
SQL –so’rovlarini avtomatlashtirishni tashkil etadi.
– Data Dictionary - ma’lumotlar lug’ati. MB jadvali maydonlari
atributini saqlaydigan vosita.
Ilovalarning o’zaro bog’lanishining umumiy modeli quyidagi sxema orqali
berish mumkin:
Komponentalar. MB ilovalarini yaratish uchun foydalaniladigan
komponentlarni qaraymiz. Delphi boshqa boshqaruv komponentlari kabi MB bilan
bog’liq komponentlar ham vizual va vizual bo’lmagan komponentalarga bo’linadi.
МБда ишлаш учун илова
Локал МБ
BDE Administranor
SQL Links
Бошқа МББТ
(Oracle, SyBase, MsSQL Server,Interbase)
BDE
Database Desktop
48
Vizual bo’lmagan komponentalar jadvallar tarkibidagi ma’lumotlarga
murojaatni tashkillashtirish uchun mo’ljallangan. Ular MB jadvallari ma’lumotlari
va vizual komponentalar orasida oraliq bo’g’ini hisoblanadi.
Vizual komponentalar ilovaning interfeys qismini yaratishda ishlatiladi.
Ularning yordami foydalanuvchi MB jadvallari ma’lumotlarini ko’rish yoki
tahrirlash kabi amallarni basharishi mumkin.
MB bilan ishlashda qo’llaniladigan komponentlar Delphi tizimi
Komponentlar palitarasining DDaattaa AAcccceessss,, DDaattaa CCoonnttrroollss,,
ddbbEExxpprreessss,, BBDDEE,, AADDOO,, DDeecciissiioonn CCoobbee,, QQRReeppoorrtt vvaa
IInntteerrBBaassee ssaahhiiffaallaarriiddaa joylashgan.
Data Access sahifasida ma’lumotlarga murojaatni tashkillashtirishga
mo’ljallangan vizual bo’lmagan komponentlar joylashgan.
DDaattaa CCoonnttrroollss sahifasida ma’lumotlarni boshqarishda qo’llaniladigan
vizual komponentlar o’rin olgan.
Biz dbExpress sahifasida SQL bilan ishlashga mo’ljallangan
komponentlarni ko’ramiz.
BBDDEE sahifasi BDE foydalanib ma’lumotlarni boshqarish komponentlaridan
tuzilgan.
ADO sahifasida ADO (Active Date Objects) foydalangan holda ma’lumotlarni
boshqarishga mo’ljallagan komponentlar joylashgan.
DDeecciissiioonn CCoobbee sahifasi qaror qabul tizimlarni qurish uchun
mo’ljallangan komponentlardan tuzilgan.
QQRReeppoorrtt sahifa hisobotlar tuzish uchun ishlatiladigan (asosan vizual)
komponentalardan tuzilgan.
MB tayyor ilovasi bilan ishlash uchun vositalarning umumiy tarkibi
quyidagi sxemada keltirilgan.
49
BDE administrator utilitasi bilan ishlash
Delphida ilova yordamida MBdan foydalanish uchun
Ilova=> BDE=> MB
ketma-ketligi bajariladi. Bu shuni bildiradiki, har qanday MBga ilovadan murojaat
qilinganda uning aniq adresi BDEga uzatiladi. BDE o’zining maxsus funksiyalarini
MB bilan bog’lanishda ishlatadi. BDE aniq bir MB bilan ishlaganda quyidagilarni
bilishi kerak.
-MB qaysi joyda joylashganligini;
-MB parametrlari haqidagi ma’lumotni.
MB parametrlari va uning joylashishi MB psevdonimida aniqlanadi.
Psevdonim - MB ga berilgan biror nom bo’lib MBga mantiqiy murojaat qilinganda
ishlatiladi.
MB psevdonimi BDE adminisrator utilitasi yordamida aniqlanadi.
MBning har bir jadvali uchun fayl tuziladi. Xuddi shunday jadval indekslari
va memo maydonlari uchun maxsus fayllar tuziladi. MBga dastur va utilitalardan
murojaat qilinish MBning psevdonimidan amalga oshiriladi. Psevdonim BDE
administrator utilitasi yordamida aniqlanadi. Psevdonim - biror bir nom bo’lib
МБ
BDE
МБда ишлаш учун визуал б´лмаган компоненталар
МБда ишлаш учун визуал б´лган компоненталар
Илова
50
MBga Delphi komponenti ilovalari (masalan Ttable va Tquery) tamonidan
mantiqiy murojaat qilishda ishlatiladi.
MBni psevdonimini tuzishni qaraymiz. Uning algoritmi quyidacha:
1.BDE administrator utilitasi ishga tushiriladi.
2.Menyudan Object=>New buyrug’i beriladi.
3.Darchadan Standart turi o’zgartirilmasdan Ok tugmasi bosiladi.
4.Chap oynadan Standart1 nomi yangi psevdonim nomiga o’zgartiriladi.
5.O’ng oynada Path qatoriga o’tilib, uch nuqtali tugmacha va keyin Ok
bosiladi.
6.Menyudan Object=>Apply=>Ok buyrug’i beriladi.
7.BDE administratordan chiqiladi.
MB jadvalini tuzish
MB jadvalini tuzish uchun DataBase Desktop (DBD) utilitasini ishga
tushirish zarur. Utilitani ishga tushirgandan keyin ishchi psevdonimi o’rnatiladi.
51
Ishchi psevdonimni o’rnatish uchun bosh menyudan File=>Working Directory
buyrug’ini berib, keyin ro’yxatga kiruvchi “Aliases” tanlanib psevdonim nomi
ko’rsatiladi va Ok tugmasi bosiladi.
MB jadvalini tuzish uchun asosiy menyudan File=>New=>Table buyrug’i
bajariladi. Paydo bo’lgan Create Table oynada MB turini aniqlab, (masalan
Paradox 7 yoki DBase Windows) Ok tugmasi bosiladi. Yangi paydo bo’lgan
oynada MB jadvali strukturasi aniqlanadi.
Ma’lumotlar bazasini yaratish uchun avvalambor uning modelini, ya’ni
uning strukturasini ishlab chiqarish zarur. Buning uchun MBda maydon
tushunchasi kiritilgan bo’lib uning strukturasini aniqlaydi. Maydonni aniqlash
quyidagi elementlardan tashkil topadi.
maydon nomi (Fields Name).
maydon turi (Type).
maydon o’lchami (Size).
maydon kaliti (Key).
MB ning turli fayllari orasidagi munosabat bir xil nomli maydonlar orqali
o’rnatiladi. Har bir MB DBF kengaytirilgan nom bilan kompyuter xotirasida
saqlanadi.
MBning jadvalini yaratish algortmi quyidagi ketma-ketlikda bajariladi:
1.DataBase DeskTop utilitasi ishga tushiriladi. Buning uchun quyidagi
buyruqlar ketma-ket bajariladi.
Pusk=>Programmы=>Borland Delphi=>DataBase DeskTop
2. DataBase DeskTop oynasining bosh menyusidan quyidagi buyruq
bajariladi. File=>Working Directory
3.Hosil bo’lgan Set Working Directory muloqot darchaining Aliases idan
MB psevdonimi aniqlanadi.
52
4.Menyudan File=>New=>Table buyrug’i bajariladi.
5.Hosil bo’lgan Create Table muloqot darchasitdan MB turi aniqlanadi
(masalan, Paradox yoki Dbase Windows). Bu darchada MBning bir qancha
turlari mavjud.
6.MB strukturasi tashkil qilinadi.
53
7.Save As buyrug’i berili, jadval nomi kiritiladi va Ok tugmasi bosilib
saqlanadi.
8.Agar MBga ma’lumotlar kiritish kerak bo’lsa menyudan File=>Open
buyrug’i berilib, keyin fayl tanlanadi va ma’lumotlar kiritiladi.
Nazorat savollari
1. MB bilan ishlashga mo’ljallangan Delphi instrumental vositalar.
2. MB bilan ishlashga mo’ljallangan Delphi komponentlari.
3. BDE administrator utilitasi bilan ishlash.
4. MBni psevdonimini tuzish
5. MBning jadvalini yaratish algortmi.
54
6-Mavzu. MB jadvali uchun dastur ilovalarini tuzish
Reja:
1. MB jadvali bilan ishlash uchun ilova yaratish algortmi
2. TDBNavigator komponenti va uning vazifasi
3. Ma’lumotlarni izlash va filtrlash
4. So’rovlar hosil qilish
Tushunchalar va tayanch iboralar: Ttable, DTBGrid, TEdit, TDataSource
TDBNavigator, TDataset komponentlari, ma’lumotlarni izlash va filtrlash,
so’rovlar hosil qilish
Delphi tizimini ishga tushirib, uning komponentalar palitrasi qatoridan Data
Accessni ishga tushirib, undan vizual bo’lmagan komponentasi Ttable olinadi.
Ttable komponenti ma’lumotlarni saqlash va undan foydalanishda ishlatilib, u
ma’lumotlarni akslantirishda vizual komponentalar DTBGrid, TEdit va boshqalar
bilan birgalikda ishlatiladi.
Ttable komponentasini formaga (darchaga) joylashtirgandan keyin, Object
Inspectorida uning xossalari quyidagi ketma-ketlikda o’rnatiladi:
-Ttable komponentasi ajratiladi (belgalanadi);
-DataBase Name MB psevdonimi xossasi o’rnatiladi;
-Table Name (MB jadvali nomi) xossasi o’rnatiladi (bu yerda MB jadvali
nomi ro’yxatdan olinadi yoki kiritiladi);
-Active xossasi o’rnatiladi (“True” qiymati tanlanadi).
Bu bajarilgan buyruqlardan keyin Ttable komponentasi bilan MB jadvali
orasida aloqa to’liq o’rnatiladi. Ttable komponentasi kabi endi formaga
TDataSource komponentasini joylashtiramiz. Bu komponenta vizual va vizual
bo’lmagan komponentalar o’rtasida aloqa o’rnatish uchun xizmat qiladi. Shu
tufayli TdataSource komponentasiga ma’lumotlar manbai deyiladi. TdataSource
komponentasi uchun DataSet (ma’lumotlar to’plami nomi) xossalari o’rnatiladi
(Table1 nomi olinadi).
55
Data Controls menyu qatoridan foydalanib formaga TdbGrid
komponentasini joylashtiramiz va uning DataSuurce xossasini o’rnatamiz
(DataSource1 qiymat bilan). Bu TdbGrid komponentasi ma’lumotlar to’plami
yozuvlarini jadval ko’rinishda akslantirishda xizmat qiladi.
Ishlab chiqilgan loyixa (loyiha)ni saqlash uchun menyudan quyidagi
buyruqlar ketma-ket bajariladi. File=>Save Project As.
MB jadvali bilan ishlash uchun oddiy ilova yaratish algortmi quyidagi
ketma-ketlikda bajariladi:
1.Delphi tizimi ishga tushirilib BDE komponentalar palitrasidan Ttable
komponentasi formaga qo’yiladi.
2.Formadagi Ttable komponentasi belgilanib, DataBase Name xossasida
Mbning psevdonimi aniqlanadi.
3.TableName xossasidan MB jadvali nomi aniqlanadi.
4.Active xossasi True qiymat bilan o’rnatiladi.
5.Data Acciss komponentalar palitrasidan TdataSource komponentasi
formaga qo’yiladi.
6.TdataSet xosasi Table1 nom bilan o’rnatiladi.
7.Data Controls komponentalar palitrasidan TDbGrid komponentasi
formaga qo’yiladi.
9.DataSourse xossasi DataSourse1 nom bilan o’rnatiladi.
10.Menyudan File=>Save Project As buyrug’i berilib, oldin forma keyin
loyiha saqlanadi.
11.Loyihani ishga tushirish uchun F9 tugmasi bosiladi. Natijada quyidagi
formaga ega bo’lamiz.
TDBNavigator komponenti. MB jadvalida ma’lumotlarni surish, o’chirish,
yozuvni siljitish va taxrirlash uchun Data Controls komponentalar palitrasida
maxsus TDBNavigator komponentasi mavjud.
Bu komponentani formadagi MB jadvaliga quyidagi tartibda o’rnatish
mumkin.
1.MB jadvali formasi ekranga chaqiriladi.
56
2.Data Controls komponentalar palitrasidadan TDBNavigator
komponentasi formaga joylashtiriladi.
3.TDBNavigator komponentalar xossasidan DataSourse xossasi
DataSourse1 nom bilan o’rnatiladi.
4.Menyudan File=>Save Project As buyrug’i berilib, oldin forma keyin
loyiha saqlanadi.
5.Loyihani ishga tushirish uchun F9 tugmasi bosiladi.
Natijada jadvali ma’lumotlarni surish, o’chirish, yozuvni siljitish va
taxrirlash kabi tugmachalarga ega bo’lgan quyidagi formaga ega bo’lasiz.
Ma’lumotlarni izlash va filtrlash. TDataset kompornenti va uning
davomchilari ma’lumotlar bilan ish yuritishda maxsus usullarga ega:
maydon qiymati bo’yicha ma’lumotni izlash;
ma’lumotlarni filtrlash;
zakladka qo’yish va unga o’tish.
Ma’lumotni izlash. Ma’lum belgilangan yozuvlarni ma’lumotlar
to’plamdan izlab topish uchun ikkita usul mavjud: Locate va Lookup.
Locate - usuli biror maydonning berilgan yozuvi bo’yicha kerakli yozuvni
topish imkonini beradi. Uning umumiy ko’rinishi quyidagicha:
Function Locate(Const KeyFields: String; Const KeyValues:
Variant; Options: TLocateOptions): Boolean;
Bu yerda
KeyFields -ma’lumotlarni izlashda qatnashadigan maydonlar nomlari. Ular
bir biridan nuqta vergul bilan ajratiladi.
KeyValues -bir yoki bir necha izlanadigan maydon qiymatlari. Agar
izlanadigan qiymatlar bir necha bo’lsa massiv varianti funksiyasi qilib berish zarur.
Options -izlanadigan parametrlar to’plami. U quyidagi qiymatlarni saqlash
mumkin:
loCaseInsensitive. Registrni hisobga olmasdan izlash.
57
loPartialKey. Maydon qiymati to’liq berilmagan holda izlash. Masalan, ‘So’
boshlanadigan familiyalar izlanadigan bo’lsa. U holda ma’lumotlar to’plamidan So
bilan boshlanadigan familiyalar ‘Sobirov’ va ‘Soatov’ lar topiladi.
Agar izlanayotgan yozuv topilsa funksiya Locate -true qiymat qaytaradi.
Endi TDataSet obyekti davomchisi bo’lgan ikkinchi LookUp izlash
funksiyasini ko’rib chiqamiz. Bu funksiya ham Locate funksiyasiga juda o’xshash
bo’lib uning ko’rinishi quyidagichadir.
Function LookUp(Const KeyFields: String; Const KeyValues:
Variant; const ResultFields: String): Variant;
Bu funksiyaning Locate funksiyasidan farqi shundaki u topilgan yozuvni
joriy dab aniqlamaydi, u topilgan yozuvning berilgan maydon qiymatini qaytaradi.
Xuddi oldingi holdagi kabi uning parametrlari quyidagilarni aniqlaydi.
KeyFields -ma’lumotlarni izlashda qatnashadigan maydonlar nomlar
ro’yxarti. Ular bir biridan nuqta vergul bilan ajratiladi.
KeyValues -bir yoki bir necha izlanadigan maydon qiymatlari. Agar
izlanadigan qiymatlar bir necha bo’lsa massiv varianti funksiyasi qilib berish zarur.
Ma’lumotlarni filtrlash. Ma’lumotlarni filtrlashning ikkita asosiy usuli
mavjud:
- filtr xossasini ishlatish;
- OnFilterRecord qayta ishlovchisini tashkil qilish.
Filter xossasi MB yozuvini qanoatlantiruvchi shartni o’z ichiga oladi. Shart
solishtirish va mantiqiy operatorlarni o’z ichiga olishi mumkin.
So’rovlar hosil qilish. Zamonaviy ma’lumotlarni boshqarish tizimlari
kerakli ma’lumot-larni so’rovlar yordamida tanlab orlishga imkon beradi.
Foydalanuvchi ma’lum qoidalarga asosan so’rov hosil qiladi, tizim bo’lsa shu
so’rovga mos keluvchi yozuvlarni ajratib beradi.
Ma’lum talablarga javob beruvchi yozuvlarni ajratib olish uchun Query
komponentasidan foydalaniladi.
Query komponentasi xossalari:
Xossa Ta’rifi
58
Name SQL Active
Komponenta nomi. Datasource komponentasitomonidan so’rov natijalarini, yozuvlarni ko’rishgaimkon beruvchi komponentalar, misol uchun DBGrid Bilan bog’lash uchun ishlatiladi. SQL tilida yozilgan so’rov. Xossaga True kiymati berilganda so’rovni bajarishaktivlashadi
Umumiy holda jadvaldan yozuvlarni tanlash uchun so’rov quyidagi
ko’rinishga ega bo’ladi:
SELECT Maydonlar ruyxati FROM Jadval WHERE (Shart) ORDER BY
MaydonlarRuyxati
Bu yerda ORDER BY – yozuvlarni tartiblash parametri.
Misol uchun:
SELECT Fam, Name FROM ':Maktab:school.db' WHERE
(Class = '10a') ORDER BY Name, Fam
Bu so’rov "Maktab" ma’lumotlar bazasidan(School.db jadvalidan) 10-a
sinfi talabalari ro’yxatini hosil qiladi.
Misol uchun:
SELECT Fam, Name FROM ":Maktab:school.db" WHERE
(Fam > 'K') and (Fam < 'L') ORDER BY Name, Fam
Bu so’rov familiyasi K harfidan boshlanuvchi talabalar ro’yxatini hosil
qiladi.
So’rov SQL xossasiga forma yaratish yoki dastur bajarilishi jarayonida
yozilishi mumkin.
Forma yaratish jarayonida SQL xossasiga yozuv yozish uchun satrlar katori
muxarriridan foydalaniladi. Bu muxarrir Object Inspector oynasidagi SQL xossasi
katoridagi uch nuktali tugmani bosish natijasida ochiladi.
59
SQL xossasi satrlar ro’yxatidan iborat. Dastur bajarilish jarayonida so’rov
hosil qilish uchun Add usulidan foydalanib, SQL ro’yxatiga qatorlarni qo’shish
lozim..
Buning uchun avval joriy surovni berkitish, satrlar ruyxatini tozalash lozim:
Query1.Close; Query1.SQL.Clear;
Delphi so’rovni qayta ishlab, natijani jadval shaklida qaytarishi uchun
quyidagi usulni chaqiradi: Query1.Open.
Nazorat savollari
1. MB jadvali bilan ishlash uchun ilova yaratish algortmini keltiring.
2. TDBNavigator komponenti vazifasi va xossalari
3. Ma’lumotlarni izlash va filtrlash qanday amalga oshiriladi?
4. So’rovlar hosil qilish yo’llari.
60
Adabiyotlar 1. Abramov S. A. i dr. Zadachi po programmirovaniyu - M.: Nauka 1988 -
224 s. 2. Gofman V. E., Xomyenyenko A. D. Rabota s bazami dannыx v DELPHI
–SPB.: BXV – Sankt-Pyetyerburg, 2000.-656s. 3. Daraxvyelidzye P., Markov Ye. Delphi 4. Sryeda vizualnogo
programmirovaniya. – SPb.: BXV – Sankt Pyetyerburg, 1999. – 816s 4. Kultin N.B. Delphi 6. Programmirovaniye Objekt Pascal. – SPb: BXV –
Sankt Pyetyerburg, 2001. 5. Myeщyeryakov Ye. V., Xomyenyenko A. D. Publikasiya bazы dannыx v
Intyernyetye. – SPb.: BXV- Pyetyerburg,2001, –560c. 6. Pyetrov V.V. Informasionnыye sistyemы. – SPb.: Pityer. – 2002. – 688s 7. Faronov V.V. Delphi. Programmirovaniye na yazыkye vыsokogo
urovnya.: Uchyebnik dlya vuzov. - SPb.: Pityer, 2003. – 640s.
61
1-MAVZU FAYLLAR BILAN IShLASh. STANDART MULOQOT
OYNALARI 1.1. Ma’ruzani olib borish texnologiyasi
Talabalar soni 25-60 2 soat Mashg’ulot shakli Tematik ma’ruza Ma’ruza rejasi 1. Faylning vazifasi va turlari
2. Fayllar bilan ishlovchi funksiyalar 3. Fayl tashkil qilish. Fayllar bilan ishlash 4. Muloqot oynalarini yaratish
O’quv mashg’ulotining maqsadi Fayl va muloqot oynalari haqidagi umumiy ma’lumotlar hamda ular bilan ishlash o’rganiladi
Pedagogik vazifalar: O’quv faoliyati natijalari: Faylning vazifasi va turlari bilan tanish-tiriladi va bu boradagi bilimlar boyitiladi;
Faylning vazifasi va turlari borasidagi bilimlar bayon eta oladilar;
Fayllar bilan ishlovchi funksiyalar oid tushunchalari beriladi;
Fayllar bilan ishlovchi funksiyalar oid tushunchalarini aytib bera oladilar;
Fayl tashkil qilish. Fayllar bilan ishlash tushuntiriladi.
Fayl tashkil qilish va ular bilan turli xil amallarni bajara oladilar;
Muloqot oynalarini yaratish tushuntiriladi.
Muloqot oynalarini yaratishni bilib oladilar.
O’qitish usullari Ma’ruza, namoyish, “xabarlashib o’rganish” usuli.
O’qitish vositalari Ma’ruza matni, kompyuter slaydlari, doska, multimedia, proyektor.
O’qitish shakllari Frontal, kollektiv ish. O’qitish sharoiti Kompyuter bilan ta’minlangan auditoriya. Monitoring va baholash Kuzatish,og’zaki baholash, savol- javob.
1.2. mashg’ulotining texnologik xaritasi
Ish bosqich.lari
O’qituvchi faoliyatining mazmuni Tinglovchi –talaba faoliyatining
mazmuni 1-bosqich. Mavzuga
kirish
(10 daqiqa)
1.1. Mavzu nomini, maqsad va vazifalarini aytadi. 1.2. Ma’ruzani olib borish formasi va baholash mezonlarini aytadi. (1-Ilova) 1.3. Shu mavzu bo’yicha ma’ruza matnini har bir talabaga tarqatadi.
Mavzu nomini yozib oladi.
Tinglaydi.
Ma’ruza matnini o’qiydi.
62
1.4. Mavzu bo’yicha reja va tayanch iboralarni izohlaydi.
Eshitadi.
2-bosqich.
Asosiy bo’lim
(60 daqiqa)
2.1. Savollarga o’ylanib javob berishni suraydi: ( “xabarlashib o’rganish” 2-Ilova) 2.2. Talabalar 4-5 guruhga ajratiladi. Har bir guruhdan ekspertlarni aniqlashni so’raydi. Ekspertlar bittadan savol bo’yicha guruh a’zolarni tanishtirishi kerak. 2.3. Ekspertlar varag’ini tarqatadi va guruhda ishlashni tashkil etadi. (3- Ilova) 2.4. Ekspertlar prezentasiya qilish kerakligini ma’lum qiladi. Maslahatchi o’rnida sharhlaydi, aniqlik kiritadi. 2.5. Prezentasiyani yakunlab, har bir guruhga har bir savol uchun xulosalar qiladi.
Savollarga javob beradi. Talabalar 4-5 guruhga ajraladi. Guruhda ishlaydi, savollarga javob izlaydi, ma’lumotni taqdim etish uchun grafik organayzerlar tuzadi. Guruh liderlari qo’yilgan masalani javobini aytadi
3 – bosqich.
Yakunlovchi
(10 daqiqa)
3.1. Mavzuni yakunlaydi. 3.2. Guruhlarga bir-birlarining baholarini e’lon qilishni so’raydi. Natijalarni izohlaydi. 3.3. Mustaqil ishlash uchun savollar beradi. 3.4. Keyingi mazvu bo’yicha tayyorlanib kelish uchun savollar beradi(5-ilova)
Savollar beradi. Baholarni e’lon qiladi Savollarni yozib oladi
1(1)-Ilova Fayllar bilan ishlash. Standart muloqot oynalari haqida umumiy ma’lumotlarga va
unga oid asosiy tushunchalar mavzusi bo’yicha talabalar olishi mumkin bo’lgan baholar mezoni
Reyting bo’yicha ma’ruza mashg’uloti: 0.9-1.0 ball – “a’lo” 0.6-0.8 ball – “yaxshi” 0.3-0.5 ball – “qoniqarli” 0-0.2 ball – “qoniqarsiz”
63
2(1)-ilova Xabarlashib o’rganish usuli qoidasi
Savollarga o’ylanib javob berishni suraydi. Talabalar 4-5 guruhga ajratiladi. Har bir guruhdan ekspertlarni aniqlashni so’raydi. Ekspertlar bittadan savol bo’yicha guruh a’zolarni tanishtirishi kerak. Ekspertlar varag’ini tarqatadi va guruhda ishlashni tashkil etadi. Ekspertlar prezentasiya qilish kerakligini ma’lum qiladi. Maslahatchi o’rnida sharhlaydi, aniqlik kiritadi. Prezentasiyani yakunlab, har bir guruhga har bir savol uchun xulosalar
qiladi.
3(1)-ilova Ekspert guruh ishini baholash mezoni
Mezon Guruh natijasining bahosi 1 2 3 4
Ma’lumot to’liq 0.5 Illyustrasiyalash (ma’lumotlarni
grafik ko’rinishi) 0.3
Guruh faolligi (to’ldirish, savollar, javoblar)
0.2
Eng yuqori ballar yig’indisi 1.0
4(1) –ilova №1 ekspert varag’i 1.Faylning vazifasi va turlari 2. SaveDialog komponentasi bilan ishlash №2 ekspert varag’i 1. Fayllar bilan ishlovchi funksiyalar 2. Kiritish oynasi -standart dialog oynasi №3 ekspert varag’i 1. Mantli fayllar bilan ishlash 2. Chiqarish oynasi -standart dialog oynasi №4 ekspert varag’i 1. OpenDialog komponentasi bilan ishlash 2. Fayllar bilan ishlashda standart muloqot qo’llanilish №5 ekspert varag’i 1. Tiplashgan fayllar bilan ishlovchi funksiyalar 2. FontDialog komponentasi bilan ishlash
64
5(1)-Ilova O’z-o’zini tekshirish va baholash uchun nazorat savollari:
Fayl ko’rsatkichi deb nimaga aytiladi?
Fayllar necha xil xolatda bo’lishi mumkin?
Muloqot oynalarini yaratish qanday amalga oshiriladi?
OpenDialog, SaveDialog va FontDialog komponentalari qanday funksiyalarni
bajaradi va ularning qanday xossalarini bilasiz?
Foydalanuvchining funksiyasi va foydalanish qoidalari
Prosedura qism dasturi va uning strukturasi
Ma’ruzaning mazmuni bo’yicha ko’rgazmali slaydlar
1.Mavzu. Fayllar bilan ishlash. Standart muloqot oynalari Reja: 1. Faylning vazifasi va turlari 2. Fayllar bilan ishlovchi funksiyalar 3. Fayl tashkil qilish. Fayllar bilan ishlash 4. Muloqot oynalarini yaratish
Tushunchalar va tayanch iboralar: matnli fayl, tiplashgan fayl, tiplashmagan fayl, faylli o’zgaruvchi, standart muloqot oynasi, tugmalar.
1 slayd
Fayl – bu tashqi xotiradagi ma’lumotlarning nomlangan sohasi. Object
Pascal da ularni tashkillashtirish va elementlariga murojaat qilish uslublariga ko’ra fayllarning uch xil ko’rinishi farqlanadi: matnli, tiplashgan va tiplashmagan.
Matnli fayl – qatorlardan iborat fayl. Matnli faylga DELPHI dagi (kengaytmasi *.pas) dasturning dastlabki matn fayli misol bo’ladi. Matnli fayl bilan ishlash uchun mos faylli o’zgaruvchi tavsiflanishi zarur: Var F: TextFile;.
Tiplashgan fayllar barcha elementlari fiksirlangan va bir xil o’lchovli ega bo’lgan, bu esa ularning har biriga to’g’ridan-to’g’ri murojaat qilishni tashkillashtirish imkonini beradi (elementga murojaat uning tartib nomeri orqali amalga oshiriladi). Odatda, bunday fayllarning elementlari yozuv bo’ladi. Faylli o’zgaruvchi tavsiflanishida uning tipi ko’rsatiladi: Var F: TextFile;.
Tiplashmagan fayl – bu ma’lumotlari ma’lum tipga ega bo’lmagan va baytlar ketma-ketli sifatida qaraladigan fayl. Faylli o’zgaruvchi e’lon qilinadi: Var F: File;.
2 slayd
65
Fayllar bilan ishlovchi qism dasturlar: AssignFile(var F; FileName: string) – F faylli o’zgaruvchi
va FileName nomli faylni bog’lash. Reset(var F[: File; RecSize: word]) – mavjud faylni ochadi.
Tiplashmagan faylni ochishda RecSize fayl elementining o’lchovi beriladi. Rewrite(var F[: File; RecSize: word]) – yangi fayl yaratiladi va ochiladi. Append(var F: TextFile) – fayl oxiriga matn yozish uchun matnli fayl ochiladi. Read(F,v1[,v2,…vn]) – tiplashgan fayldan joriy ko’rsatgichdan boshlab qiymatlarni va matnli fayldan satrni o’qish. Write(F,v1[,v2,…vn]) – tiplashgan fayldan joriy ko’rsatgichdan boshlab qiymatlarni va matnli fayldan satrni yozish. CloseFile(F) – oldin ochilgan fayl yopiladi. Rename(var F; NewName: string) – ixtiyoriy tipdagi ochilmagan faylni qayta nomlaydi. Erase(var F) – ixtiyoriy tipdagi ochilmagan faylni o’chiradi. Seek(var F; NumRec: Longint) – matnli bo’lmagan fayllar uchun NumRec nomerli elementga ko’rsatgichni o’rnatadi. SetTextBuf(var F: TextFile; var Buf[;Size: word]) –matnli fayl uchun Size hajmdagi kiritish-chiqarish yangi buferini aniqlaydi. Flush(var F: TextFile) – kiritish-chiqarish buferi qiymatini faylga yozish. Truncate(var F) – joriy pozisiyadan boshlab faylning oxirigi elementigacha o’chiradi. LoResult: integer - oxirgi kiritish-chiqarish amalining natijasining kodi. FilePos(var F):longint – matnli bo’lmagan fayllar uchun joriy pozisiya nomeri aniqlaydi. Hisoblash noldan boshlanadi. FileSize(var F):longint – matnli bo’lmagan fayllar uchun fayldagi elementlar sonini aniqlaydi. Eoln(var F: TextFile): boolean – kursor satr oxiriga o’rnatilsa True qiymat beradi. Eof(var F)): boolean - kursor fayl oxiriga o’rnatilsa True qiymat beradi.
3 slayd
SeekEoln(var F: TextFile): boolean – probel yoki tabulyasiya belgisidan farqli satr yoki fayldagi oxirgi simvolga kelganda True qiymatga ega
66
bo’ladi (matnli fayllar uchun). SeekEof(var F: TextFile): boolean – SeekEoln kabi ish bajaradi va barcha fayllar ishlatiladi. BlockRead(var F: File; var Buf; Count: word[; Result: word]) , BlockWrite(var F: File; var Buf; Count: word[; Result: word]) - Count miqdordagi bloklarning Buf o’zgaruvchini mos o’qish va yozish prosedurasi.
Fayl - axborotlarning nomlangan strukturasi bo’lib, axborotning barcha elementlari bir tipga tegishli bo’ladi. Undagi elementlar miqdori amaliy jixatdan chegaralanmagan. Odatda fayl ham o’zgaruvchilarni e’lon bo’limida e’lon qilinishi kerak. Faylni e’lon qilishda fayl elementlarining tipi ko’rsatiladi.
E’lon umumiy ko’rinishda quyidagicha yoziladi: Var faylli o’zgaruvchi: file of tip;
Masalan: Var f : file of integer; g : file of string[20];
Bu yerda faqat butun sonlar uchun mo’ljallangan f hamda har bir elementi 20 tagacha belgidan iborat bo’lgan matnli ma’lumotlarning g – faylli o’zgaruvchilari e’lon qilinmoqda.
4 slayd
Kiritish oynasi -standart dialog oynasi bo’lib InputBox funksiyasini chaqirish natijasida ekranga chiqariladi. InputBox funksiyasi qiymati - foydalanuvchi kiritgan qatordir. Umumiy holda InputBox funksiyasini chaqirish quyidagi ko’rinishga ega: O’zgaruvchi := InputBox(Sarlavha, Izoh, Qiymat);
Rasmda dialog oynasining ko’rinishi keltirilgan. Bu kiritish oynasi dasturda quyidagi instruksiya orqali chiqarilishi mumkin:
s:=InputBox('Kilogramm-gramm','Og’irlikni kilogrammda kiriting','0');
5 slayd
67
1-mavzu bo’yicha xulosalar
Odatda fayllar bajaradigan funksiyalariga ko’ra bajariladigan va
bajarilmaydigan turlarga bo’linadi. Kengaytmasi .exe, .com, .bat kabi fayllar bajariladigan fayllar hisoblanadi. Bajarilmaydigan fayllarning kengaytmasi esa boshqacha bo’ladi. Ular bajariladigan fayllarning ishini to’liq bo’lishini ta’minlaydi yoki ular yordamida yaratiladi. Biz ushbu mavzu yordamida bajarilmaydigan fayllar guruhiga kiruvchi alohida fayllarni o’qitish uslubiyotini bayon qilamiz
Bu fayllar ma’lumotlar omboridan iborat bo’lib, ularni massiv tushunchasining mantiqiy davomi deb qarash mumkin. Chunki bu fayllar o’zida elementlarining soni oldindan noma’lum yoki cheksiz bo’lgan massivlarni saqlaydi. Bunday fayllar bilan ishlashni bilish dasturchilar uchun alohida ahamiyat kasb etadi va keyingi faoliyatlarida juda kuchli vositaga bo’lib xizmat qiladi.
Dasturlarda muloqot oynalaridan foydalanish foydalanuvchi uchun qulay bo’lgan interfeys yaratishga xizmat qiladi.
6 slayd
Mustaqil ishlash uchun tavsiya qilinadigan topshiriqlar 1. Yozuvlarni faylga yozish va fayldan o’qish 2. OpenDialog, SaveDialog va FontDialog komponentalarini ishlatgan holda
oddiy matn muharriri yaratilsin 3. Delphida bosh menyu tashkil qilish qanday amalga oshiriladi? 4. Delphida bir necha formada ish yuritish qanday tashkil qilinadi 5. RadioGroup guruhli tanlash tugmalariga tushintirish bering. 6. CheckListBox komponentasi nima vazifa bajaradi? 7. CheckListBox ning asosiy xossalarini aytib bering. 8. ListBox va ComboBox komponentalari vazifasini tushuntiring. 9. StringGrid komponentasi vazifasi va asosiy xossalarini tushuntiring
7 slayd
68
2-MAVZU QISMIY DASTURLAR VA MODULLAR BILAN IShLASh
2.1.Ma’ruzani olib borish texnologiyasi Talabalar soni 25-60 2-Ma’ruza, 2 soat Mashg’ulot shakli Mavzu bo’yicha ma’ruza Ma’ruza rejasi 1. Prosedura va uning tuzilishi
2. Funksiyalar va va ular bilan ishlash 3. Rekursiya funksiyalar va ulardan foydalanish 4. Foydalanuvchi modullari va ular bilan ishlash
O’quv mashg’ulotining maqsadi Delphi muhitida qismiy dasturlar va modullar bilan ishlashni o’rganish;
Pedagogik vazifalar: O’quv faoliyati natijalari: Delphida prosedura va uning
tuzilishi haqida umumiy tushunchalar beriladi;
Delphida prosedura va uning tuzilishi haqida umumiy tushunchalar biladi;
Funksiyalar va va ular bilan ishlash tushuntiriladi;
Funksiyalar va va ular bilan ishlashni bilib oladi;
Rekursiya funksiyalar va ulardan foydalanish tushuntiriladi;
Rekursiya funksiyalar tuzish yo’llari va ulardan foydalanishni o’zlashtirib oladi;
Foydalanuvchi modullari va ular bilan ishlashga oid tushunchalar beriladi.
Foydalanuvchi modullari va ular bilan ishlashga oid tushunchalar bilib oladi.
O’qitish usullari Ma’ruza, namoyish, blis - so’rov, bumerang usuli.
O’qitish vositalari Ma’ruza matni, kompyuter slaydlari, doska, multimedia, proyektor.
O’qitish shakllari Frontal, kollektiv ish. O’qitish sharoiti Kompyuter bilan ta’minlangan auditoriya. Monitoring va baholash Kuzatish,og’zaki baholash, savol- javob.
2.2.Ma’ruza mashg’ulotining texnologik kartasi Ish bosqichlari O’qituvchi faoliyatining mazmuni Tinglovchi faoliyatining
mazmuni 1-bosqich.
1.1. O’quv mashg’uloti mavzusi, maqsadi va o’quv faoliyati natijalarini aytadi. Baholash mezonlarini aytadi.
Mavzu nomini yozib oladi
69
Mavzuga kirish
(10 daqiqa)
1.2. Blis- so’rov usulida mavzu bo’yicha ma’lum bo’lgan tushunchalarni so’rab talabalarni faollashtiradi. Blis- so’rov natijasiga ko’ra tinglovchilarning nimalarda adashishlari, xato qilishlari mumkinligini amalga oshiradi. (1-Ilova)
2-bosqich.
Asosiy bo’lim
(60 daqiqa)
2.1. Guruhlarga ajratadi. 2.2. Rejadagi savollarni har bir guruhga alohida tarqatadi. (Bumerang usuli 2-Ilova). Har bir guruh a’zolariini 1,2,3 raqamli kartochkalar yordamida yangi guruhlarga ajratadi. 2.3.Yangi guruh a’zolari o’z mavzularini bir-biriga gapirib berishini so’raydi.(10-15 daqiqa)yangi guruh a’zolari rejadagi barcha savollar bilan tanishib olishini ta’minlaydi. 2.4. Har bir guruhdan bitta talabaga baholash varag’ini beradi va shu talaba jadvalni talabalar faolligiga qarab to’ldirib boradi.(4-Ilova) 2.5. Yangi guruh aezolari o’z guruhlariga qaytariladi va guruhlar bir –biriga mavzu bo’yicha savollar tayyorlashadi. 2.6. Baholash varag’ini yig’ib oladi.
Mavzu rejasini yozib oladi. Tinglaydi. Guruhlarga ajraladi. Mavzuni bir-biriga gapirib beradi. Baholash varag’ini oladi, to’ldiradi. Savollar beradi.
3 – bosqich.
Yakunlovchi
(10 daqiqa)
3.1. Mavzu bo’yicha yakunlovchi xulosalar qiladi. Mavzu bo’yicha olingan bilimlarni qayerda ishlatish mumkinligi ma’lum qiladi. 3.2. Mavzu maqsadiga erishishdagi tinglovchilar faoliyati tahlil qilinadi va baholanadi.
Savollar beradi. Tinglaydi. Yozadi.
70
1(2)-Ilova Blis-so’rov
Savol Javob Qismiy dastur nimani anglatadi? Qismiy dastur deb, nom bilan
ta’minlangan va alohida usul bilan tashkillashtirilgan mustaqil dastur fragmentiga aytiladi. Object Pascalda tilida qismiy dasturlar prosedura va funksiya ko’rinishda amalga oshirilgan bo’lib, foydalanish usuli va vazifasi bilan farq qiladi.
Nima uchun prosedura zarur? Prosedura – aniqlangan harakatni bajarish uchun ism bo’yicha chaqirilishi mumkin bo’lgan dasturning nomlangan mustaqil bo’lagidir. Proseduraning tuzilishi dastur tuzilishini takrorlaydi. Dastur ichida proseduraning nomini ko’rsatish bilan uni ishga tushirish bajariladi va unga murojaat deb yuritiladi.
Funksiyaning proseduradan farqi nimalarda?
Funksiya proseduraga o’xshash bo’lib, lekin ikkita farqi bor: birinchidan, funksiya chaqirgan nuqtaga skalyar (birlik) qiymatni qaytaradi, ikkinchidan, funksiyaning nomi ifoda tarkibiga operand kabi kirishi mumkin.
Foydalanuvchining modul nima? Modul – bu avtonom kompilyasiya qilinadigan dastur bo’lib, u o’z ichiga turli komponentalarni (turlarni, o’zgarmaslarni, o’zgaruvchilarni, prosedura va funksiyalarni) va bir nechta bajariladigan instruksiyalar qismlarini oladi.
71
2(2)-Ilova Baholash varag’i
Guruh bahosi O’qituvchi bahosi Savolarga to’liq javob
berish
Savollarga qo’shimcha kiritish
Savolning to’g’ri qo’yilishi
Jami
3(2)-Ilova Bumerang texnologiyasini qo’llash qoidalari
Guruhlarga ajratadi. Rejadagi savollarni har bir guruhga alohida tarqatadi. Har bir garuh a’zolarini 1,2,3 raqamli kartochkalar yordamida yangi guruhlarga ajratadi. Yangi guruh a’zolari o’z mavzularini bir-biriga gapirib berishini suraydi.(10-15 daqiqa) Yangi guruh a’zolari rejadagi barcha savollar bilan tanishib olishini ta’minlaydi. Har bir guruhdan bitta talabaga baholash varag’ini beradi va shu talaba jadvalni to’ldirib boradi. Yangi guruh aezolari o’z guruhlariga qaytariladi va guruhlar bir –biriga mavzu bo’yicha savollar tayyorlashadi. Baholash varag’ini yig’ib oladi.
4(2)-Ilova
Savollar
1-савол (1-гуруҳга) Процедура-функциянинг асосий фарқини қандай изоҳланг.
Мисоллар билан тушунтирнг.
2-савол (2-гуруҳга) Рекурсив функция ва улар билан ишлашни мисоллар билан тушунтиринг.
3-савол (3-гуруҳга) Фойдаланувчининг модул ва у билан ишлаш принципларини
мисоллар орқали тушунтиринг
72
5(2)-Ilova Mavzuni jonlantiruvchi savollar
Prosedura va funksiyalar dasturda qanday hollarda ishlatiladi? Prosedura va funksiya qanday tavsiflanadi? Funksiya proseduradan nima bilan farqlanadi? Qanday proseduralar va funksiyalarni bilasiz?
6(2)-Ilova Ma’ruzaning mazmuni bo’yicha ko’rgazmali slaydlar
2-Mavzu. Qismiy dasturlar va modullar bilan ishlash Reja: 1. Prosedura va uning tuzilishi 2. Funksiyalar va va ular bilan ishlash 3. Rekursiya funksiyalar va ulardan foydalanish 4. Foydalanuvchi modullari va ular bilan ishlash
Tushunchalar va tayanch iboralar: qismiy dastur, formal parametr,
haqiqiy parametr, inisializasiya qismi, bajaruvchi qism, interfeysli qism
1 slayd
Qismiy dastur deb, nom bilan ta’minlangan va alohida usul bilan tashkillashtirilgan mustaqil dastur fragmentiga aytiladi. Object Pascal tilida qismiy dasturlar prosedura va funksiya ko’rinishda amalga oshirilgan bo’lib, foydalanish usuli va vazifasi bilan farq qiladi. Prosedura – aniqlangan harakatni bajarish uchun ism bo’yicha chaqirilishi mumkin bo’lgan dasturning nomlangan mustaqil bo’lagidir. Proseduraning tuzilishi dastur tuzilishini takrorlaydi. Dastur ichida proseduraning nomini ko’rsatish bilan uni ishga tushirish bajariladi va unga murojaat deb yuritiladi.
Barcha proseduralar ichki (standart) va foydalanuvchili (foydalanuvchilar tomonidan aniqlangan) larga bo’linadi.
Proseduraning tavsifi sarlavha va tanadan iborat. Prosedura sarlavhasi quyidagi ko’rinishda yozuvdir:
procedure <ism> [(<ro’yxat>)]; Bu yerda <ism> - prosedura nomi, <ro’yxat> - formal parametrlar
ro’yxati (sarlavhada aniqlangan). Formal parametrlar ro’yxati bo’lmasligi ham mumkin. Agar u bor bo’lsa,
bir – biridan nuqta vergul bilan ajratilgan formal parametrlarning ismi va ularning turlaridan tashkil topadi.
2-slayd
73
Barcha funksiyalar prosedura kabi ichki (standart) va foydalanuvchili
(foydalanuvchi tomonidan aniqlangan) larga bo’linadi. Funksiyaning tavsifi sarlavha va tanadan iborat. Funksiya sarlavhasi: function <ism> [(<ro’yxat>)]:<turi>; Bu yerda <ism> - funksiya nomi, <ro’yxat> - formal parametrlar
ro’yxati (sarlavhada aniqlangan), <turi> - funksiya qaytarayotgan natija turi. Formal parametrlar ro’yxati bo’lmasligi ham mukin. Agar u bor bo’lsa, bir –
biridan nuqta vergul bilan ajratilgan formal parametrlarning ismi va ularning turlaridan tashkil topadi.
Sarlavhadagi formal parametrlar bilan birgalikda o’zgarmaslar, massivlar, turlar, satrlar va h.k. larni ham ishlatish mumkin.
3 slayd
Rekursiya – bu funksiya yoki jarayonni o’zi orqali tavsiflashdir. “Rekursiya” so’zining o’zi “qaytishi” ma’nosini bildiradi.
Qism dasturning o’zidan o’ziga qism dastur sifatida murojaati (bu tavsiflashlar bevosita jarayon ichida yoki qismiy dasturlar ketma-ketligi orqali bayon etiladi) rekursiya deb nomlanadi.
Nolga teng yoki kata butun sonning faktorialini aniqlaydigan misol klassik misol hisoblanadi:
.0),1(
,0,1!
nагарnnnагар
n
Bu yerda faktorialni aniqlash funksiyasi (n-1)! faktorialni aniqlash orqali amalga oshiriladi:
)!.1()1(...21!1
11
nninnninn
i
n
i
O’zining tavsifida yuqorida keltirilgan rekursiv formuladan foydalanilgan funksiyani qaraymiz:
function factorial(n:integer):longint; begin if n=0 then factorial:=1 else factorial:=n*factorial(n-1) end; Rekursiv qismiy dasturlardan foydalanish – dasturchi nuqtai-nazaridan
qaraganda chiroyli estetik usuldir. Amma bu usul hamma vaqt ham samarali emas. Odatda rekurent ko’p yoki kam kuch sarflab odatdagi siklik jarayonga keltirish mumkin.
4 slayd
74
Modul – bu avtonom kompilyasiya qilinadigan dastur bo’lib, u o’z ichiga turli komponentalarni (turlarni, o’zgarmaslarni, o’zgaruvchilarni, prosedura va funksiyalarni) va bir nechta bajariladigan instruksiyalar qismlarini oladi.
Modullar amaliy dasturlar kutubxonalarini va modullarni dasturlashtirish vositalarini ishlaydigan instrumentlar (uskunalar) ni oladi. Modullarning asosi shundan iboratki, komplyator ularga katta dasturlarni yaratishga imkoniyat beradigan xotiraning alohida segmentlariga dastur kodini joylashtiradi.
Modulni qayta ishlashda quyidagi hodisalar ketma-ketligi tavsiya qilinadi: 1. Modulni loyihalash, ya’ni asosiy va yordamchi qism dasturlar va boshqa
resurslarni aniqlash. 2. Modul komponentalarini tavsiflash. 3. Har bir qismiy dasturni lohida yozish, keyinchalik uni modul matniga
«qo’shish» uchun. Modul quyidagi strukturaga ega: Unit <ism>; Interface <interfeysli qism> Implementation <bajariluvchi qism> BEGIN <inisializasiya qismi> END. Bu yerda Unit – modul boshlanadigan xizmatchi so’z; Interface -
dasturning interfeysli qismini boshlaydigan xizmatchi so’z; Implementation - bajariluvchi qismni boshlaydigan xizmatchi so’z. Shunday qilib, modul sarlavha va ixtiyoriy biri bo’sh bo’lishi mumkin bo’lgan 3 ta asosiy qismdan iborat.
Modul sarlavhasi Unit so’zi va modulning asosiy matni joylashadigan diskli fayl ismi bilan mos tushadigan modul ismidan iborat bo’ladi. Masalan, Unit Primer; (joriy modulning asosiy matni Primer.pas diskli faylida joylashgan bo’lishi kerak).
5 slayd
Modul ismi uni boshqa modullar va asosiy dasturlar bilan bog’lash uchun kerak. Bu bog’lanishi Uses qismida o’rnatiladi:
Uses <modullar_ro’yhati>; Bu yerda Uses – xizmatchi so’z (ishlatadi), <modullar_ro’yhati>-
bog’lanish o’rnatiladigan modullar ro’yxati. Ro’yxat elementlari bir-biridan vergul bilan ajratiladigan modullar ismlaridan tarkib topadi.
Modullar boshqa modullarni ishlatishi mumkin. Interfeysli qism Interface so’zi bilan boshlanadi. Bu qism modulning barcha global obyektlari (turlar, o’zgarmaslar, o’zgaruvchilar va qismiy dasturlar) e’lon qilinadi, qayerdaki ularni asosiy dasturga va/yoki boshqa modullar murojaat qilish mumkin bo’lishi uchun.
Interfeysli qismda katta qismiy dasturlarni e’lon qilishda faqat ularning ismi
75
ko’rsatiladi, asosiy dasturda esa berilgan o’zgaruvchilar vash u qismiy dasturlarga murojaat mumkin bo’ladi. Interfeysli qismda qismiy dasturlarni e’lon qilish ularning kompilyasiyasini avtomatik bajarish uchun yuboriladi.
6 slayd
Bajaruvchi qism Implementation so’zidan boshlanadi va interfeysli qismda e’lon qilingan qismiy dasturlardan tashkil topadi. Unda quyidagi modul uchun lokal obyektlar e’lon qilinishi mumkin: yordamchi turlar, o’zgarmaslar, o’zgaruvchilardan hamda nishonlar, inisializasiya qismida ishlatilayotgan bo’lsa. Bajariluvchi qismda modulning interfeysli qismida e’lon qilingan qismiy dasturlarni yozish uchun interfeysli qismida yozilgani uchun formal o’zgaruvchilar ro’yhatini tashlab sarlavhani yozish mumkin.
Inisializasiya qismi modulni tugatadi. U begin so’zi bilan birga qatnashmasligi yoki bo’sh (unda begin so’zidan keyin end so’zi keladi) bo’lishi mumkin. Inisializasiya qismida dastur fragmentlaridan tashkil topadigan bajariladigan instruksiyalar joylashadi. Bu instruksiyalar boshqaruvni asosiy dasturga berish va uni ishga tayyorlash uchun ishlatiladi.
7 slayd
2-mavzu bo’yicha xulosalar Qism dastur – bu asosiy dasturning ixtiyoriy joyida bir necha marta
murojaat etish mumkin bo’lgan ma’lum shaklda rasmiylashtirilgan operatorlar guruhining nomlanishi.
Qism dasturlar dastur matnida bir xil operatorlar ketma-ketligi bir necha marta takrorlangan holda ishlatiladi. U ketma- ketlik zaruriy operatorlardan iborat qism dasturga murojaat bilan almashtiriladi. Qism dasturlar maxsus kutubxona modullarini yaratishda qo’llaniladi, ulardan boshqa dasturlarda foydalanish uchun belgilangan vazifali qism dasturlar to’plamidan iborat bo’ladi.
Qism dasturlar prosedura va funksiyalarga ajratiladi. Modullarning asosi shundan iboratki, komplyator ularga katta dasturlarni yaratishga imkoniyat beradigan xotiraning alohida segmentlariga dastur kodini joylashtiradi.
8 slayd
76
Mustaqil ishlash uchun tavsiya qilinadigan topshiriqlar
1. Adapter va uning vazifalari nimalardan iborat?
2. Object Pascal tili Graph modulining oddiy shakllarni chizish
proseduralari.
3. Object Pascal tilida dinamik tasvirlar hosil qilish uchun ishlatiladigan
proseduralar.
4. Haqiqiy sonli tip ma’lumotlar uchun aniqlangan asosiy amallar va
standart funkssiyalarni keltiring. Har bir funksiyaning qaytaradigan natijasi tipi
qanaqa bo’ladi.
5. Tiplarni o’zgartiradigan standart funksiyalarni keltiring.
6. Butun sonli tip ma’lumotlar uchun aniqlangan asosiy amallar va standart
funkssiyalarni keltiring. Har bir funksiyaning qaytaradigan natijasi tipi qanaqa
bo’ladi.
9 slayd
77
3-MAVZU DELPHI NING GRAFIK IMKONIYaTLARI
3.1. Ma’ruzani olib borish texnologiyasi Talabalar soni 30-60 Ma’ruza 2 soat Mashg’ulot shakli Ma’ruza- Kuzatish Ma’ruza rejasi 1. Chizish sohasi va uning o’lchovlari
2. Yopiq sohalarni chizish va soha ichini bo’yash 3. Grafik obyekt yuzasiga matn chiqarish 4. Grafik primitivlarni chizish usullari 5. Grafik komponentalar va ular bilan ishlash
O’quv mashg’ulotining maqsadi Yopiq sohalarni chizish, soha ichini bo’yash uslublari, obyekt yuzasiga matn chiqarish, grafik primitivlarni chizish usullari, grafik komponentalar va ulardan foydalanish to’g’rsida tushunchalar berish.
Pedagogik vazifalar: O’quv faoliyati natijalari: Chizish sohasi tushuntiriladi; Chizish sohasi va uning o’lchovlarini
tushuntira oladi; Yopiq sohalarni chizish va soha ichini bo’yashga oid tushuncha beriladi;
Yopiq sohalarni chizish va soha ichini bo’yashga oid tushunchalarga ega bo’ladi;
Grafik obyekt yuzasiga matn chiqarish yo’llari o’rgatiladi;
Grafik obyekt yuzasiga matn chiqarish yo’llari o’zlashtiradi;
Grafik primitivlarni chizish usullari tushuntiriladi;
Grafik primitivlarni chizish usullarini aytib bera oladi;
Grafik komponentalar va ular bilan ishlash qoidalari o’rgatiladi;
Grafik komponentalar va ular bilan ishlash bo’yicha tushunchalarga ega bo’ladi;
O’qitish usullari Ma’ruza, namoyish, aqliy hujum, insert texnikasi.
O’qitish vositalari Ma’ruza matni, kompyuter slaydlari, doska, multimedia, proyektor.
O’qitish shakllari Frontal, kollektiv ish. O’qitish sharoiti Kompyuter bilan ta’minlangan auditoriya. Monitoring va baholash Kuzatish,og’zaki baholash, savol- javob.
78
Mavzu bo’yicha ma’ruzaning texnologik kartasi Ish
bosqich.lari O’qituvchi faoliyatining mazmuni Tinglovchi faoliyatining
mazmuni 1-bosqich. Mavzuga
kirish
(10 daqiqa)
1.1. O’quv mashg’uloti mavzusi, maqsadi va o’quv faoliyati natijalarini aytadi 1.2. Ma’ruzani olib borish formasi baholash mezonini aytadi. (1 –Ilova) 1.3. O’quv mashg’ulotini o’tkazish usuli va uning alohida xususiyatlari bilan tanishtiradi.
Mavzu nomini yozib oladi
2-bosqich.
Asosiy bo’lim
(60 daqiqa)
2.1. Savollarga javob berishni so’raydi (aqliy hujum metodi, 2-Ilova). Chizish sohasi va uning o’lchovlari deganda siz nimani tushunasiz? 2.2. Savol javoblarini doskaga yozadi. 2.3. Olingan ma’lumotlarni kategoriya bo’yicha sistemaga solishni so’raydi. (1) Jamoa bilan muhokama qilishni so’raydi. (2) Doskada jadval ko’rinishda ma’lumotlarni jamoadan bir talaba yozishini so’raydi. (3) “Siz qanday yangilikni bilishni hohlaysiz?” savoli orqali olingan bilimlarni umumlashtiradi. 2.4. Ma’ruza matnini tarqatadi, mavzu bilan tanishib, har bir jumlaga belgi qo’yishni so’raydi 2.5. Ishning borishini nazorat qiladi, ishlarni o’zaro tekshirishni taklif etadi va paydo bo’lgan savollarga javob beradi. 2.6. Guruhlarga ajralib, guruh javobini jadvalda (insert jadvalida) ifodalashni so’raydi. 2.7. Prezentasiya qilishni so’raydi.(6-ilova)
Savolga javob beradi. Jadvalning asosiy komponentalari tuzilishi haqida qaror qabul qiladi.Bu jadvallarga ma’lumotlarni kiritadi. Savolga javob beradi. Mavzuni o’qiydi va belgilarni qo’yib chiqadi. Savollarga javob beradi. Guruh jadvalini tayyorlaydi. Prezentasiya qiladi
3 – bosqich.
3.1. Olingan ma’lumotlarni izohlaydi, umumlashtiradi. 3.2. Talabalar savollariga javob
Tinglaydi. Savollar beradi.
79
Yakunlovchi
(10 daqiqa)
beradi, zarur bo’lgan ma’lumotlarni e’lon qiladi. 3.3. Ma’lumotlarni tahlil qiladi va baholaydi. Mavzu bo’yicha olingan bilimlarni qayerda ishlatish mumkinligi ma’lum qiladi. 3.4. Mustaqil ishlash uchun savollar ro’yxatini beradi. (4-Ilova)
Tinglaydi. Yozadi.
1(3) – Ilova
Aqliy hujum metodi qoidasi:
Aytilayotgan barcha g’oyalar bir –biriga nisbatan muhimlikda tengdir. Kiritilayotgan g’oyalar tanqid qilinmasligi kerak. G’oyani taqdim etayotgan paytda so’zlovchining gapini bo’lmaslik. So’zlovchiga nisbatan baholovchi komponent mavjud emas.
2(3) – Ilova
1. Guruhning barcha ishtirokchilariga bir mavzu bo’yicha bir savol qo’yiladi. 2. O’qituvchi o’quv jarayonida tashabbusni o’z qo’liga shunday tarzda oladi: u
auditoriyadagi barcha talabalarga savol beradi va qandaydir maxsus mavzuga daxldor barcha mumkin bo’lgan fikrlarni aytishni so’raydi.
3. Barcha, hatto, axmoqona g’oyalarni ham aytishga ruxsat beriladi. Aytilayotgan fikrlar ichida birgina asosiy mavzu saqlanib qolishi shart.
4. Birortasining ham fikri sharhlanmaydi, tanqid qilinmaydi, baholanmaydi. 5. Asosiy fikrlarni o’qituvchi flip- karta, doskaga yozadi yoki ekranda
ko’rsatadi. 6. Aqliy hujum tugagach, barcha g’oyalar to’planishi, guruhlarga ajratilishi
yoki kategoriyalarga bo’linishi mumkin.
80
3(3)-Ilova V + - ?
Insert jadvali qoidasi: V- olgan bilimiga to’g’ri keladi. + - yangi ma’lumot -- - olgan bilimiga qarama-qarshi ? – tushunarsiz (aniqlanishi zarur bo’lgan ma’lumotlar)
4(3) -Ilova Mustaqil o’rganish uchun savollar
1. Soha o’lchovlari qaysi xossalar yordamida aniqlanadi? 2. Matn shrifti qaysi xossalar orqali aniqlanadi? 3. Grafik obyekt yuzasiga matn chiqarish uchun qaysi usul qo’llaniladi va
bu usulni chaqirish instruksiyasi ko’rinishini keltiring. 4. To’g’ri chiziq qaysi usul orqali amalga oshiriladi va bu usulni chaqirish
instruksiyasi ko’rinishini keltiring. 5. Aylana yoki ellips chizish uchun qaysi usul chaqiriladi va bu usulni
chaqirish instruksiyasi ko’rinishini keltiring. 6. Yoyni chizish uchun qaysi usul qo’llaniladi va u qanday umumiy
ko’rinishga ega. 7. To’rtburchak chizish uchun qaysi usul qo’llaniladi va u qanday
umumiy ko’rinishga ega. 8. Ko’pburchak chizish uchun qaysi usul qo’llaniladi va u qanday umumiy
ko’rinishga ega. 9. Ellips yoki aylana sektorini chizish uchun qaysi usul qo’llaniladi va u
qanday umumiy ko’rinishga ega. 10. Image komponentasi formaga nimani joylashtirishda qo’llaniladi? 11. Shape komponentasi formaga nimalarni joylashtirishda qo’llaniladi?
5(3)-Ilova
Ma’ruzaning mazmuni bo’yicha ko’rgazmali slaydlar 3- Mavzu. Delphining grafik imkoniyatlari
Reja: 1. Chizish sohasi va uning o’lchovlari 2. Yopiq sohalarni chizish va soha ichini bo’yash 3. Grafik obyekt yuzasiga matn chiqarish 4. Grafik primitivlarni chizish usullari
5. Grafik komponentalar va ular bilan ishlash 1 slayd
Chizish sohasi va uning o’lchovlari. Canvas xossasi -TCanvas tipidagi obyektdir. Grafik primitivlarni chiqarish usullari Canvas xossasini abstrakt
81
chizish sohasi deb qaraydi. Chizish sohasi alohida nuqtalar - piksellardan iborat. Piksel holati uning gorizontal (X) va vertikal (Y) koordinatalari bilan aniqlanadi. Chap yuqori piksel koordinatalari (0,0). Koordinatalar yuqoridan pastga va chapdan o’ngga qarab o’sib boradi.
Soha o’lchovlarini Image komponentasining Height i Width xossalari va formaning ClientHeight va Clientwidth xossalari orqali aniqlash mumkin.
2 slayd
Qalam geometrik figuralarni chizish uchun ishlatiladi. Chiziq ko’rinishi TRen obyektining quyidagi jadvalda ko’rsatilgan xossalari orqali aniqlanadi.
TRen (qalam) xossalari.
Xossa Ta’rifi
Color Chiziq rangi
Width Chiziq kalinligi
Style Chiziq ko’rinishi
Mode Akslantirish rejimi
Color xossasi qiymatlari
Konstanta Rang Konstanta Rang
clBlack Qora clSilver Kumush rang
clMaroon Kashtan rang clRed Qizil clGreen Yashil clLime Och yashil clOlive Och jigar rang clBlue Ko’k (zangori) clNavy Tim-ko’k clFuchsia Alvon
clPurple Och qizil clAqua Moviy clTeal Pushti clWhite Oq clGray Kul rang
3 slayd
Chiziq qalinligi Width xossasi orqali piksellarda beriladi. Chiziq turini Style xossasi belgilaydi. Quyidagi jadvalda chiziq turini
belgilovchi nomlangan konstantalar sanab o’tilgan.
82
Style xossasi qiymatlari
Konstanta Chiziq ko’rinishi psSolid Uzluksiz chiziq psDash Punktir chiziq, uzun shtrixlar
psDot Punktir chiziq, qisqa shtrixlar psDashDot Punktir chiziq, uzun va qisqa shtrixlar ketma
ketligi psDashDotDot Punktir chiziq, bitta uzun va ikkita qisqa shtrixlar
ketma ketligi psClear Chiziq aks etmaydi
Mode xossasi chiziq rangining fon rangiga munosabatini ko’rsatadi. Odatda
chiziq rangi Pen.Color xossasi qiymati bilan belgilanadi. Dasturchi chiziq uchun fon rangiga nisbatan invers rang berishi mumkin. Bu
holda hatto chiziq va fon rangi bir xil berilgan bo’lsa ham chiziq ajralib turadi. Quyidagi jadvalda Mode xossasi qiymati sifatida ishlatish mumkin bo’lgan
konstantalar berilgan. Mode xossasi qiymatlari
Konstanta Chiziq rangi
pmBlack Qora, Pen.Color xossasi qiymatiga bogliq emas
pmWhite Oq, Pen.Color xossasi qiymatiga bog’liq emas
pmCopy Chiziq rangi Pen.Color xossasi qiymatiga bog’liq pmNotCopy Chiziq rangi Pen.Color xossasi qiymatiga invers pmNot Chiziq rangi sohaning mos nuqtasi rangiga invers
4 slayd
Muyqalam (Canvas.Brush) yopiq sohalarni chizish va soha ichini bo’yash uchun mo’ljallangan usullardan foydalaniladi. Muyqalam obyekt jadvalda ko’rsatilgan ikki xossaga ega.
TBrush (muyqalam) xossalari
Xossa Ta’rifi
Color Yepiq sohani bo’yash rangi Style Sohani to’ldirish uslubi
83
Kontur ichidagi soha bo’yalishi yoki shtrixlanishi mumkin. Sohani to’ldirish
usulini belgilovchi konstantalar quyidagi jadvalda berilgan.
Brush.style xossasi qiymatlari
Konstanta Soha bo’yash uslubi
bsSolid Uzluksiz bo’yash
bsClear Soha bo’yalmaydi
bsHorizontal Gorizontal shtrixlash
bsVertical Vertikal shtrixlash
bsFDiagonal Diagonal shtrixlash, oldinga og’ish
bsBDiagonal Diagonal shtrixlash, orqaga og’ish
bsCross Katakli gorizontal-vertikal shtrixlash
bsDiagCross Katakli diagonal shtrixlash
5 slayd
Grafik obyekt yuzasiga matn chiqarish uchun TextOut usuli qo’llaniladi. Bu usulni chaqirish instruksiyasi quyidagi ko’rinishga ega:
Obyekt.Canvas.TextOut(x, y, Tekst) Matn shrifti Font xossasi qiymati bilan aniqlanadi:
Xossa Ta’rifi Name Size Style
Shrift nomi, masalan Arial Shrift punktlarda kattaligi Simvollar chiqarish uslubi. Quyidagi konstantalar orqali
beriladi: fsBold (qoraroq), fsltalic (qiya), fsUnderline(tagiga chizilgan), fsStrikeOut (ustiga chizilgan).
Font Color
Bu xossa bir necha uslublarni kombinasiyasini olishga imkonberadi. Masalan: Obyekt.Canvas.Font:=[fsBold, fsItalic] Simvollar rangi.
6 slayd
Grafik primitivlarni chizish usullari To’g’ri chiziq LinyeTo usuli orqali amalga oshiriladi: Komponent.Canvas.LineTo(x,y),
LinyeTo usuli qalam joriy pozisiyasidan berilgan koordinatali nuqtagacha to’g’ri chiziq chizadi. Boshlangich nuqtani kerakli nuqtaga ko’chirish uchun MoveTo
84
usulidan foydalanish mumkin. Aylana yoki ellips chizish uchun Ellipse usuli chaqiriladi. Usulni
chaqirish instruksiyasi umumiy ko’rinishi: Obyekt.Canvas.Ellipse(x1,y1, x2,y2). Bu yerda x1, y1, x2, u2 – ellipsni o’z ichiga olgan minimal turtburchak
koordinatalari. Agar turtburchak kvadrat bo’lsa aylana chiziladi. Yoyni chizish uchun Arc usuli qo’llaniladi va u quyidagi umumiy
ko’rinishga ega: Obyekt.Canvas.Arc(x1,y1,x2,y2,x3,y3,x4,u4)
Bu yerda: x1, y1, x2, u2 - yoyga tegishli bo’lgan ellips yoki aylana parametrlari; x3, u3 - yoy boshlang’ich nuktasi parametrlari; x4, u4 - so’ngi nuqtasi parametrlari. Yoy soat miliga teskari tartibda chiziladi.
To’rtburchak Rectangle usuli bilan chizilib, bu usulni chaqirish instruksiyasi umumiy ko’rinishi quyidagicha:
Obyekt.Canvas.Rectangle(x1, y1,x2, y2) Bu yerda x1, y1 va x2, u2 — chapgi yuqori va o’nggi pastgi burchaklar koordinatalari.
7 slayd
Grafik komponentalar. Image komponentasi formaga rasmlarni joylashtirish uchun ishlatiladi. Joylashtirilishi lozim bo’lgan rasmlar bitli fayllar (kengaytmalari- .bmp), piktogrammali (kengaytmalari-.ico), metafayllar (kengaytmalari- .wmf) bo’lishi kerak.
Image komponentasi Additional palitrasida joylashgan bo’lib, u ko’rinishdagi piktogrammaga ega. Bu tugmachani bosib formadan rasm uchun joy ajratiladi va keyin esa xossalar bo’limidan Picture xossasi tanlanib, u yerdan uch nuqtali tugmacha bosiladi. Natijada ekranda rasmni aniqlash va joylash uchun muloqat darchasi ochiladi. Muloqat darchasi quyidagi tugmachalarga ega: Load -fayldan rasmni chaqirish; Save -rasmni faylga saqlash; Clear -tanlangan rasmni olib tashlash; Ok -tanlangan rasmni ajratilgan joyga yozish; Cancel -qilingan o’zgartirishlarni bekor qilish.
8 slayd Shape komponentasi formaga aylana, to’rtburchak, ellips va boshqa shakllarni joylashtirish uchun ishlatiladi. Uning quyidagi xossalari mavjud: Brush -shaklni bo’yash uchun cho’tkacha; Pen -shakl chetini chizish uchun qalam; Shape -ekranga chiqadigan shaklni aniqlaydi: StRectangle -to’rtburchak;
85
StSquare -kvadrat; StRoundRect -chetlari aylana to’rtburchak; StRoundSquare -chetlari aylana kvadrat; StEllipse -ellips; StCircle -aylana. Shape komponentasi ham Additional palitrasida joylashgan bo’lib, u
ko’rinishdagi piktogrammaga ega. Bu tugmachani bosib formadan shakl uchun joy ajratiladi va keyin esa xossalar bo’limidan Shape xossasiga kirilib kerakli shakl tanlanadi.
PaintBox komponentaci formaga chegaralangan maydonda shakllarni chizish imkonini beradi.
PaintBox komponentasi System palitrasida joylashgan bo’lib, u ko’rinishdagi piktogrammaga ega. Bu tugmachani bosib formadan shakl uchun joy ajratiladi va keyin esa xossalar bo’limidan Shape xossasiga kirilib kerakli shakl tanlanadi.
9 slayd
Mustaqil ishlash uchun tavsiya qilinadigan topshiriqlar
1. y=cos(x) funksiyasi grafiki chizilsin. 2. Markazi koordinatalari va radiuslari tasodifiy natural sonlardan iborat N
(N<maxX,maxy) aylana chizing. Ularning ranglari kodlari xam tasodifiy sonlarga mos kelsin.
3. Uchlari koordinatalari (x1, u1) va (x2, u2) nuktalarda bulgan tugri turtburchak chizing. Uning diagonaliga nisbatan uni xar xil ranglarga buyang.
4. Uchlari koordinatalari (x1, u1) va (x2, u2) nuktalarda bulgan tugri turtburchak chizing. Tugri turtburchak rangini ixtiyoriy tanlang. Unga ichiga boshka rangli berilgan shriftda matn kiriting.
5. Uchlari koordinatalari (x1, u1) va (x2, u2) nuktalarda bulgan tugri turtburchak ichiga aylana chizing. Turtburchak rangini kora kilib, aylananing rangini sarik kilib tanlang.
6. Sinusoida trayektoriyasi buylab xarakatlanuvchi r radiusli sharikcha xosil kiling.Sharikcha rangi kodi tasodifiy sonlarga mos kelsin
10 slayd
3-mavzu bo’yicha xulosalar Dasturlashtirishda grafik chizish va obyektlarga matnlar chiqarish
talabalarda katta qiziqish uyg’otadi. Grafiklar chizish usullarini bilash va ulardan dasturda o’rinli foydalanish dasturni bezash imkoniyatini yaratadi.
Yuqorida keltirilgan grafiklarni chizish usullari informasiyalarni grafik usulda tasvirlash imkonini beradi, funksiya grafigini yasash, diagrammalar chizish, blok sxemalarni chizishda ast qotadi.
Grafik koponentalar esa, oldindan mavjud tasvirli fayllarni formaga
86
joylashtirish imkoniyatini beradi, bu esa ilova formasini qulay shakllanishiga olib keladi.
11 slayd
6(3)-ilova
Prezentasiyani tashkillashtirish
Prezentasiyani o’tkazish shakli
Prezentasiyani utkazish buyicha ayrim amaliy maslahatlar
1. Prezentasiya guruh liderining chiqishidan boshlanadi: Men F.I.Sh. ...............
2. Barcha prezentasiya qiluvchilarning chiqishlari o’zlarini tanishtirishdan boshlaydi: Men - F.I.Sh. ...............
3. Ma’lumotlar: - matematik modelllar; Yoki- grafik, diagramma, sxemalar ko’rinishida keltirilishi
kerak. 4. Statistik ma’lumotlarning manbalari aks ettirilishi kerak. 5. Xulosalarning adekvatliligi ko’rsatilishi lozim.
Interaktiv dialog Takdimot qiluvchi tinglovchi guruhdagi boshqa tinglovchilar
87
Prezentasiyaning olib borilishi
Guruhning barcha a’zolarining ishtiroki
Prezentasiyaning to’g’ri amalga oshrilish
Ishtirokchilarning chiqishlarida qarama karshiliklar bo’lmasligi kerak
Tushunarsiz va yaqqol ifodalanmagan fikrlar bo’lmasligi kerak
Belgilangan vaqt chegarasidan chiqmaslik lozim
Guruh a’zolarining chiqishlari ketma- ketligi aniqlangan bo’lishi kerak
Guruh a’zolarining funksiyalari belgilab olingan bo’lishi lozim
88
Prezentasiyaning mazmuni
Prezentasiyada nima taqdim qilinishi lozim? Albatta muammoning yechimi.
Muammoning umumlashgan ko’rinishi (ajratilgan vaqt 10 minutning 20%)
Xulosa va amaliy takliflar (ajratilgan vaqtning 50%)
Rezyume – guruh lederi tomonidan amalga oshiriladi (ajratilgan vaqtning 10%)
Internet jarayonlar. Obyektlar haqida ma’lumot (ajratilgan vaqtning 20%)
Prezentasiyada nima bo’lmasligi kerak.
O’quv mashg’ulotlari yoki adabiyotlarda keltirilgan vazifalar
Shartli statistik ma’lumotlar
89
4-MAVZU DELPHI NING MULTIMEDIA IMKONIYaTLARI
(4-Ma’ruza 2-soat) 2.1. Ma’ruzani olib borish texnologiyasi
Talabalar soni 60 2 soat Mashg’ulot shakli Mavzu bo’yicha ma’ruza Ma’ruza rejasi 1. Animate komponentasi va uning
xossalari 2. MediaPlayer komponentasi va
uning xossalari
O’quv mashg’ulotining maqsadi Delphi da multimediyali ilovalar yaratishda qo’llaniladigan komponentalar va ulardan
foydalanish haqida tushunchalar berish.
Pedagogik vazifalar: O’quv faoliyati natijalari: Multimediya haqida umumiy ma’lumotlar oid tushunchalar beriladi;
Multimediya haqida umumiy ma’lumotlar oid tushunchalarni aytib bera oladi;
Multimediyali ilovalar yaratishda qo’llaniladigan komponentalar turlari tushutiriladi;
Multimediyali ilovalar yaratishda qo’llaniladigan komponentalar turlarini tahlil qiladi;
Animate komponentasi va uning xossalari tushutiriladi;
Animate komponentasi va uning xossalarini aytib beradi;
MediaPlayer komponentasi va uning xossalari tushutiriladi;
MediaPlayer komponentasi va uning xossalarini aytib beradi;
O’qitish usullari Ma’ruza, namoyish, “zig-zag” usuli. O’qitish vositalari Ma’ruza matni, kompyuter slaydlari, doska,
multimedia, proyektor. O’qitish shakllari Frontal, kollektiv ish. O’qitish sharoiti Kompyuter bilan ta’minlangan auditoriya. Monitoring va baholash Kuzatish,og’zaki baholash, savol- javob.
90
Mashg’ulotining texnologik xaritasi Ish bosqich.lari O’qituvchi faoliyatining mazmuni Tinglovchi –talaba
faoliyatining mazmuni 1-bosqich.
Mavzuga kirish
(10 daqiqa)
1.1. Mavzu nomini, maqsad va vazifalarini aytadi. 1.2. Ma’ruzani olib borish formasi va baholash mezonlarini aytadi. 1.3. Shu mavzu bo’yicha ma’ruza matnini har bir talabaga tarqatadi. 1.4. Mavzu bo’yicha reja va tayanch iboralarni izohlaydi.
Mavzu nomini yozib oladi.
Tinglaydi.
Ma’ruza matnini
o’qiydi.
Eshitadi. 2-bosqich.
Asosiy bo’lim
(60 daqiqa)
2.1. Ma’ruza mashg’uloti ustida ishlash uchun talabalarni guruhlarga ajratadi.(1- Ilova «zig-zag») Qilinishi kerak bo’lgan ishning xususiyatlarini tushuntiradi, ekspert varag’ini tarqatadi.(2-Ilova) 2.3. Guruhning har bir a’zosi umumiy topshiriqning alohida ma’lum bir qismini olishini suraydi. 2.4. Guruhning har bir a’zosi o’z topshirig’i doirasida ekspert bo’lishini suraydi.
2.1.Ekspert varag’ining savolllariga guruhning har bir talabasi o’quv materialidan zarur ma’lumotlarni topadi. 2.2. “Ekspertlar uchrashuvi” – turli guruhlarda bir xil matirialni o’rganayotganlar o’zaro uchrashadi, ekspert sifatida ma’lumotlarni almashadi, o’z savollariga birgalikda javob topadi va bu ma’lumotlarini o’z guruhlaridagi talabalarga qanday qilib yetkazish kerakligini rejalashtiradi. 2.3. “Ekspertlar” o’z guruhlariga qaytib, ma’lumotlarni o’z guruhi a’zolaiga tushuntiradi. 2.4. Bir –biriga savollar berib, bir- birlarining bilimlarini baholaydi.
3 – bosqich.
Yakunlovchi
3.1. Ish yakunida mavzu bo’yicha ixtiyoriy savolga guruhlardagi ixtiyoriy talabaga javob berishni taklif etadi. 3.2.Mavzu bo’yicha yakunlovchi xulosalar qiladi. Mavzu bo’yicha
Savollar beradi
91
(10 daqiqa) olingan bilimlarni qayerda ishlatish mumkinligini ma’lum qiladi.
92
1(4)-Ilova Zig-zag usulining qo’llanilishi
1.Ekspert varag’ining savolllariga guruhning har bir talabasi o’quv materialidan zarur ma’lumotlarni topadi.
2. “Ekspertlar uchrashuvi” – turli guruhlarda bir xil matirialni o’rganayotganlar o’zaro uchrashadi, ekspert sifatida ma’lumotlarni almashadi, o’z savollariga birgalikda javob topadi va bu ma’lumotlarini o’z guruhlaridagi talabalarga qanday qilib yetkazish kerakligini rejalashtiradi.
3. “Ekspertlar” o’z guruhlariga qaytib, ma’lumotlarni o’z guruhi a’zolaiga tushuntiradi.
4. Bir –biriga savollar berib, bir- birlarining bilimlarini baholaydi.
2(4)-Ilova №1 ekspert varag’i
1. Animate komponentasi va uning vazifasi 2. Animate komponentasi xossalari
№2 ekspert varag’i 1. MediaPlayer komponentasi va uning vazifasi 2. MediaPlayer komponentasi xossalari
№3 ekspert varag’i
1. Videorolik va animasiyalarni ko’rish 2. Animate komponentasi SommonAVI xossasi
№4 ekspert varag’i
1. MediaPlayer komponentasi tugmalari va vazifalari 2. MediaPlayer komponentasi yordamida Tovushlarni eshittirish
3(4)-Ilova
Mavzuni jonlantiruvchi savollar Prosedura va funksiyalar dasturda qanday hollarda ishlatiladi? Ma’lumotlarni faylga yozishda qanday funksiya va proseduralar ishlatiladi? To’g’ri chiziq qaysi usul orqali amalga oshiriladi va bu usulni chaqirish instruksiyasi ko’rinishini keltiring. Aylana yoki ellips chizish uchun qaysi usul chaqiriladi va bu usulni chaqirish instruksiyasi ko’rinishini keltiring Yoyni chizish uchun qaysi usul qo’llaniladi va u qanday umumiy ko’rinishga ega. To’rtburchak chizish uchun qaysi usul qo’llaniladi va u qanday umumiy ko’rinishga ega. Ko’pburchak chizish uchun qaysi usul qo’llaniladi va u qanday umumiy ko’rinishga ega.
93
4(4)-Ilova Ma’ruzaning mazmuni bo’yicha ko’rgazmali slaydlar
3-MAVZU: DELPHI NING MULTIMEDIA IMKONIYaTLARI
Ma’ruza rejasi:
1. Animate komponentasi va uning xossalari
2. MediaPlayer komponentasi va uning xossalari
1- slayd
Delphi da multimediyali dasturlar yaratish uchun ikki komponentadan foydalanish mumkin:
Animate -oddiy animasiya yaratish uchun (masalan fayllardan nusxa olishda foydalanuvchi ko’radigan animasiya);
MediaPlayer -murakkab vazifalarni bajarish uchun, videoroliklarni ko’rish, tovushli animasiya.
2- slayd
Animate komponentasi belgisi, Win32 qatorda joylashgan bo’lib, kadrlari
AVI-faylda joylashgan sodda animasiya ko’rishga imkon beradi. AVI-fayldagi animasiya tovushli bo’lishi mumkin bo’lsa ham Animate
komponentasi faqat tasvirni aks ettirishga imkon beradi. Animate komponentasi formaga oddiy usulda ko’shiladi. Komponenta
formaga qo’shilgandan so’ng uning xossalaprini o’rnatish lozim. Animate xossalari 1-jadvalda keltirilgan:
1-jadval Animate komponentasi xossalari
Xossa Ta’rifi Name Komponenta nomi. FileName Animasiya joylashgan AVI-fayl nomi StartFrame Animasiyani birinchi kadri nomeri
stopFrame Animasiya oxirgi kadri nomeri Activate Animasiyani aks ettirish jarayenini aktivlashtirish belgisi Color Komponenta foni rangi Transparent Animasiya aks ettirishda shaffof rangdan foydalanish rejimi
Repetitions Animasiyani qaytarish soni 3- slayd
94
Animate komponentasi dasturchiga Windows standart animasiyasidan
foydalanishga imkon beradi. Animasiya turi SommonAVI xossasi qiymati bilan belgilanadi. Xossa qiymati nomlangan konstantalar orqali beriladi. Quyidagi 2- jadvalda konstantalar qiymatlari, animasiya turi, jarayon ta’rifi berilgan.
2-jadval comonAVI xossasi qiymatlari Qiymat Animasiya Jarayon aviCopyFiles
Fayldan nusxa olish
AviDeleteFile
Faylni o’chirish
aviRecycleFile
Fayli korzinaga o’chirish
4-slayd
MediaPlayer komponentasi
MediaPlayer komponentasi belgisi System qatorida joylashgan bo’lib, videoroliklar, tovush va tovushli animasiya qurishga imkon beradi.Formaga MediaPlayer komponentasi joylashtirilganda tugmalar guruhi paydo bo’ladi(3-r.). Bu tugmalar vazifalari 4-jadvalda berilgan. MediaPlayer xossalari keyingi 5-jadvalda keltirilgan.
3-rasm. MediaPlayer komponentasi.
5-slayd
4-jadval
MediaPlayer komponentasi tugmalari.
Tugma Belgisi Vazifasi
Eshittirish btPlay Ovoz yoki videoni mshga tushirish
Pauza btPause Vaqtincha to’xtatish
Stop btStop To’xtatish
95
Keyingi btNext Keyingi kadrga o’tish
Oldingi btPrev Oldingi kadrga o’tish
Kadam btStep Keyingi ovoz fragmentiga o’tish, masalan, CD dagi keyingi qo’shiqqa o’tish
Orkaga btBack Oldingi ovoz fragmentiga o’tish, masalan, CD dagi oldingi qo’shiqqa o’tish
Yezuv btRecord Yozish
Ochish/Yepish btEject Kompyuterning CD-diskovodini ochish yoki yopish
6-slayd
5-jadval
xossalar Tavsifi
Name Komponentning nomi. Komponent xossalariga murojaat qilishva pleyer ishini boshqarish uchun foydalaniladi.
DeviceType Qurilmaning tipi. MediaPiayer komponent o’zida ifodalagankonkret qurilmani aniqlaydi. Qurilmaning tipi nomlangankonstantalar bilan beriladi: dtAutoSelect — qurilmaning tipiavtomatik ravishda aniqlanadi; dtVaweAudio — ovozchiqaradigan; dtAVivideo — videotasvirni ko’rish; dtCDAudio — CD-eshitish
FileName Tovush yoki videorolik joylashgan fayl nomi.
AutoOpen Dastur ishga tushgach darxol tovush yoki videorolikjoylashgan faylni avtomatik ravishda ochish belgisi
Display Videorolik ko’riladigan yuza komponetasini aniylaydi(odatdavideoni aks ettirish uchun Panel komponent ishlatiladi.
VisibleButtons Murakkab xossa. Komponentada ko’rinish kerak bo’lganknopkalarni aniqlaydi. Ayrim knopkalarni ko’rinmaydiganxolatga o’tkazish imkoniyatini beradi.
7-slayd
96
4-mavzu bo’yicha asosiy atamalar
Animate AVI-faylda joylashgan sodda animasiya
ko’rishga imkon beradigan komponent MediaPlayer videoroliklar, tovush va tovushli animasiya
qurishga imkon beradigan komponent Animate.FileName Animasiya joylashgan AVI-fayl nomi
Animate.StartFrame Animasiyani birinchi kadri nomeri
Animate.stopFrame Animasiya oxirgi kadri nomeri
Animate.Activate Animasiyani aks ettirish jarayenini
aktivlashtirish belgisi
Animate.Color Komponenta foni rangi
Animate.Transparent Animasiya aks ettirishda shaffof rangdan
foydalanish rejimi
Animate.Repetitions Animasiyani qaytarish soni
MediaPlayer.btPlay Ovoz yoki videoni mshga tushirish MediaPlayer.btPause Vaqtincha to’xtatish MediaPlayer.btStop To’xtatish MediaPlayer.btNext Keyingi kadrga o’tish MediaPlayer.btPrev Oldingi kadrga o’tish MediaPlayer.btStep Keyingi ovoz fragmentiga o’tish, masalan, CD
dagi keyingi qo’shiqqa o’tish MediaPlayer.btBack Oldingi ovoz fragmentiga o’tish, masalan, CD
dagi oldingi qo’shiqqa o’tish MediaPlayer.btRecord Yozish MediaPlayer.btEject Kompyuterning CD-diskovodini ochish yoki
yopish
8-slayd
97
5-MAVZU DELPHI VIZUAL DASTURLASh VOSITASIDA
MA’LUMOTLAR BAZASINI YaRATISh TEXNOLOGIYaLARI
5.1.Ma’ruzani olib borish texnologiyasi Talabalar soni 25-60 5-Ma’ruza, 2 soat Mashg’ulot shakli Mavzu bo’yicha ma’ruza Ma’ruza rejasi 1. MBni boshqaradigan ilovalar tuzish
uchun Delphi vositalari 2. BDE administrator utilitasi bilan ishlash 3. MB jadvalini tuzish
O’quv mashg’ulotining maqsadi Delphi vositalari yordamida MBni boshqaradigan ilovalar tuzish va unda BDE administrator utilitasidan foydalanishni o’rganish;
Pedagogik vazifalar: O’quv faoliyati natijalari: MBni boshqaradigan ilovalar
tuzishda qo’llaniladigan Delphi vositalari haqida umumiy tushunchalar beriladi;
MBni boshqaradigan ilovalar tuzishda qo’llaniladigan Delphi vositalarini biladi;
BDE administrator utilitasi bilan ishlash algoritmi tushuntiriladi;
BDE administrator utilitasi bilan ishlash algoritmini bilib oladi;
MB jadvalini tuzish jarayoni tushuntiriladi;
MB jadvalini tuzish yo’llarini o’zlashtirib oladi;
O’qitish usullari Ma’ruza, namoyish, blis - so’rov, bumerang usuli.
O’qitish vositalari Ma’ruza matni, kompyuter slaydlari, doska, multimedia, proyektor.
O’qitish shakllari Frontal, kollektiv ish. O’qitish sharoiti Kompyuter bilan ta’minlangan auditoriya. Monitoring va baholash Kuzatish,og’zaki baholash, savol- javob.
5.2.Ma’ruza mashg’ulotining texnologik kartasi
Ish bosqich.lari
O’qituvchi faoliyatining mazmuni Tinglovchi faoliyatining mazmuni
1-bosqich.
Mavzuga kirish
(10 daqiqa)
1.1. O’quv mashg’uloti mavzusi, maqsadi va o’quv faoliyati natijalarini aytadi. Baholash mezonlarini aytadi. 1.2. Blis- so’rov usulida mavzu bo’yicha ma’lum bo’lgan tushunchalarni so’rab talabalarni faollashtiradi. Blis- so’rov natijasiga ko’ra tinglovchilarning nimalarda
Mavzu nomini yozib oladi
98
adashishlari, xato qilishlari mumkinligini amalga oshiradi. (1-Ilova)
2-bosqich.
Asosiy bo’lim
(60 daqiqa)
2.1. Guruhlarga ajratadi. 2.2. Rejadagi savollarni har bir guruhga alohida tarqatadi. (Bumerang usuli, 70 bet, 2 -ilova). Har bir guruh a’zolariini 1,2,3 raqamli kartochkalar yordamida yangi guruhlarga ajratadi. 2.3.Yangi guruh a’zolari o’z mavzularini bir-biriga gapirib berishini so’raydi.(10-15 daqiqa)yangi guruh a’zolari rejadagi barcha savollar bilan tanishib olishini ta’minlaydi. 2.4. Har bir guruhdan bitta talabaga baholash varag’ini beradi va shu talaba jadvalni talabalar faolligiga qarab to’ldirib boradi.(2-Ilova) 2.5. Yangi guruh aezolari o’z guruhlariga qaytariladi va guruhlar bir –biriga mavzu bo’yicha savollar tayyorlashadi. 2.6. Baholash varag’ini yig’ib oladi.
Mavzu rejasini yozib oladi. Tinglaydi. Guruhlarga ajraladi. Mavzuni bir-biriga gapirib beradi. Baholash varag’ini oladi, to’ldiradi. Savollar beradi.
3 – bosqich.
Yakunlovchi
(10 daqiqa)
3.1. Mavzu bo’yicha yakunlovchi xulosalar qiladi. Mavzu bo’yicha olingan bilimlarni qayerda ishlatish mumkinligi ma’lum qiladi. 3.2. Mavzu maqsadiga erishishdagi tinglovchilar faoliyati tahlil qilinadi va baholanadi.
Savollar beradi. Tinglaydi. Yozadi.
99
1(5)-Ilova Blis-so’rov
Savol Javob Ma’lumotlar bazasi nimani anglatadi? Ma’lumotlar bazasi – bu
ma’lum bir predmet sohasiga oid tizimlashtirilgan (strukturalashtirilgan) ma’lumotlarning nomlangan to’plamidir.
Nima uchun ma’lumotlar bazasini boshqarish tizimi zarur?
Ma’lumotlar bazasini boshqarish tizimi -bu ma’lumotlar bazasini yaratish, ularni dolzarb holatini ta’minlash va undagi zarur axborotni topish ishlarini tashkil etish uchun mo’ljallangan dasturlar majmui va til vositasidir.
Nima uchun ma’lumotlarning relyasion bazasi?
Ma’lumotlarning relyasion bazasi - bu o’zaro bog’langan munosabatlar , ya’ni jadvallar to’plamidir. Har qanday munosabat (jadval) kompyuterlarning xotirasida fayl ko’rinishda joylashtiriladi. Ularning asosida «munosabat» tushunchasi yotib, u inglizcha relation so’zidan olingan. Ba’zi bir qoidalarga amal qilgan holda munosabatlarni ikki o’lchovli jadval ko’rinishda tasvirlash mumkin. Jadval har qanday odamga tushunarli va qulaydir.
Ma’lumotlarning relyasion bazasidagi munosabatlar ustida bajariladigan operasiyalarni sanab o’ting.
To’plamlar ustidagi ananaviy (tradision) operasiyalardan tashqari, maxsus relyasion operasiyalar, ya’ni proyeksiyalash, bog’lanish (qo’shilish), birlashtirish (ulab qo’yish) va tanlash.
100
2(5)-Ilova
Baholash varag’i Guruh bahosi O’qituvchi bahosi
Savolarga to’liq javob berish
Savollarga qo’shimcha kiritish
Savolning to’g’ri qo’yilishi
Jami
3(5)-Ilova Savollar
4(5)-Ilova Mavzuni jonlantiruvchi savollar
1. Ma’lumotlar bazasi haqida asosiy tushinchalar sanab o’ting? 2. Ma’lumotlar modellari nima uning qanday turlarini bor? 3. Ma’lumotlar bazasi jadvallari orasidagi relyasion bog’lanish qanday turlari mavjud? 4. MBni loyihalashtirish qanday bosqichlariga ega? 5. Ma’lumotlar bazasining maydon, yozuv va fayl elementlariga tushuntirish bering
1)
1-савол (1-гуруҳга) Delphi таркибига кирувчи МБни бошқаришда ишлатиладиган
иловаларни тузиш ва ишлатиш воситалари
2-савол (2-гуруҳга) ММББ ббииллаанн иишшллаашш ууччуунн DDeellpphhii ккооммппооннееннттллааррии
3-савол (3-гуруҳга) BDE administrator утилитаси билан ишлаш
101
5(5)-Ilova
Ma’ruzaning mazmuni bo’yicha ko’rgazmali slaydlar 5-Mavzu. DELPHI vizual dasturlash vositasida
ma’lumotlar bazasini yaratish texnologiyalari
Reja. 1. MBni boshqaradigan ilovalar tuzish uchun Delphi vositalari 2. BDE administrator utilitasi bilan ishlash 3. MB jadvalini tuzish
1 slayd
MB bilan ishlashga mo’ljallangan Delphi vositalari ikki turga ajratish mumkin:
- instrumental vositalar; - komponentlar. Instrumental vositalar tarkibiga MB xizmat ko’rsatishni ta’minlovchi
maxsus dasturlar va paketlar kiradi. Ilovalarning o’zaro bog’lanishining umumiy modeli quyidagi sxema orqali
berish mumkin:
2-slayd
MBda ishlash uchun ilova
Lokal МБ Paradox, Dbase
BDE Administranor
SQL Links
Boshqa МББТ (Oracle, SyBase, MsSQL Server,Interbase)
BDE Database Desktop
102
Komponentalar. MB ilovalarini yaratish uchun foydalaniladigan
komponentlarni qaraymiz. Delphi boshqa boshqaruv komponentlari kabi MB bilan bog’liq komponentlar ham vizual va vizual bo’lmagan komponentalarga bo’linadi.
Vizual bo’lmagan komponentalar jadvallar tarkibidagi ma’lumotlarga murojaatni tashkillashtirish uchun mo’ljallangan. Ular MB jadvallari ma’lumotlari va vizual komponentalar orasida oraliq bo’g’ini hisoblanadi.
Vizual komponentalar ilovaning interfeys qismini yaratishda ishlatiladi. Ularning yordami foydalanuvchi MB jadvallari ma’lumotlarini ko’rish yoki tahrirlash kabi amallarni basharishi mumkin.
MB bilan ishlashda qo’llaniladigan komponentlar Delphi tizimi Komponentlar palitarasining DDaattaa AAcccceessss,, DDaattaa CCoonnttrroollss,, ddbbEExxpprreessss,, BBDDEE,, AADDOO,, DDeecciissiioonn CCoobbee,, QQRReeppoorrtt vvaa IInntteerrBBaassee ssaahhiiffaallaarriiddaa joylashgan.
3 slayd
MB tayyor ilovasi bilan ishlash uchun vositalarning umumiy tarkibi quyidagi sxemada keltirilgan.
4 slayd
МБ
BDE
MBda ishlash uchun vizual bo’lmagan
komponentalar
MBda ishlash uchun vizual bo’lgan komponentalar
Илова
103
MBni psevdonimini tuzish algoritmi quyidacha: 1.BDE administrator utilitasi ishga tushiriladi. 2.Menyudan Object=>New buyrug’i beriladi. 3.Darchadan Standart turi o’zgartirilmasdan Ok tugmasi bosiladi.
4.Chap oynadan Standart1 nomi yangi psevdonim nomiga o’zgartiriladi. 5.O’ng oynada Path qatoriga o’tilib, uch nuqtali tugmacha va keyin Ok
bosiladi. 6.Menyudan Object=>Apply=>Ok buyrug’i beriladi. 7.BDE administratordan chiqiladi.
5 slayd
104
MBning jadvalini yaratish algortmi quyidagi ketma-ketlikda bajariladi: 1.DataBase DeskTop utilitasi ishga tushiriladi. Buning uchun quyidagi
buyruqlar ketma-ket bajariladi. Pusk=>Programmы=>Borland Delphi=>DataBase DeskTop 2. DataBase DeskTop oynasining bosh menyusidan quyidagi buyruq
bajariladi. File=>Working Directory 3.Hosil bo’lgan Set Working Directory muloqot darchaining Aliases idan
MB psevdonimi aniqlanadi.
6 slayd
4.Menyudan File=>New=>Table buyrug’i bajariladi. 5.Hosil bo’lgan Create Table muloqot darchasitdan MB turi aniqlanadi
(masalan, Paradox yoki Dbase Windows). Bu darchada MBning bir qancha turlari mavjud.
7 slayd
105
6.MB strukturasi tashkil qilinadi.
7.Save As buyrug’i berili, jadval nomi kiritiladi va Ok tugmasi bosilib
saqlanadi. 8.Agar MBga ma’lumotlar kiritish kerak bo’lsa menyudan File=>Open
buyrug’i berilib, keyin fayl tanlanadi va ma’lumotlar kiritiladi. 8 slayd
5-mavzu bo’yicha xulosalar
MB bilan ishlashga mo’ljallangan Delphi vositalari ikki turda, ya’ni instrumental vositalar, komponentlar ajratilar ekan.
Instrumental vositalar tarkibiga MB xizmat ko’rsatishni ta’minlovchi maxsus dasturlar va paketlar kiradi va ular MB bilan operasiyalarni amalga oshiruvchi ilovalarni yaratish uchun mo’ljallangan.
MB bilan bog’liq komponentlar vizual va vizual bo’lmagan komponentalarga bo’linadi. Ular quyidagi vazifalarni bajaradi:
1) Vizual bo’lmagan komponentalar jadvallar tarkibidagi ma’lumotlarga murojaatni tashkillashtirish mo’ljallangan. Ular MB jadvallari ma’lumotlari va vizual komponentalar orasida oraliq bo’g’ini hisoblanadi.
2) Vizual komponentalar ilovaning interfeys qismini yaratishda ishlatiladi. Ularning yordami foydalanuvchi MB jadvallari ma’lumotlarini ko’rish yoki tahrirlash kabi amallarni basharishi mumkin.
Har qanday MBga ilovadan murojaat qilinganda uning aniq adresi BDEga uzatiladi. BDE o’zining maxsus funksiyalarini MB bilan bog’lanishda ishlatadi. BDE aniq bir MB bilan ishlaganda quyidagilarni bilishi kerak: MB qaysi joyda joylashganligini; MB parametrlari haqidagi ma’lumotni.
MB parametrlari va uning joylashishi MB psevdonimida aniqlanadi. Psevdonim - MB ga berilgan biror nom bo’lib MBga mantiqiy murojaat qilinganda ishlatiladi. MB psevdonimi BDE adminisrator utilitasi yordamida aniqlanadi. MB jadvalini tuzish uchun DataBase Desktop (DBD) utilitasini ishga tushirish zarur. Utilitani ishga tushirgandan keyin ishchi psevdonimi o’rnatiladi.
9 slayd
106
5-mavzu buyicha asosiy atamalar
Borland Datebase Engine (BDE) - ma’lumotlar ba’zasi prosesseri, u Delphi-ilovalaridan MB ga murojaat qilishni tashkil qilib beradigan dinamik kutubxonalar va drayverlar majmuasidan iborat. BDE ma’lumotlarga murojaat qilishni tashkillashtirishda markaziy bo’g’in hisoblanadi.
DBE administrator - BDE turli parametrlarini sozlash uchun utilita. Database Desktop - jadvallar, SQL –so’rovlar va QBE so’rovlarini
yaratish va tahrirlash dasturi. SQL Explorer - MB psevdonimi, konfigurasiyasi va strukturasini
ko’rish, hamda MB jadvaliga so’rov berish utilitalarini o’z ichiga oladi. SQL LINKS - boshqa MBBT bilan (Masalan, SysBase, Oracl, MsSQL
Server) ishlash uchun drayverlar. Delphi tizimi Paradox va Dbase MBBT lari uchun SQLni ishlatmaydi, BDE yordamda bajaradi.
SQL manitor - so’rovlarini bajarish vositasi. Visual Query Builder - Delphi tarkibiga kiruvchi vosita bo’lib, SQL
–so’rovlarini avtomatlashtirishni tashkil etadi. Data Dictionary - ma’lumotlar lug’ati. MB jadvali maydonlari
atributini saqlaydigan vosita. Data Access sahifasida ma’lumotlarga murojaatni tashkillashtirishga
mo’ljallangan vizual bo’lmagan komponentlar joylashgan. DDaattaa CCoonnttrroollss sahifasida ma’lumotlarni boshqarishda qo’llaniladigan
vizual komponentlar o’rin olgan. BBDDEE sahifasi BDE foydalanib ma’lumotlarni boshqarish komponentlaridan
tuzilgan. ADO sahifasida ADO (Active Date Objects) foydalangan holda ma’lumotlarni
boshqarishga mo’ljallagan komponentlar joylashgan. DDeecciissiioonn CCoobbee sahifasi qaror qabul tizimlarni qurish uchun
mo’ljallangan komponentlardan tuzilgan. QQRReeppoorrtt sahifa hisobotlar tuzish uchun ishlatiladigan (asosan vizual)
komponentalardan tuzilgan.
10 slayd
107
6- MAVZU
MB JADVALI UChUN DASTUR ILOVALARINI TUZISh
6.1.Ma’ruzani olib borish texnologiyasi
Talabalar soni 25-60 6-Ma’ruza, 2 soat Mashg’ulot shakli Mavzu bo’yicha ma’ruza Ma’ruza rejasi 1. MB jadvali bilan ishlash uchun ilova
yaratish algortmi 2. TDBNavigator komponenti va uning vazifasi 3. Ma’lumotlarni izlash va filtrlash 4. So’rovlar hosil qilish
O’quv mashg’ulotining maqsadi MB jadvali bilan ishlash uchun ilova yaratish va unda TDBNavigator komponenti-sidan qo’llanilishi. Ma’lumotlarni izlash va filtrlash, so’rovlar hosil qilish amallarini o’rganish;
Pedagogik vazifalar: O’quv faoliyati natijalari: MB jadvali bilan ishlash uchun ilova yaratish algortmi tushuntiriladi;
MB jadvali bilan ishlash uchun ilova yaratish algortmi o’rganib oladilar;
TDBNavigator komponenti va uning vazifasi haqida tushunchalar beriladi;
TDBNavigator komponenti va uning vazifasi haqida tushunchalarga ega bo’ladilar;
Ma’lumotlarni izlash va filtrlash yo’llari o’rgatiladi;
Ma’lumotlarni izlash va filtrlash yo’llari bilib oladilar;
So’rovlar hosil qilish mexanizmiga oid tushunchalar beriladi;
So’rovlar bilan ishlashga oid tushunchalar ega bo’ladilar;
O’qitish usullari Ma’ruza, aqliy hujum, texnika: blis-so’rov, diqqatni jalb qiluvchi savollari
O’qitish vositalari Ma’ruza matni, kompyuter slaydlari, doska, multimedia, proyektor
O’qitish shakllari Jamoaviy, frontal ish O’qitish sharoiti Kompyuter bilan ta’minlangan auditoriya. Monitoring va baholash Og’zaki nazorat: diqqatni jalb qiluvchi
savollar
108
6.1.Ma’ruzaning texnologik kartasi
Bosqichlar, vaqt
Faoliyat O’qituvchi Talabalar
1-bosqich. O’quv
mashg’ulotiga kirish
(10 min.)
1.1 O’quv mashg’ulotining mavzusi maqsadi, rejalashtirilgan natijasi va uni o’tkazish rejasini aytadi
1.2. Blis-surov usulida mavzu buyicha ma’lum bulgan tushunchalarni faollashtiradi. (1-ilova)
Diqqat bilan tinglaydilar.
Tushunchalarni
sanab beradilar.
2- bosqich. Axborot bosqichi (60 min.)
2.1. Mavzu rejasi va tayanch iboralar bilan tanishtiradi. (2-ilova)
2.2. Ma’ruza rejasining barcha punktlari
buyicha tushuntiradi.Xar bir punkt nixoyasida umumlashtirib boradi. Jarayon kompyuter slaydlarini namoyish kilish bilan olib boriladi. (3-ilova).
2.3. Tayanch iboralarga kaytiladi.
Tinglovchilar ishtirokida ular Yana bir bor takrorlanadi. Mavzuga oid bulmagan iboralar olib tashlanib, kerakli tushuncha va iboralar kushiladi.
Mavzuning asosiy mazmuniga e’tiborni qaratadi, ularni yozib olishni taklif qiladi.
Individual ravishda ishlaydilar, muhokama qiladilar va javoblar beradilar.
Slaydlarni o’rganadilar. Sharh mobaynida sxema, jadvallar, slaydlarni muhokama qila-dilar, aniqlashtiradi- lar, savollar beradilar.
Asosiy joylarini
yozib oladilar.
3-bosqich. Yakunlovchi
(10 min.)
3.1. Mavzu bo’yicha yakun chiqaradi. Mavzu buyicha olingan bilimlarni kayerda ishlatish mumkinligini ma’lum kiladi.
3.2.Mustaqil ish uchun vazifa beradi (4-ilova)
3.1. Savolga javob berishadi.
3.2. Mustaqil ish
uchun vazifani yozib olishadi.
109
1(6) ilova
Bilimlarni jonlantirish uchun savollar. 1. Delphi MBni boshqarishda qanday vositalarni ishlatadi? 2.BDE nima va u qanday ishlarni bajaradi? 3.DBE administrator utilitasi vazifasini tushuntirib bering?
4.MB bilan ishlash uchun vizual bo’lmagan komponentlar haqida ma’lumotlar bering.
5.MB bilan ishlash uchun vizual komponentlar haqida ma’lumotlar bering.
6.MBni psevdonimi nima va uni tuzish ketma ketligini aytib bering. 7.MB jadvali strukturasi qanday ketma-ketlikda bajariladi? 8.Maydon nima va u qanday elementlardan iborat? 9.MB jadvali bilan ishlash uchun oddiy ilova yaratish qanday ketma-
ketlikda bajariladi? 10.Ma’lumotni izlashda qanday usullar mavjud?
2(6) ilova
6-Mavzu. MB jadvali uchun dastur ilovalarini tuzish Reja: 1. MB jadvali bilan ishlash uchun ilova yaratish algortmi 2. TDBNavigator komponenti va uning vazifasi 3. Ma’lumotlarni izlash va filtrlash 4. So’rovlar hosil qilish
Tayanch iboralar: Ttable, DTBGrid, TEdit, TDataSource TDBNavigator,
TDataset komponentlari, ma’lumotlarni izlash va filtrlash, so’rovlar hosil qilish
110
MB jadvali bilan ishlash uchun oddiy ilova yaratish algortmi quyidagi ketma-ketlikda bajariladi:
1.Delphi tizimi ishga tushirilib BDE komponentalar palitrasidan Ttable komponentasi formaga qo’yiladi.
2.Formadagi Ttable komponentasi belgilanib, DataBase Name xossasida Mbning psevdonimi aniqlanadi.
3.TableName xossasidan MB jadvali nomi aniqlanadi. 4.Active xossasi True qiymat bilan o’rnatiladi. 5.Data Acciss komponentalar palitrasidan TdataSource komponentasi
formaga qo’yiladi. 6.TdataSet xosasi Table1 nom bilan o’rnatiladi. 7.Data Controls komponentalar palitrasidan TDbGrid komponentasi
formaga qo’yiladi. 9.DataSourse xossasi DataSourse1 nom bilan o’rnatiladi. 10.Menyudan File=>Save Project As buyrug’i berilib, oldin forma keyin
loyiha saqlanadi. 11.Loyihani ishga tushirish uchun F9 tugmasi bosiladi. Natijada quyidagi
formaga ega bo’lamiz.
1 slayd
TDBNavigator komponenti. MB jadvalida ma’lumotlarni surish, o’chirish, yozuvni siljitish va taxrirlash uchun Data Controls komponentalar palitrasida maxsus TDBNavigator komponentasi mavjud.
Bu komponentani formadagi MB jadvaliga quyidagi tartibda o’rnatish mumkin.
1.MB jadvali formasi ekranga chaqiriladi. 2.Data Controls komponentalar palitrasidadan TDBNavigator
komponentasi formaga joylashtiriladi. 3.TDBNavigator komponentalar xossasidan DataSourse xossasi
DataSourse1 nom bilan o’rnatiladi. 4.Menyudan File=>Save Project As buyrug’i berilib, oldin forma keyin
loyiha saqlanadi. 5.Loyihani ishga tushirish uchun F9 tugmasi bosiladi. Natijada jadvali ma’lumotlarni surish, o’chirish, yozuvni siljitish va
taxrirlash kabi tugmachalarga ega bo’lgan quyidagi formaga ega bo’lasiz. 2 slayd
111
Ma’lumotni izlash. Ma’lum belgilangan yozuvlarni ma’lumotlar
to’plamdan izlab topish uchun ikkita usul mavjud: Locate va Lookup. Locate - usuli biror maydonning berilgan yozuvi bo’yicha kerakli yozuvni
topish imkonini beradi. Uning umumiy ko’rinishi quyidagicha: Function Locate(Const KeyFields: String; Const KeyValues:
Variant; Options: TLocateOptions): Boolean; Bu yerda KeyFields -ma’lumotlarni izlashda qatnashadigan maydonlar nomlari. Ular
bir biridan nuqta vergul bilan ajratiladi. KeyValues -bir yoki bir necha izlanadigan maydon qiymatlari. Agar
izlanadigan qiymatlar bir necha bo’lsa massiv varianti funksiyasi qilib berish zarur. Options -izlanadigan parametrlar to’plami. U quyidagi qiymatlarni saqlash
mumkin: loCaseInsensitive. Registrni hisobga olmasdan izlash. loPartialKey. Maydon qiymati to’liq berilmagan holda izlash. Masalan, ‘So’
boshlanadigan familiyalar izlanadigan bo’lsa. U holda ma’lumotlar to’plamidan So bilan boshlanadigan familiyalar ‘Sobirov’ va ‘Soatov’ lar topiladi.
Agar izlanayotgan yozuv topilsa funksiya Locate -true qiymat qaytaradi. 3 slayd
TDataSet obyekti davomchisi bo’lgan ikkinchi LookUp izlash funksiyasini
ko’rib chiqamiz. Bu funksiya ham Locate funksiyasiga juda o’xshash bo’lib uning ko’rinishi quyidagichadir.
Function LookUp(Const KeyFields: String; Const KeyValues: Variant; const ResultFields: String): Variant;
Bu funksiyaning Locate funksiyasidan farqi shundaki u topilgan yozuvni joriy dab aniqlamaydi, u topilgan yozuvning berilgan maydon qiymatini qaytaradi. Xuddi oldingi holdagi kabi uning parametrlari quyidagilarni aniqlaydi.
KeyFields -ma’lumotlarni izlashda qatnashadigan maydonlar nomlar ro’yxarti. Ular bir biridan nuqta vergul bilan ajratiladi.
KeyValues -bir yoki bir necha izlanadigan maydon qiymatlari. Agar izlanadigan qiymatlar bir necha bo’lsa massiv varianti funksiyasi qilib berish zarur.
Ma’lumotlarni filtrlash. Ma’lumotlarni filtrlashning ikkita asosiy usuli mavjud:
filtr xossasini ishlatish; OnFilterRecord obrabotchigini (qayta ishlovchisini) tashkil
qilish. 4 slayd
112
Ma’lum talablarga javob beruvchi yozuvlarni ajratib olish uchun Query
komponentasidan foydalaniladi. Query komponentasi xossalari: Xossa Ta’rifi
Name SQL Active
Komponenta nomi. Datasource komponentasi tomonidan so’rov natijalarini, yozuvlarni ko’rishga imkon beruvchi komponentalar, misol uchun DBGrid Bilan bog’lash uchun ishlatiladi. SQL tilida yozilgan so’rov. Xossaga True kiymati berilganda so’rovni bajarish aktivlashadi
Umumiy holda jadvaldan yozuvlarni tanlash uchun so’rov quyidagi ko’rinishga ega bo’ladi:
SELECT Maydonlar ruyxati FROM Jadval WHERE (Shart) ORDER BY MaydonlarRuyxati
Bu yerda ORDER BY – yozuvlarni tartiblash parametri. Misol uchun: SELECT Fam, Name FROM ':Maktab:school.db' WHERE (Class = '10a') ORDER BY Name, Fam Bu surov "Maktab" ma’lumotlar bazasidan(School.db jadvalidan) 10-a sinfi
talabalari ro’yxatini hosil qiladi. 5 slayd
6-mavzu bo’yicha xulosalar
Hozirgi kunda inson faoliyatida ma’lumotlar bazasi (MB) kerakli axborotlarni saqlash va undan oqilona foydalanishda juda muhim rol o’ynamoqda. Sababi: jamiyat taraqqiyotining qaysi jabhasiga nazar solmaylik o’zimizga kerakli ma’lumotlarni olish uchun, albatta, MBga murojaat qilishga majbur bo’lamiz. Demak, MBni tashkil qilish axborot almashuv texnologiyasining eng dolzarb hal qilinadigan muammolaridan biriga aylanib borayotgani davr taqozasidir.
Zamonaviy ma’lumotlarni boshqarish tizimlari kerakli ma’lumotlarni so’rovlar yordamida tanlab orlishga imkon beradi. Foydalanuvchi ma’lum qoidalarga asosan so’rov hosil qiladi, tizim bo’lsa shu so’rovga mos keluvchi yozuvlarni ajratib beradi.
6 slayd
4(6) ilova Mustaqil ishlash uchun tavsiya qilinadigan topshiriqlar 1. Dinamik yaratiluvchi psevdonimlar hosil qilish. 2. DataSet muxarriri bilan ishlash. 3. Hisoblanuvchi maydonlar hosil qilish. 4. MB bilan ishlashda Delphi grafikasi. 5. Ma’lumotlarni filtrlashning usullari. 6. Ma’lumotlar bazasiga so’rovlar tashkil qilish.
113
LABORATORIYA
MASHG’ULOTLAR
ISHLANMALARI
114
1-Mavzu. Yozuvlar va fayllar foydalanib dasturlash
Laboratoriya ishining maqsadi: TOpenDialog va TSaveDialog
komponentlari bilan ishlash qoidalarini o’rganish. Fayllar va yozuv tipidagi
ma’lumot foydalanib dasturlar yozish.
Tayanch iboralar: fayl, element, fayl o’zgaruvchisi, fayl ko’rsatkichi,
joriy element, kiritish, chiqarish, muloqot oynalari.
Dars o’tish vositalari: sinf doskasi, o’quv-uslubiy qo’llanmalar, kompyuter,
mashg’ulotga doir slaydlar, mashq va masalalar to’plami.
Dars o’tish usuli: suhbat, mustakamlash, namoyish, amaliy ishlash.
Darsning texnologik xaritasi:-80 minut.
Tashkiliy qism: xonaning tozaligi, jihozlanishi, sanitariya holati,
talabalarning davomati-2 minut.
Talabalar bilimini baholash: o’tilgan mavzuni qisqacha takrorlash,
talabalar bilan savol – javob o’tkazish va baholash- 10 minut.
Yangi mavzu bayoni: -40 minut.
Mavzuni o’zlashtirish darajasini aniqlash va mustahkamlash-20 minut.
Sinov savollari – 5 minut.
Uyga vazifalar berish - 3 minut.
1.1. Yozuv tipidagi o’zgaruvchilardan foydalanib dasturlash
Yozuv– bu maydon deb ataluvchi bir yoki turli tiplardagi elementlarni
birlashtiruvchi ma’lumotlar strukturasi. Yozuvlar turli tipli elementli
strukturalashgan ma’lumotlar bazasini yaratishda qulay hisoblanadi, masalan:
Type { yozuv tipini e’lon qilish }
TStudent = record
Fish: string[20]; {F.I.Sh. maydoni}
Gr: integer;{Talaba gr. nomeri maydoni}
Baho:array[1..3] of integer;{baholarmassivi maydoni}
end;
115
Var
Student:TStudent;{yozuv tipli o’zgaruvchini e’lon
qilish}
Yozuv elementiga (maydoniga) murojaat qilish uchun yozuv nomi va
nuqtadan so’ng maydon nomini ko’rsatish kerak, masalan:
Student.Fish:= ‘Usmonov N.’;
{yozuv maydoniga ma’lumot
kiritish}
Student. Gr:=401;
. . .
with operatori dasturda maydonlar nomlarini o’zgaruvchi – yozuv nomini
ko’rsatmasdan ishlatishga imkon beradi:
With Student do
Begin
Fish:= ‘Usmonov N.’;
Gr:=401;
End;
1.2. Fayllar bilan ishlash
Fayl – bu tashqi xotiradagi ma’lumotlarning nomlangan sohasi. Object
Pascal da ularni tashkillashtirish va elementlariga murojaat qilish uslublariga ko’ra
fayllarning uch xil ko’rinishi farqlanadi:matnli, tiplashgan va tiplashmagan.
Matli fayl – qatorlardan iborat fayl. Matnli faylga DELPHI dagi
(kengaytmasi *.pas) dasturning dastlabki matn fayli misol bo’ladi. Matnli fayl
bilan ishlash uchun mos faylli o’zgaruvchi tavsiflanishi zarur: Var F: TextFile;.
Tiplashgan fayllar barcha elementlari fiksirlangan va bir xil o’lchovli ega
bo’lgan, bu esa ularning har biriga to’g’ridan-to’g’ri murojaat qilishni
tashkillashtirish imkonini beradi (elementga murojaat uning tartib nomeri orqali
amalga oshiriladi). Odatda, bunday fayllarning elementlari yozuv bo’ladi. Faylli
o’zgaruvchi tavsiflanishida uning tipi ko’rsatiladi: Var F: TextFile;.
116
Tiplashmagan fayl – bu ma’lumotlari ma’lum tipga ega bo’lmagan va
baytlar ketma-ketli sifatida qaraladigan fayl. Faylli o’zgaruvchi e’lon qilinadi: Var
F: File;.
Fayllar bilan ishlash tartibi quyidagicha:
. . . AssignFile(F, ‘Filename.txt’);
//“Filename.txt” fayl bilan
// F faylli o’zgaruvchini
bog’lash
Rewrite(F); // yangi yaratish yoki (Reset(F);)
mavjud
// faylni ochish
. . .
Read(F, Stud); // ma’lumotni fayldan o’qish yoki
// (Write(F, Stud)) faylga yozish
. . .
CloseFile(F); // faylni yopish
1.3. Fayllar bilan ishlovchi qismdasturlar
AssignFile(var F; FileName: string) – F faylli o’zgaruvchi
va FileName nomli faylni bog’lash.
Reset(var F[: File; RecSize: word]) – mavjud faylni ochadi.
Tiplashmagan faylni ochishda RecSize fayl elementining o’lchovi beriladi.
Rewrite(var F[: File; RecSize: word]) – yangi fayl
yaratiladi va ochiladi.
Append(var F: TextFile) – fayl oxiriga matn yozish uchun matnli
fayl ochiladi.
Read(F,v1[,v2,…vn]) – tiplashgan fayldan joriy ko’rsatgichdan
boshlab qiymatlarni va matnli fayldan satrni o’qish.
117
Write(F,v1[,v2,…vn]) – tiplashgan fayldan joriy ko’rsatgichdan
boshlab qiymatlarni va matnli fayldan satrni yozish.
CloseFile(F) – oldin ochilgan fayl yopiladi.
Rename(var F; NewName: string) – ixtiyoriy tipdagi ochilmagan
faylni qayta nomlaydi.
Erase(var F) – ixtiyoriy tipdagi ochilmagan faylni o’chiradi.
Seek(var F; NumRec: Longint) – matnli bo’lmagan fayllar uchun
NumRec nomerli elementga ko’rsatgichni o’rnatadi.
SetTextBuf(var F: TextFile; var Buf[;Size: word]) –
matnli fayl uchun Size hajmdagi kiritish-chiqarish yangi buferini aniqlaydi.
Flush(var F: TextFile) – kiritish-chiqarish buferi qiymatini faylga
yozish.
Truncate(var F) – joriy pozisiyadan boshlab faylning oxirigi
elementigacha o’chiradi.
LoResult: integer - oxirgi kiritish-chiqarish amalining natijasining
kodi.
FilePos(var F):longint – matnli bo’lmagan fayllar uchun joriy
pozisiya nomeri aniqlaydi. Hisoblash noldan boshlanadi.
FileSize(var F):longint – matnli bo’lmagan fayllar uchun
fayldagi elementlar sonini aniqlaydi.
Eoln(var F: TextFile): boolean – kursor satr oxiriga o’rnatilsa
True qiymat beradi.
Eof(var F)): boolean - kursor fayl oxiriga o’rnatilsa True qiymat
beradi.
SeekEoln(var F: TextFile): boolean – probel yoki tabulyasiya
belgisidan farqli satr yoki fayldagi oxirgi simvolga kelganda True qiymatga ega
bo’ladi (matnli fayllar uchun).
SeekEof(var F: TextFile): boolean – SeekEoln kabi ish
bajaradi va barcha fayllar ishlatiladi.
118
BlockRead(var F: File; var Buf; Count: word[;
Result: word]) , BlockWrite(var F: File; var Buf;
Count: word[; Result: word]) - Count miqdordagi bloklarning Buf
o’zgaruvchini mos o’qish va yozish prosedurasi.
1.4. TOpenDialog va TSaveDialog komponentlari
TOpenDialog va TSaveDialog komponentlar Dialogs sahifada
joylashgan. Bu sahifaning barcha komponentlar vizual bo’lmagan komponentlar,
ya’ni dastur ishlaganda ko’rinmaydi. Shuning uchun ham ularni formaning
ixtiyoriy qulay joyga joylashtirish mukin. Qaralayotgan bu ikki komponent bir xil
xossalarga ega, faqatgina tashqi ko’rinishi bilan farqlanadi. Komponent murojaat
qilingandan so’ng muloqot oyna hosil bo’ladi, uning yordamida fayl nomi va uning
yo’li tanlanadi. Muloqot muvaffaqiyatli yakunlangach FileName xossa qiymati
fayl nomi va uning yo’liga teng bo’ladi.
Fayllarni filtrlash uchun ko’rish oynasidagi Filter xossasidan
foydalaniladi, fayl kengaytmasi berish uchun, foydalanuvchi tomonidan u
berilmasa DefaultExt xossa qiymati bilan aniqlanadi. Muloqot oynasi
sarlavhasini o’zgatirish uchun Title xossasidan foydalaniladi.
1.5. Topshiriqni bajarish tartibi
Topshiriq: Kirish imtixonlarini topshirgan abiturentlar qaytnomasi fayliga
yozish yoki o’qish dastur tuzing. Har bir yozuv familiya hamda fizika, matematika
va insho boholaridan iborat. Abiturentlarning o’rtacha ballarining kamayishi
tartibida ro’yxatini hosil qiling va mantli faylga bu informasiyalarni yozib qo’ying.
119
1.5.1. TOpenDialog va TSaveDialog komonentlarni sozlash Formaga TOpenDialog va TSaveDialog komponentlarni qo’yish
uchun komponentlar menyusi Dialogs sahifasida mos ravishda yoki
piktogrammasiga sichqoncha bosing va ularni formaning ixtiyoriy joyiga o’rnating.
Filtralarni aniqlash quyidagicha amalga oshiriladi: obyektlar inspektorida mos
komponentni Filter xossasi o’ng qismida sichqonchani ikki marta bosiladi.
Hosil bo’lgan Filter Editor oynasining chap qismiga mos filtrni tavsiflovchi
matn, o’ng qismiga esa, niqob yoziladi. OpenDialog1 uchun 1.1-rasmda niqob
o’rnatamiz, bunda *.dat niqob dat kengaytmali barcha fayllarni ko’rinishini,
*.* barcha fayllarni ko’rsatishini bildiradi.
1.1-rasm
Fayl .dat kengaytmali yozilishi uchun DefaultExt xossasiga zarur
kengaytma -.dat yozib qo’yamiz.
Xuddu shunday, SaveDialog1 komponentni matnli fayl (.txt
kengaytmali fayl) uchun sozlaymiz (1.2-r.).
120
1.2-rasm
6.5.2.Dastur bilan ishlash
Dastur ishga tushgach dasturning muloqot oynasi hosil bo’ladi. “Yozuvlarni
kiritish” knopasi ko’rinmaydi. Yozuvlar uchun yangi fayl yaratish uchun
“Yaratish” knopkasi bosiladi yoki oldin yaratilgan (mavjud) faylni ochish uchun
“Ochish” knopkasi bosiladi. Bundan keyin “Yozuvlarni kiritish” knopasi ko’rinadi
va yozuvlarni kiritish mumkin bo’ladi. “Tartiblash” knopka bosilganda o’rtacha
ballarining kamayishi tartibida ro’yxatini hosil qilinadi. Bu natijani “Saqlash”
knopkani bosib mantli faylga yozib qo’yish mumkin. Yozuvlar fayl “Close” yoki
knopkasi bosilganda dastur bilan birga yopiladi.
121
Dastur matni quyida keltirilgan:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, ExtDlgs; type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Memo1: TMemo; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Button6: TButton; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; SaveDialog1: TSaveDialog;
122
OpenDialog1: TOpenDialog; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure Edit2KeyPress(Sender: TObject; var Key: Char); procedure Edit3KeyPress(Sender: TObject; var Key: Char); procedure Edit4KeyPress(Sender: TObject; var Key: Char); private { Private declarations } public { Public declarations } end; Type TStudent = record FIO: string[40]; // F.I.Sh. otc: array[1..3] of word; // baxolar sball : extended; // urtacha bal end; var Form1: TForm1; Fz : file of Tstudent; // yezuv tipidagi fayl Ft : TextFile; // Tekst fayl Stud : array[1..100] of Tstudent; // yozuvlar massivi nzap : integer; // yozuv nomeri FileNameZ, FileNameT : string; // fayl nomlari implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin nzap:=nzap+1; with stud[nzap] do begin FIO:=Edit1.Text; otc[1]:=StrToInt(Edit2.Text); otc[2]:=StrToInt(Edit3.Text); otc[3]:=StrToInt(Edit4.Text); sball:=(otc[1]+otc[2]+otc[3])/3; Memo1.Lines.Add(fio+' '+IntToStr(otc[1])+' ' + IntToStr(otc[2])+' '+IntToStr(otc[3])); end; Write(fz,Stud[nzap]); // faylga yozish Edit1.Text:=''; Edit2.Text:='';
123
Edit3.Text:=''; Edit4.Text:=''; edit1.SetFocus end; procedure TForm1.FormCreate(Sender: TObject); begin Edit1.Text:=''; Edit2.Text:=''; Edit3.Text:=''; Edit4.Text:=''; Memo1.Clear; Button1.Hide; // "Yozuvni kiritish" knopkasini kurinmas kilish nzap:=0; end; procedure TForm1.Button5Click(Sender: TObject); begin Close; end; procedure TForm1.Button4Click(Sender: TObject); begin OpenDialog1.Title :='yangi fayl yaratish'; if OpenDialog1.Execute then begin FileNameZ:= OpenDialog1.FileName; AssignFile(Fz, FileNameZ); Rewrite(Fz); end; Button1.Show; end; procedure TForm1.Button3Click(Sender: TObject); begin if OpenDialog1.Execute then begin FileNameZ:= OpenDialog1.FileName; AssignFile(Fz, FileNameZ); Reset(Fz); end; while not eof(fz) do begin nzap:=nzap+1; Read(fz,stud[nzap]); with stud[nzap] do Memo1.Lines.Add(fio+' '+IntToStr(otc[1])+' ' +IntToStr(otc[2])+' '+IntToStr(otc[3])); end; Button1.Show;
124
end; procedure TForm1.Button2Click(Sender: TObject); var i,j : word; st : TStudent; begin for i:=1 to nzap-1 do for j:=i+1 to nzap do if Stud[i].sball < Stud[j].sball then begin st:=Stud[i]; Stud[i]:=Stud[j]; Stud[j]:=st; end; Memo1.Clear; for i:=1 to nzap do with stud[i] do Memo1.Lines.Add(IntToStr(i)+' '+fio+' ' + FloatToStrf(sball,fffixed,4,2)); end; procedure TForm1.Button6Click(Sender: TObject); var i:word; begin if SaveDialog1.Execute then begin FileNameT:= SaveDialog1.FileName; AssignFile(Ft, FileNameT); Rewrite(Ft); end; for i:=1 to nzap do with stud[i] do Writeln(Ft,i:4,'. ',fio,sball:8:2); // tekst faylga yozish CloseFile(Ft); end; procedure TForm1.FormClose(Sender:TObject; var Action: TCloseAction); begin Close; end; procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if key=#13 then edit2.SetFocus end; procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char); begin if key=#13 then edit3.SetFocus end;
125
procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char); begin if key=#13 then edit4.SetFocus end; procedure TForm1.Edit4KeyPress(Sender: TObject; var Key: Char); begin if (key=#13) and button1.Visible then button1.SetFocus else edit1.SetFocus end; end.
Individual bajarish uchun topshiriqlar: Dasturga kiritiladigan ma’lumotlar matnli faylda saqlash va oldingi saqlangan faylni
o’qish imkoniyati e’tiborga olinadi. Natijalarni ko’rish oynasida (Memo) va matnli faylga chiqariladi. 1. Magazinda xaridorlarning tovar sotib olishida ro’yxat hosil qilinadi. Bu
ro’yxatning har bir yozuvi quyidagidan iborat: tartib raqami F.I.Sh., xaridorning uy
manzili va xisobga olingan sanasi.F.I.Sh. va uy manzilini tekshirib takrorlanuvchi
yozuvlarni ro’yxatdan o’chiring.
2. Omborda mavjud tovarlar ro’yxatida tovarning nomlari, tovarning o’lchav
birliklari, birligi bo’yicha bahosi va tovar keltirilgan sanasi. Ombordagi bahosi
1000000 so’mdan oshgan va bir oydan ko’p saqlangan tovarlar ro’yxatini alifbo
tartibida chiqaring.
3. Yotoqxonada joy olish uchun talabalar ro’yxati hosil qilingan. Ro’yxatda
talabaning F.I.Sh, guruhi, o’rtacha ball, oila a’zosi sifatida daromadi haqida
ma’lumotlar bor. Yotoqxona birinchi navbatda minimal oyligining 2 barobaridan
kam bo’lgan daromadli oila a’zosiga, keyin esa o’rtacha ballning kamayish
tartibida yotoqxonada joy berish navbatining ro’yxatini chiqarish dasturini tuzing.
4. Avtovakzalning shoxobchasida avtabuslarning xarakatlanish ro’yxati
ma’lumotnomasi bor. Unda har bir qatnov uchun uning nomeri, avtobusning tipi,
boshlang’ich manzili, jo’nash vaqti va kelish vaqti. Berilgan vaqtdan oldin
boshlang’ich manzilga keladigan foydalanish mumkin bo’lgan qatnovlar haqida
chiqaring.
126
5. Shaharlararo ATSda so’zlashuvlar haqida informasiyalar quyidagicha:
so’zlashuvlar sanasi, shahar kodi va nomeri, so’zlashuv vaqti, tarifi, o’sha
shahardagi telefon nomer va mijozning telefon nomeri. Har bir shahar bo’yicha
so’zlashuvlarning umumiy vaqti va so’mmasi toping.
6. Furmaning xodimlari haqidagi informasiyaga qo’yidagilar kiradi: F.I.Sh,
tabel nomeri, bir oydagi minimal soatlar miqdori, soatbay tarif. Agar ish vaqti 144
soatdan oshsa ikki barobar haq to’lanadi firmaning har bir xodimi uchun oylik
moashi jamini 12% soliq hisobida chop yeting.
7. Sport musabaqasi ishtirokchisi haqidagi matnlar quyidagi: mamlakatlar
nomi, kamandalar nomi, ishtirokchilar F.I.Sh, o’yin nomeri yoshi, bo’yi, vazni.
Komandadagi eng yosh o’yin ishtirokchilari haqida informasiya chiqaring.
8. Kitoblar uchun kutubxonada qo’yidagilar saqlanadi: kutubxonaning
registirasiya nameri, mualliflari F.I.Sh, nashr yili, nashriyot cahifalar soni. Berilgan
yilda nashr etilgan kitoblarning mualliflarini alifbo tartibida chiqaring.
9. Zavodning turli xil sexida bir necha nom bilan maxsulotlar chiqariladi.
Mahsulotning to’g’rsidagi ma’lumotlar qo’yidagicha: nomi, miqdori, sex nomeri.
Berilgan sex uchun kamayishi tartibida har bir nom bo’yicha chiqarilgan
maxsulotlarni conni chop yeting.
10. Korxona xodimlari haqidagi informasiya qo’yidagilardan iborat: F. I.
Sh., bo’lim raqami, lavozimi, ishga kirgan sanasi. Bo’limlar bo’yicha xodimlarning
ctajlarining kamayishi tartibida ro’yxatini hosil qiling.
11. Universitetga imtixon topshirgan abuterintlarning vedimis qaydnomasida
quyidagi ma’lumotlar bor: F. I. Sh., manzili, baholari. Samarqand shahrida
yashovchi va o’rtacha bali 4,5 dan kam bo’lmagan abiturentlar sonini aniqlang va
ularning familiyasini alifbo tartibida chop eting.
12. Aeroport spravochnigida keyingi kunda parvozlar jadvali saqlanadi. Har
bir qatnov uchun quyidagilar ko’rsatilgan: qatnov raqami, samolyot tipi, boradigan
manzili, uchish vaqti. Berilgan manzil uchun barcha qatnov raqamlari, samolyot
tipi va uchish vaqtini chop eting.
127
13. Temir yul kassa administratorda keyingi hafta poyezdlari bo’sh joylari
haqidagi informasiya quyidagi ko’rinishda saqlanadi: jo’nash sanasi, boradigan
manzili, jo’nash vaqti, bo’sh joylari soni. xalkaro konferensiyaning tashkiliy
qo’mitasi administratorga poyezd junash vaqti kechki t soatdan erta, haftaning k-
nchi kuniga m ta joy N shaharga band qilishni iltimos qiladi. Jo’nash vaqtini yoki
tuliq xajmda buyurtmaning bajarolmaslik imkoniyati haqidagi xabarni chop eting.
14. Universitetga imtihon topshirgan abiturentlar kaydnomasida quyidagilar
mavjud: abiturent FISh, bahosi. Universitet buyicha o’rtacha ballni xisoblang,
universitet bo’yicha o’rtacha balldan yuqori balli abiturentlar ruyxatini chop eting.
Ruyxatda birinchi barcha imtihonlarni 5 ga topshirganlarni joylashtirish kerak.
15. Radioatelda remontga berilgan radiooperaturalar haqidagi kvitansiyalar
saqlanadi. Har bir kvitansiyada quyidagi informasiyalar bor: Mahsulot guruhining
nomlanishi (televizior, radio), maxsulot markasi, remontga qabul qilingan sana,
buyurtmaning bajarilgandagi holati (bajarilga yoki bajarilmagan). Mahsulot
ruyxatlari buyicha joriy kundagi buyurtmalarning bajarilganlik xolatini haqidagi
informasiyalarni chop eting.
16. Talabalarning o’zlashtirishi haqidagi qaydnomani shakllantirish dasturi
tuzing. Ushbu qaydnomaning har bir yozuvida quyidagilar mavjud: guruh nomeri,
talabaning FISh, oxirgi sessiyadagi bali, Har bir guruhning talabalar ro’yxatini
chiqaring, har bir guruhda talabaning familiyasi o’rtacha balining kamayish
tartibida joylashtirilsin.
17. Kelin va kuyovlar ro’yxati mavjud. Ro’yxatning har bir yozuvi jinsi,
nomi, yoshi, buyi, vazni xamda sherigiga bo’lgan talablar, ya’ni eng kichik va eng
katta yosh, eng katta va eng kichik og’irlik, eng kichik va eng katta bo’y. Bu
ro’yxatni sheriklarga bo’lgan talablarni e’tiborga olib, kelin va kuyovlarni
takrorlanmasdan juftliklarga xosil qiling.
18. Kutubxonada kitoblar ruyxati bor. Har bir yozuv quyidagilardan iborat:
muallif familiyasi, kitob nomi, nashr etilgan yili. Kitoblarning nomida kandaydir
(klaviaturadan kiritiladigan) kalit so’zi uchraydigan kitoblar ruyxatini chop eting.
128
19. Magazindan sotuvga qo’yilgan avtomabillarning ro’yxati mavjud. Bu
ro’yxatning har bir yozuvida quyidagilar mavjud: avtomabillar markasi, narxi, 100
kmga yoqilgi sarfi, ishonchliligi (remontsiz ishlash vaqti), qulayligi (a’lo darajada,
yaxshi, konikarli). Xaridorlarning talabini qondiruvchi avtomabillarning ro’yxatini
hosil qiling, bunda mumkin bo’lgan qiymatlarni qandaydir intervali shaklida
kiritiladi.
20. Bo’sh ish o’rni ro’yxatining har bir yozuvi quyidagilardan iborat:
tashkilotning nomi, lavozim, klassifikasiyasi (razryad yoki ma’lumot) mutaxasislik
buyicha ishlagan ish staji, oylik maoshi, ijtimoiy sug’urta mavjudligi (ha, yo’q),
har yili haq to’lanadigan mehnat ta’tilning muddati. Mijozlarining talabiga mos ish
joylarni ro’yxatini chop etish.
21. Aeroportning texnik xizmati ma’lumotnomasi mavjud bo’lib, unda
quyidagi strukturadagi yozuvlar bor: samolyotning tipii, chiqqan vaqti, 1000 km ga
yoqilg’i sarfi. Texnik xizmat yoqilgiga talabini aniqlash uchun parvozlar jadvalini
so’raydi. Jadvalning har bir yozuvida quyidagi informasiyalardan iborat: qatnov
raqami, boradigan manzili, uchish masofasi. Keyingi kunga parvozni ta’minlash
uchish uchun yoqilgi mikdori yigindisini chop eting.
22. Shaxmat doskasi maydoni quyidagi yozuv bilan xarakterlanadi:
Type Pole=record Ver:(a,b,c,d,e,f,g,h); {vertikal koordinatalar} Hor:1..8; {gorizontal koordinatalar} end; Ver i va Hor i koordinatali maydonda turgan Ferz uradigan barcha
maydonlarning krestik bilan kolganlarini 0 bilan belgilang.
Nazorat savollari
1. Faylli tiplar va ular tavsiflashni misollar orqali tushuntiring.
2. Tiplashgan faylar bilan ishlashda qo’llaniladigan standart proseduralar va
funksiyalarni keltiring.
3. Tiplashgan fayllar tashkil qilish va ulardan ma’lumotlarni o’qish qanday
amalga oshiriladi
129
Asosiy adabiyotlar ro’yxati
1.Власов К.Н.и др. Элементы информатики. М.: Наука, 1988, 320 с.
2. Вирт Н. Алгоритмы+структура данных=программы. Москва.: мир, 1985,
406 с.
3. Поляков Д.Б., Круглов И.Ю. Программирование в среде Турбо Паскаль
(версия 5.5) М.:МАИ.1992, 576 с.
4. Перминов О.Н. и др. Программирование на языке Паскаль. М.: 1988, 224 с.
5. Федоров А., Рогаткин Дм. Borland Pascal в среде Windows. – Киев:
"Диалектика", 1993. – 656 с.
6. Кулътин Н.Б. Программирование в Турбо Паскаль 7.0 и Delphi –
СПб.: БЌВ, 1998. – 240 с.
Qo’shimcha adabiyotlar
1. Abdullaev A.N., Axatov A.R. DELPHI muhitida dasturlash. «Amaliy
matematika va informatika» yo`nalishida ta`lim olayotgan talabalar uchun
laboratoriya ishlari majmuasi. Samarqand: SamDU nashri, 2007. 64 bet.
2. Зуев Е.А. Язык прорграммирования Турбо Паскаль 6.0, 7.0-М.: Радиосвязь,
1993 г.
130
2.MAVZU. QISM DASTUR VA MODULLARDAN
FOYDALANISH DASTURLASH
Laboratoriya ishining maqsadi: qism dasturlarni yozish va modullarni
yaratishda DELPHI muhitining imkoniyatlarini o’rganish. Qism dasturlar
majjmuasidan iborat UNIT tashqi modulni qo’llab dasturlar yaratish va uni
sozlash.
Tayanch iboralar: qism dasturlar, proseduraning tavsifi, formal parametrlar
ro’yxati, proseduraga murojaat.
Dars o’tish vositalari: sinf doskasi, o’quv-uslubiy qo’llanmalar, kompyuter,
mashg’ulotga doir slaydlar, mashq va masalalar to’plami.
Dars o’tish usuli: suhbat, mustakamlash, namoyish, amaliy ishlash.
Darsning texnologik xaritasi:-80 minut.
Tashkiliy qism: xonaning tozaligi, jihozlanishi, sanitariya holati,
talabalarning davomati-2 minut.
Talabalar bilimini baholash: o’tilgan mavzuni qisqacha takrorlash,
talabalar bilan savol – javob o’tkazish va baholash- 20 minut.
Yangi mavzu bayoni: -30 minut.
Mavzuni o’zlashtirish darajasini aniqlash va mustahkamlash-20 minut.
Sinov savollari – 5 minut.
Uyga vazifalar berish - 3 minut.
2.1. Qismiy dasturlardan foydalanish
Qism dastur – bu asosiy dasturning ixtiyoriy joyida bir necha marta
murojaat etish mumkin bo’lgan ma’lum shaklda rasmiylashtirilgan operatorlar
guruhining nomlanishi.
Qism dasturlar dastur matnida bir xil operatorlar ketma-ketligi bir necha
marta takrorlangan holda ishlatiladi. U ketma- ketlik zaruriy operatorlardan iborat
qism dasturga murojaat bilan almashtiriladi. Qism dasturlar maxsus kutubxona
modullarini yaratishda qo’llaniladi, ulardan boshqa dasturlarda foydalanish uchun
belgilangan vazifali qism dasturlar to’plamidan iborat bo’ladi.
Qism dasturlar prosedura va funksiyalarga ajratiladi.
131
Prosedura quyidagi strukturaga ega:
procedure <prosedura ismi>(<formal parametrlar
ro’yxati>);
label <metkalar ro’yxati>;
const <o’zgarmaslarni kiritish>;
type <yangi tiplarni aniqlash>;
var <o’zgaruvchilarning tiplarini e’lon
qilish>;
<qism dasturgagina tegishli bo’lgan ichki
prosedura va funksiyalar e’loni>;
begin
<proseduraning tana qismi>
end;
Funksiyaning proseduradan farqi u ifodalarda operand sifatida qo’llanilishi
mumkin, u quyidagi syrukturaga ega:
Function <funksiya nomi>([formal parametrlar
ro’yxati]): <natija tipi>;
Const [o’zgarmaslar ruyxati];
Type [tiplar ruyxati];
Var [o’zgaruvchilarni tavsiflash];
Begin
… // operatorlar
Result:= … ; // Resultga hisoblangan natijani
olish
End;
Prosedura va funksiya qismiy dasturlarning farmal parametrlari sifatida
ishlatilishi mumkin. Buning uchun quydagicha tip aniqlanadi:
Type <nom>=function ([formal parametrlar ruyxati]): <natija
tipi>; yoki Type <nom> = procedure ([formal parametrlar
ro’yxati]);.
132
Prosedura yoki funksiya nomi dasturda unikal bo’lishi kerak. Formal
pareametrlar ro’yxatining bo’lishi shart emas. Agar mavjud bo’lsa, formal
parametrlarning nomlari va ularning tiplari nuqtali vergul bilan ajratilib sanab
o’tiladi. Formal parametrlarning uch turi mavjud: parameter-qiymat, parameter-
o’zgaruvchi, parameter-o’zgarmas. Qism dasturga murojat qilganda bu turlarga
malumotlarni uzatish turlicha amalga oshiriladi. Parameter qiymat nusxa oladi va
qism dastur ularning nusxalari bilan ishlaydi shuning uchun bunday parametrga
qism dasturga murojat qilinganda arifmetik ifoda qo’yish mumkin. Parameter-
o’zgaruvchi (undan oldin var qo’yiladi) va parameter-o’zgarmas qism dasturga
adres uzatiladi va u o’zgaruvchining o’zi bilan ishlaydi. Qism dastur o’z ishi
natijasini parameter- o’zgaruvchi yordamida murojaat qilingan dasturga uzatadi.
Funksiyalarda maxsus o’zgaruvchi Result ishlatiladi u funksiya ishining
yakuni bo’yicha asosiy dasturga uzatuvchi qiymat sifatida interpritatsiya qilinadi
Object Pascalda ko’p ishlatiladigan ichki prosedura va funksiyalar mavjud,
ular tilning qismi hisoblanadi va tavsiflash bo’limida oldindan aniqlanmasdan
murojat qilinadi.
2.2. Modullardan foydalanish
Modul – o’zida prosedura, funksiya hamda tavsiflash bo’limining turli xil
kiomponentlarini o’z ichiga oluvchi mustaqil kompilyatsiya qilinuvchi dasturiy
birlik. Modul strukturasi quydagi asosiy qismlaedan iborat: sarlavha, interfeys
qism, bajariluvchi va yakunlovchi qism.
Modul sarlavhasi Unit so’zi va modulning asosiy matni
joylashadigan diskli fayl ismi bilan mos tushadigan modul ismidan iborat bo’ladi.
Modul ismi uni boshqa modullar va asosiy dasturlar bilan bog’lash uchun kerak.
Bu bog’lanishi Uses qismida o’rnatiladi:
Uses <modullar_ro’yhati>;
Interfeysli qism Interface so’zi bilan boshlanadi. Bu qism modulning
barcha global obyektlari (turlar, o’zgarmaslar, o’zgaruvchilar va qismiy dasturlar)
133
e’lon qilinadi, qayerdaki ularni asosiy dasturga va/yoki boshqa modullar murojaat
qilish mumkin bo’lishi uchun.
Interfeysli qismda katta qismiy dasturlarni e’lon qilishda faqat
ularning ismi ko’rsatiladi, asosiy dasturda esa berilgan o’zgaruvchilar va u qismiy
dasturlarga murojaat mumkin bo’ladi. Interfeysli qismda qismiy dasturlarni e’lon
qilish ularning kompilyasiyasini avtomatik bajarish uchun yuboriladi.
Bajaruvchi qism Implementation so’zidan boshlanadi va interfeysli
qismda e’lon qilingan qismiy dasturlardan tashkil topadi. Unda quyidagi modul
uchun lokal obyektlar e’lon qilinishi mumkin: yordamchi turlar, o’zgarmaslar,
o’zgaruvchilardan hamda nishonlar, inisializasiya qismida ishlatilayotgan bo’lsa.
Bajariluvchi qismda modulning interfeysli qismida e’lon qilingan qismiy
dasturlarni yozish uchun interfeysli qismida yozilgani uchun formal o’zgaruvchilar
ro’yhatini tashlab sarlavhani yozish mumkin.
Inisializasiya qismi initialization va asosiy dasturga boshqaruvni uzatguncha
bajariladigan operatorlardan tuziladi.
Yakunlovchi qism finalization kalit suz bilan boshlanadi va dastur ishini
yakunlayotganda bajariladi.
Instalyatsiya va yakunlash qismi kam ishlatiladi.
2.3. Topshiriqni bajarish tartibi
Topshiriq: Prosedura ko’rinishda ifodalab ekranga funksiya qiymatlar
jadvalini chiqaradigan dastur tuzing. Funksiya sifatida tg(x), ch(x) va sin2(x) lar
tanlanadi.
2.3.1. Modulni yaratish
Modul yaratishda, o’zining formasiga ega bo’lmasligiga etibor qaratish
zarur. Delphi tizimi ishga tushibboshlaganda avtomatik ravishda tarkibida forma,
loyiha fayli va boshqalarga ega dastur shablonini yaratadi, ya’ni modul faqat bitta
fayldan tuziladi, demak uni yaratishdan oldin loyiha fayli va forma tayyorlashni
yo’qotish zarur. Buning uchun loyiha faylini saqlamasdan File menyusidan Close
All tanlang.
134
Modulni yaratish uchun File menyusidan File New ni tanlang va
piktogrammani bosing. Natijada Unit Unit1 sarlavhali fayl hosil
bo’ladi. Modul nomini boshqasiga modul tarkibiga mosig o’zgartirish mumkin,
masalan, Unit Matfu;. Keyin modul sarlavhasiga mos fayl nomi bilan saqlash
zarur: Matfu.pas.
2.3.2. Modulni qo’shish
Loyihaga modulni qo’shish uchun Project menyusidan Add to
Project…buyrug’ini bajarish va moduldan iborat fayl tanlash zarur. Bundan keyin
Uses bo’limiga qo’shilayotgan modul MatFu nomini qo’shiladi. Endi loyihada
modulda mavjud funksiyadan foydalanish mumkin.
Muloqot paneli quyidagi ko’rinishida bo’ladi:
135
Modul matni va murojaat qiluvchi dastur quyida keltirilgan.
Modul matni:
unit Matfu;
interface
Function Tg(x:extended):extended; // tangensni
// xisobalash uchun funksiyasi
Function Ch(x:extended) : extended; // giperbolik
//sinus xisobalash uchun funksiyasi
Function Sin2(x:extended) : extended; // sinus
//kvadratni xisobalash uchun funksiyasi
implementation
Function Tg;
begin
Result:=Sin(x)/Cos(x);
end;
Function Ch;
begin
Result:=(exp(x)-exp(-x))/2;
end;
Function Sin2;
begin
Result:=sqr(sin(x));
end;
end.
136
Murojaat dasturi matni:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics,
Controls, Forms, Dialogs,
StdCtrls, Buttons, ExtCtrls,MatFu;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Memo1: TMemo;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
RadioGroup1: TRadioGroup;
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Type
fun = function(x:extended):extended; // funksiya
tipi
137
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text:='0';
Edit2.Text:='3';
Edit3.Text:='0,3';
Memo1.Clear;
RadioGroup1.ItemIndex:=0;
end;
procedure Tabl(f:fun;xn,xk,h:extended);// jadvalni
hisoblash
var x,y: extended;
begin
x:=xn;
repeat
y:=f(x);
Form1.Memo1.Lines.Add('x='+FloatToStrf(x,fffixed,8,3)+
'
y='+FloatToStrf(y,fffixed,8,3));
x:=x+h;
until (x>xk);
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
var xn,xk,h : extended;
begin
xn:=StrToFloat(Edit1.Text);//interval boshl qiymati
138
xk:=StrToFloat(Edit2.Text); // interval oxir qiymati
h:=StrToFloat(Edit3.Text); // qadam
case RadioGroup1.ItemIndex of // funks tanlash
0 : Tabl(tg,xn,xk,h);
1 : Tabl(ch,xn,xk,h);
2 : Tabl(sin2,xn,xk,h);
end;
end;
end.
2.4. Topshiriqni bajarish tartibi
O’qituvchi ko’rsatmasi bilan quyida keltirilgan ro’yxatdan masala variantni
tanlang. Jadvalni hisoblash uchun funksiyani tanlashni e’tiborga oling.funksiyani
alohida modulga joylashtiring. Tanlagan funksiyaga murojaat mos funksiya nomi
kiruvchi parametr sifatida ishlatiladigan prosedura bo’lishi zarur.
Individual bajarish uchun topshiriqlar:
1 dan 15 gacha topshiriqlarda Y(x) funksiya va uning S(x) qatorga
yoyilmasini h=(xn-xk)/10 qadam bilan xn dan xk gacha x o’zgarishi uchun qiymatlar
jadvalini ekranga chiqaring.
S(x) va Y(x) (qiymatlarining) x ning barcha qiymatlari oraliqda yaqinligi S(x)
va Y(x) ni hisoblashning to’g’riligini ko’rsating.
№ nx kx S(x) n Y(x)
1 2 3 4 5 6
1
0.1
1 )!12()1(...
!3
123
nxxx
nn
16
xsin
2
0.1
1 )!2(...
!21
22
nxx n
10 2
xx ee
139
3
0.1
1 nx
n
nx
!4
cos...
!14
cos1
12 )
4sincos(4
cos
xex
4
0.1
1 )!2()1(...
!21
22
nxx n
n
8
xcos
5
0.1
1
nxn
nx 22
!12...31
14
2
)21( 2 xex
6
0.1
1 )!12(...
!3
123
nxxx
n
8 2
xx ee
7
0.1
1 14)1(...
153 2
121
53
nxxx n
n
12 221 2 xarctgxx
8
0.1
1 !)2(...
!121
nxx n
10
xe2
9
0.1
1
nxn
nx
2!
1...2
212
14 2
2
124
x
exx
10
0.1
0.5 12)1(...
3
123
nxxx
nn
15
arctgx
11
0.1
1 nn x
nnx 2
22
)!2(12)1(..
231
10 xxxx sin
2cos
21
2
12
0.1
1
)!2()2()1(...
24)2(
2)2( 242
nxxx n
n
8
)1(cos2 2 x
13
-2
-0.1 nxxx
nn
242 )1()1(...
2)1()1(
16 222
1lnxx
14
0.2
0.8 nx
nnxx
)!12(...
!54
!3
22
12
xchxshx
x 141
15
0.1
0.8 )12(2)1(...
122
21
42
nnxxx n
n
18
21ln xxarctgx
140
16. n-butun nomanfiy son o’nli yozuvidagi k-raqamlar sonini hisoblang.
17. n ta haqiqiy son berilgan. Ularning maksimali va minimali orasidagi
ayirmasini hisoblang.
18. Orqasidan 0 keladigan butun bo’lmagan turli xil natural sonlar ketma-
ketligi berilgan. Ularning eng kichigini tartib raqamini aniqlang.
19. n>0 butun son orasida hyech bo’lmaganda bitta manfiy son bo’lgan n ta
haqiqiy sonlar ketma-ketligi berilgan. Bu manfiy sonlar orasida eng kattasi
qiymatini toping.
20. n ta haqiqiy son berilgan ular o’suvchi ketma-ketlik hosil qilish yoki
qilmasligini aniqlang.
21. Raqamlar yig’indisi n ga teng (1<=n<=27) bo’lgan uch xonali natural
sonlar soni – k ni aniqlang. Bo’lish amallari (/, div i mod) dan foydalanmang.
22. Ekranga o’nli yozuvni bir xil raqam bo’lmagan (bo’lish amaldan
foydalanmasdan) barcha uch xonali sonlarni o’sish tartibida chiqaring.
23. t o’zgaruvchiga natural sonli uchta to’liq kvadrat yig’indi shaklida
ifodalash mumkinligiga qarab 1 yoki 0 qiymat bering.
24. n natural son berilgan. n2 son yozuviga 3 raqamini kirishini aniqlang.
25. n natural son berilgan. Uning raqamlar yig’indisini hisoblang.
26. Butun n>0 son va undan keyin n ta haqiqiy son berilgan. Ular orasida
nechta manfiy bo’lishini aniqlang.
27. n natural son berilgan. N sonning birinchi va oxirgi raqamlari o’rnini
almashtiring.
28. n natural son berilgan. N sonining raqamlar joylashish tartibini
teskarisiga almashtiring.
Nazorat savollari
1. Prosedura va funksiya programmaning qanday obyekti hisoblanadi?
2. Prosedurani yozish strukturasini tushuntiring;
3. Parametrsiz proseduraning kamchiligi va yutuqlarini sanab bering;
4. Parametr-qiymat va parametr-o’zgaruvchining vazifalarini tushuntiring;
5. Formal va faktik parametrlarning ma’nolarini tushuntiring;
141
6. Proseduraga qanday murojaat qilinadi?
7. Prosedurani e’lon qilish deganda nimani tushunasiz?
8. Foydalanuvchi modullari. Asosiy kismlari. Ularning tuzilishi.
9. Foydalanuvchi modullaridan foydalanish.
Asosiy adabiyotlar ro’yxati
1.Власов К.Н.и др. Элементы информатики. М.: Наука, 1988, 320 с.
2. Вирт Н. Алгоритмы+структура данных=программы. Москва.: мир, 1985,
406 с.
3. Поляков Д.Б., Круглов И.Ю. Программирование в среде Турбо Паскаль
(версия 5.5) М.:МАИ.1992, 576 с.
4. Перминов О.Н. и др. Программирование на языке Паскаль. М.: 1988, 224 с.
5. Федоров А., Рогаткин Дм. Borland Pascal в среде Windows. – Киев:
"Диалектика", 1993. – 656 с.
6. Кулътин Н.Б. Программирование в Турбо Паскаль 7.0 и Delphi – СПб.:
БЌВ, 1998. – 240 с.
Qo’shimcha adabiyotlar
1. Abdullaev A.N., Axatov A.R. DELPHI muhitida dasturlash. «Amaliy
matematika va informatika» yo`nalishida ta`lim olayotgan talabalar uchun
laboratoriya ishlari majmuasi. Samarqand: SamDU nashri, 2007. 64 bet.
2. Зуев Е.А. Язык прорграммирования Турбо Паскаль 6.0, 7.0-М.: Радиосвязь,
1993 г.
142
MUSTAQIL TA’LIM UCHUN TOPSHIRIQLAR
1. Sakkizta elementdan iborat massivni quyidagi qiymatlar bilan to’ldiring:
massivning birinchi elementi 37 ga teng, ikkinchisi – 0, uchinchisi – 50,
to’rtinchisi – 46, beshinchisi – 34, oltinchisi – 46, yettinchisi – 0, sakkizinchisi –
13.
2. a{a1, a2, … an} haqiqiy qiymatli vektor berilgan. Uning hamma manfiy
qiymatlarini kvadratlari bilan almashtiring.
3. a{a1, a2, … an} haqiqiy qiymatli vektor berilgan. Shu vektor
elementlaridan (c,d) oraliqda yetgan elementlar yig’indisi va miqdorini toping.
4. a{a1, a2, … an} haqiqiy qiymatli vektor va X haqiqiy qiymatli son
berilgan. Vektor elementlaridan nechtasi shu songa teng bo’lishini aniqlang.
5. a{a1, a2, … an} haqiqiy qiymatli vektor berilgan. Shu vektorning musbat
elementlarini 0,5 ga kamaytirib boring.
6. a{a1, a2, … an} haqiqiy qiymatli vektor berilgan. Shu vektorda nechta
musbat, nechta manfiy son va nechta nol borligini aniqlang.
7. Klaviaturadan satrlar bo’yicha ikki o’lchovli massivni kirituvchi va uning
ustunlar bo’yicha yig’indisini topuvchi dasturni yozing.
8. Klaviaturadan kiritilgan kvadrat matrisa «afsunkor» (magik) kvadrat
ekanligini tekshiring. «Afsunkor» kvadrat deb, har bir satr, har bir ustun va har bir
diagonal bo’yicha yig’indisi bir xil songa teng matrisaga aytiladi (quyidagiga
qarang).
2 9 4 13 8 12 1
7 5 3 2 11 7 14
6 1 8 3 10 6 15
16 5 9 4
9. Massivda klaviaturadan kiritilgan son bor-yo’qligini tekshiruvchi dasturni
yozing. Ishlash vaqtida massiv kiritilishi kerak.
143
10. MxM tartibli butun sonli A matrisa berilgan. Matrisani eng katta va eng
kichik elementlari o’rinlarini almashtirish programmasini tuzing.
11. MxM tartibli butun sonli A matrisa berilgan. Shu matrisa bosh diagonali
yuqorisidagi elementlar orasidan eng kattasini aniklash programmasini tuzing.
12. MxM tartibli butun sonli A matrisa berilgan. Shu matrisaning yordamchi
diagonalida joylashgan elementlarni bosh diagonalda joylashgan elementlar bilan
almashtirish programmasini tuzing.
13. MxN tartibli haqiqiy sonlardan iborat A matrisa berilgan. Shu
matrisaning har bir satridagi maksimal elementni aniqlaydigan programma tuzilsin.
14. Kvadrat (6x6) o’lchovli butun musbat matrisa berilgan bo’lsin. Shu
matrisaning bosh diagonal yuqorisida yotgan hamma juft yelemenlar o’rtacha
arifmetik qiymati va asosiy diagonalni past qismida yotgan hamma toq elementlar
o’rtacha geometrik qiymatini hisoblash programmasini tuzing.
15. MxM tartibli haqiqiy sonlardan iborat A matrisa berilgan. Shu matrisa k-
chi satr elementlarini o’sish tartibida joylashtirish programmasini tuzing.
16. MxM tartibli butun sonli A matrisa berilgan. Shu matrisaning yordamchi
diagonalidan pastda joylashgan elementlarni o’rtacha geometrik qiymatini
hisoblaydigan programma tuzilsin.
17. Matnli fayl mavjud. Unda “t” harfi bilan boshlanuvchi satr mavjudligini
aniqlang. Agar bor bo’lsa, u holda bunday satrning tartib nomerini aniqlang.
18. N ta haqiqiy sonlar ketma-ketligini faylga yozing. Fayl
komponentalarining kupaytmasini hisoblang va ekranga chiqaring.
19. Tasodifiy sonlar generatori yordamida hosil qilingan natural sonlar bilan
f faylni to’ldiring. Komponentalari orasidan toq sonlar kvadratlari sonini toping.
20. Elementlari alohida so’z hisoblanuvchi tiplashgan fayl berilgan. “t” harfi
bilan boshlanuvchi hamma so’zlarni chop qiling. Bunda ikki variantni qarang:
a) ma’lumki, mavjud faylga 30 ta so’z yozilgan;
b) mavjud fayl o’lchami ma’lum emas.
21. Elementlari sonli bo’lgan mavjud tiplashgan faylni berilgan son bilan
almashtiring (yangi qiymat klaviaturadan kiritiladi):
144
a) birinchi elementni;
b) beshinchi elementni;
v) k-nchi elementni;
g) oxirgi elementni.
22. Elementlari alohida so’zlar bo’lgan mavjud tiplashgan faylni berilgan
qiymat bilan almashtiring (yangi so’z klaviaturadan kiritiladi):
a) birinchi elementni;
b) uchinchi elementni;
v) s-nchi elementni;
g) oxirgi elementni.
23. Tiplashgan fayl elementlari alohida so’zlar hisoblanadi. Uning barcha
elementlarini boshqa so’zlar bilan almashtring. Bunda ikkita variantni qarang:
a) ma’lumki, mavjud faylga 12 ta so’z yozilgan;
b) mavjud fayl hajmi ma’lum emas.
24. Sonli tiplashgan fayl mavjud. Uning tartib nomeri 3 ga karrali bo’lgan
hamma elementlarini almashtiring. Yangi qiymat klaviaturadan kiritiladi. Bunda
ikkita variantni qarang:
a) ma’lumki, mavjud faylga 20 ta son yozilgan;
b) mavjud fayl hajmi ma’lum emas.
25. Butun sonli tiplashgan fayl mavjud. Uning hamma juft elementlarini nol
bilan almashtiring. Bunda ikkita variantni qarang:
a) ma’lumki, mavjud faylga 13 ta son yozilgan;
b) mavjud fayl hajmi ma’lum emas.
26. Elementlari alohida so’zlardan iborat tiplashgan fayl mavjud. Agar so’z
“k” harfi bilan boshlansa, uni “K” harfi bilan almashtiring.
27. Sonli tiplashgan fayl mavjud. Toping (hamma holatlarda fayl hajmi
ma’lum emas):
a) faylning birinchi va ikkinchi sonlar yig’indisini;
b) faylning k–nchi va q–nchi sonlari yig’indisi;
v) faylning birinchi va oxirgi sonlari kupaytmasini;
145
g) faylning hamma sonlarining yig’indisini;
d) fayldagi sonlar mig’dorini;
e) a sonidan oshib ketmaydigan fayldagi sonlar mig’dorini;
j) faylning musbat sonlarining o’rta arifmetigini;
i) mavjud fayldagi maksimal sonni;
k) fayldagi minimal sonning tartib nomeri (agar bunday fayllar bir nechta
bo’lsa, ularning birinchisini nomerini toping).
28. Elementlari alohida so’zlardan iborat tiplashgan fayl mavjud. Toping
(hamma holatlarda fayl hajmi ma’lum emas):
a) “m” harfi bilan boshlanuvchi so’zlar sonini;
b) “l” harfi bilan boshlanuvchi barcha so’zlar va ularning birinchisini tartib
nomerini chop qiling;
v) tartib nomeri juft bo’lgan so’zlar va ulardan so’z tuzing;
g) eng uzun so’zni;
d) eng qisqa so’zni.
29. Butun sonli tiplashgan fayl mavjud. Undan birinchi noldan keyin
yozilgan sonni o’chiring (faylda nol mavjud deb qabul qilinsin). Natija boshqa
faylga yozilsin.
30. Kompleks sonlar ustida quyidagi amallarni hisoblash uchun qism
dasturlar to’plamini modul ko’rinishida tavsiflang:
qo’shish;
ayirish;
kupaytirish;
bo’lish;
kompleks son modulini hisoblash;
kompleks soni n-darajaga ko’tarish (n - natural).
Kompleks sonlar quyidagi ko’rinishda bo’ladi:
type complex=record
r:real;
m:real
146
end;
Bu moduldan foydalanib quyidagi masalani yeching.
Kompleks sonli A massiv berilgan. Shunday S massiv hosil qilinki, uning
elementlari yonma-yon turgan kompleks sonlarning yig’indisining moduli bo’lsin.
31. QP (P – butun, Q – natural) ko’rinishidagi oddiy kasr son ustida quyidagi
operasiyalarni bajarish uchun qismiy dasturlar to’plamini modul ko’rinishida
tavsiflang:
qo’shish;
ayirish;
ko’paytirish;
bo’lish;
qisqartirish;
n chi darajaga ko’tarish (n – natural son);
munosabatlar (teng, teng emas, katta yoki teng, kichik yoki teng, kichik).
Kasr quyidagi ko’rinishda bo’ladi:
type frac=record
p:integer;
q:1..32767;
end;
Bu moduldan foydalanib, quyidagi masalalarni yeching.
1. Oddiy kasrlardan iborat A massiv berilgan. Hamma kasrlarni yig’indisini
toping, natijani qisqarmaydigan kasr ko’rinishida taqdim qiling. Barcha kasrlarni
o’rta arifmetigini hisoblang, natijani qisqarmaydigan kasr ko’rinishida taqdim
eting.
2. Oddiy kasrlardan iborat A massiv berilgan. Ularni o’sish tartibida
saralang.
147
Nazorat uchun savollar:
1. Algoritm vazifasi va xossalarga keltiring.
2. Algoritmning turlari tasvirlang.
3. Aylana yoki ellips chizish uchun qaysi usul chaqiriladi va bu usulni
chaqirish instruksiya ko’rinishini keltiring.
4. BDE vazifalari va u bajaradigan ishlarni keltiring.
5. Caption xossasi va zifasini keltiring.
6. CheckListBox komponentasi vazifa keltiring.
7. CheckListBox ning asosiy xossalarini aytib bering.
8. Dastur va dasturlash ta’riflang.
9. Dasturchi tomonidan kiritiluvchi turlar nomini keltiring.
10. DBE administrator utilitasi vazifasini tushuntirib bering
11. DDL bajaradigan vazifasini tasvirlang.
12. Delphi dasturlash tilida kengaytmali fayllar vazifalarini keltiring.
13. Delphi MBni boshqarishda ishlatiladigan vositalarni ayting.
14. Delphi oynasidagi elementlarni tasvirlang.
15. Delphi tizimida ishga tushiriladigan modul strukturasi ko’rinishni.
16. Delphi vizual komponentalar bibliotekasi (Visual Component Library -
VCL) tarkibiga kiruvchi sinflarni ta’riflang va ularga izoh keltiring.
17. Delphida bir necha formada ish yuritish tashkil qilishni keltiring.
18. Delphida bosh menyu tashkil qilishni amalga oshirishni tasvirlang.
19. Dinamik o’zgaruvchiga ta’rif bering.
20. Dinamik o’zgaruvchilar vazifalarini ayting.
21. DML vazifasi haqida ma’lumot bering.
22. DQL vazifasi haqida ma’lumot bering.
23. Ellips yoki aylana sektorini chizish qo’llaniladigan usul va uning
umumiy ko’rinish keltiring.
24. Funksiya proseduradan farqlanadigan vazifasini keltiring.
25. Grafik obyekt yuzasiga matn chiqarish uchun qaysi usul qo’llaniladi va
bu usulni chaqirish instruksiyasi ko’rinishini keltiring.
148
26. Image komponentasini formada qo’llanish jihatlarini keltiring.
27. Inkapsulyasiya tushunchasiga izoh bering.
28. Ko’p qatorli matn kiritishni amalga oshiruvchi komponentani ayting.
29. Ko’pburchak chizish uchun qo’llaniladigan usul va uning umumiy
korinishini keltiring.
30. Ko’rsatkich o’zgaruvchisini ta’rif bering.
31. Label, Edit, Memo matn komponentlari va Button tugmachasi vazifa-
larini aytib bering.
32. ListBox va ComboBox komponentalari vazifasini tushuntiring.
33. Ma’lumot faylga yozishda ishlatiladigan funksiya va proseduralarni
keltiring.
34. Ma’lumotlar bazasiga ta’rif bering.
35. Ma’lumotlar bazasiga so’rovlar tashkil qilish
va bajarish buyruqlarni keltiring.
36. Ma’lumotlar bazasini boshqarish tizimi vositasi vazifasini keltiring.
37. Ma’lumotlar bazasining maydon, yozuv va fayl elementlariga
tushuntirish bering.
38. Ma’lumotlar turlarini Delphi tilida umumiy holda turlarga ajratishni
ko’rsating.
39. Ma’lumotlar va o’garuvchilar qiymatini ekranga chiqarish operatorini
tushuntiring
40. Ma’lumotlarni filtrlashning usullarini keltiring.
41. Ma’lumotni izlashdagi usullarni ko’rsating.
42. Mantiqiy o’zgaruvchilar qanday qiymat qabul qiladi?
43. Masalani EHM da yechish bosqichlarni keltiring.
44. Maskalangan kiritish qatorini amalga oshiruvchi komponentaga izoh
bering.
45. Massivlarni tavsiflanishni keltiring.
46. Massivni tartiblashtirishni usullarini ko’rsating.
47. Matn shrifti aniqlanadigan xossalarni keltiring.
149
48. Maydon vazifasi va uning elementlarni ko’rsating.
49. Maydon, usullar va xossalar tushunchasiga izoh bering.
50. Maydonga tavsif bering.
51. MB bilan ishlash uchun vizual bo’lmagan
komponentlar haqida ma’lumotlar bering.
52. MB bilan ishlash uchun vizual komponentlar
haqida ma’lumotlar bering.
53. MB jadvali bilan ishlash uchun oddiy ilova yaratish bajariladigan
ketma- ketlikni ko’rsating.
54. MB jadvali strukturasi bajariladigan ketma-ketlikka izoh bering.
55. MBni psevdonimi vazifasi va uni tuzish ketma ketligini aytib bering.
56. Muloqot oynalarini yaratishni amalga oshirishni keltiring.
57. Multiplikasiya vazifalari ayting.
58. O’zgarmas va o’zgaruvchilar dasturda tavsiflanishini ko’rsating.
59. O’zgaruvchilar qiymatini ekrandan kiritish operatorini tushuntiring.
60. O’zgaruvchilarning turlarini keltiring.
61. Obyektga ta’rif bering va unga misollar keltiring.
62. OpenDialog, SaveDialog va FontDialog komponentalari xossalari.
63. Object Pascal tilida dastur strukturasini ko’rsating.
64. Polimorfizm prinsipi imkoniyatini ko’rsating.
65. Prosedura va funksiya tavsiflanishiga izoh bering.
66. Prosedura va funksiyalar dasturda ishlatiladigan hollarni keltiring.
67. Algoritmik tillarga izoh bering.
68. Maxsus proseduralar va funksiyalarga izoh bering.
69. MBBT turlarini ko’rsating.
70. Standart matematik fuksiyalarni ko’rsating.
71. Qaysi komponenta sarlavhalar menyusini yaratishga imkon yaratadi?
72. Siljitish yo’lchasini tashkil qiladigan komponentani ko’rsating.
73. Faylga yozuv qo’shishni amalga oshiradigan prosedurani keltiring.?
74. Faylni ochib yozuvlarni ketma-ket o’qiydigan prosedurani keltiring.?
150
75. RadioGroup guruhli tanlash tugmalariga tushintirish bering.
76. Rekursiya vazifasi va rekursiv funksiyaga izoh bering.
77. Rekursiyaga misollar keltiring
78. Shape komponentasi vazifasini aytib bering.
79. Sinfga ta’rif bering va unga misollar keltiring.
80. Soha o’lchovlari aniqlanadigan xossalarni keltiring.
81. SQL vazifalari va uni yangi standartini aytib bering.
82. StringGrid komponentasi vazifasi va asosiy xossalarini tushuntiring.
83. Takrorlanishlar soni jihatidan While va Repeat – Util operatorlari
farqlanishini keltiring.
84. Tanlash operatorini tushuntiring
85. Tayyor dastur asosiy o’tish etaplarini keltiring.
86. Tizilmalashtirilmagan va tizilmalashtirilgan axbortlarga misollar toping
va ularning farqini tushuntirib bering.
87. To’g’ri chiziq amalga oshirish usuli va bu usulni chaqirish instruksiyasi
ko’rinishini keltiring.
88. To’rtburchak chizish uchun qo’llaniladigan usulni va umumiy
ko’rinish keltiring.
89. TSpeedButton va TBitBtn tugmalari vazifalari va ular TButton
tugmasidan farqlanishini ta’riflang.
90. TTreeView va TListView komponentalariga tushintirish bering.
91. Uskunalar panelini yaratishni amalga oshiradigan komponentalar
ta’riflang.
92. With insturuksiyasi dastur tuzishda yaratadigan imkoniyatlarni ta’riflang.
93. Yoyni chizish uchun qo’llaniladigan usulni va uning umumiy
ko’rinishni keltiring.
94. Yozuv turlarini ta’riflang.
95. Yozuv qiymatini faylda saqlash uchun yozuv turidagi fayl e’lon
qilinishini keltiring.
151
Yakuniy nazorat uchun variantlar
Variant № 1 1. DELPHI tiziminig oynasi va uning elementlari haqida ma’lumot. 2. GrupBox va ComboBox komponentalari vazrfalari, xossalari. 3. Object Pascal programmalash tilida shartsiz o’tish va tanlov operatorlari. 4. Delphi da multimediali dasturlar yaratish. Animate komponentasi. 5. MxM tartibli butun sonli A matrisa berilgan. Matrisani eng katta va eng kichik elementlari urinlarini almashtirish programmasini tuzing.
Kafedra mudiri prof. Jumanov I.I.
Variant № 2 1. DELPHI loyihasining strukturasi, uning bo’limlari. 2. Object Pascal programmalash tilidagi ma’lumotlar tiplari. Butun tip. 3. Standart muloqot (ma’lumot kiritish) oynasi InputBox haqida ma’lumot bering. 4. Delphi da multimediali dasturlar yaratish. MediaPlayer komponentasi. 5. MxM tartibli haqiqiy sonlardan iborat A matrisa berilgan. Shu matrisa k -chi satr elementlarini o’sish tartibida joylashtirish programmasini tuzing.
Kafedra mudiri prof. Jumanov I.I.
Variant № 3 1. Ko’p satrli chiqrish oynasi TMemo kompoyentasi, vazifasi va xossalari. 2. Loyiha formasinig asosiy xossalari. 3. Object Pascal programmalash tilida ma’lumotlar tiplari. Simvolli tip. 4. Fayllar bilan ishlash uchun qismdasturlar. 5. Natural son N berilgan. Shu N soning yozuvidan 3 ga karrali raqamlarini olib tashlab qolgan raqamlarni taribini buzmasdan qoldirish (masalan 59016503 sonidan 50150 sonini hosil qilish) algoritm va programmasini tuzing.
Kafedra mudiri prof. Jumanov I.I.
Variant № 4
1.Object Pascal programmalash tilida ma’lumotlar tiplari haqida ma’lumot. 2. DELPHI dasturi strukturasi. Misol 3. Standart muloqot oynasini yaratish MessageDlg funksiyasi haqida ma’lumot bering. 4. Parametli sikl operatori 5. Butun sonlar massivi X berilgan. Shu massivdagi juft o’rinlarda turgan elementlarni o’smaydigan tartibda, toq o’rinlarda turgan elementlarni kamaymaydigan tartibda joylashtiring.
Kafedra mudiri prof. Jumanov I.I.
152
Variant № 5 1. Object Pascal programmalash tilidagi shartli operator qisqa va to’liq formalari. 2. Ob’yektga yo’naltirilgan vizual programmalashda sinflar va ob’yektlar tushunchasi. 3. Standart muloqot oynasi yaratish ShowMessage prosedurasi haqida ma’lumot bering. 4. Аlgоritm vа dаstur tushunchаsi 5. n ta butun musbat va manfiy sonlar massivi X berilgan. Massivni quydagicha tartiblashtiring: Avval massivdan bir martadan ko’p marotaba qatnashgan hamma musbat sonlarni chigarib tashlang. Keyin faqat manfiy sonlarni kamayish tartibida joylashtiring, Algoritm va programmasini tuzing
Kafedra mudiri prof. Jumanov I.I.
Variant № 6 1. Object Pascal programmalash tilida parametrli (FOR-DO) sikl operatori. 2. Ob’ektga yo’naltirilgan vizual programmalashda ob’ekt tushunchasi. 3. Algoritm tushunchasi, uning xillari va tasvirlash usullari. 4. StringGrid jаdvаl kоmpоnentаsi 5. 3 ta nuqta: A(x1,y1), B(x2,y2), C(x3,y3) koordinatalari ixtiyoriy haqiqiy sonlardan iborat berilgan bulsin. Berilgan nuktalar buyicha uchburchak yasash mumkinmi?. Agar mumkin bulsa shu uchburchak tipini aniklash ( teng tomonli, teng yonli) dasturini tuzing.
Kafedra mudiri prof. Jumanov I.I.
Variant № 7
1. Object Pascal tilida sharti oldin berilgan (WHILE-DO) sikl operatori. 2. Inkapsulyasiya va Ob’ekt xossalari. 3. Label, Edit, Memo matn komponentalari vazifalari va xossalari 4. Ilоvаlаr uchun menyu yarаtish. MainMenu kоmpоnentаsi 5.MxM tartibli butun sonli A matrisa berilgan. Shu matrisa bosh diagonali yuqrrisidagi elementlar orasidan eng kattasini aniqlash programmasini tuzing.
Kafedra mudiri prof. Jumanov I.I.
Variant №8 1. Object Pascal tilida sharti keyin berilgan (REPEAT-UNTIL) sikl operatori. Misol. 2. DELPHI ning forma komponentalari va ularning asosiy xossalari. 3. OYVP da polimorfizm prinsipi kanday imkoniyatlarni yaratib beradi. 4. Ма’lumоtlаr bazasi hаqidа аsоsiy tushinchаlаr 5. Ikkita tub sonlar "ekizak" deyiladi agarda ular orasidagi farq 2 ga teng bo’lsa. ( masalan, 41 va 43 sonlar). [n,2n] kesmadagi hamma "ekizak" sonlarni jufligini aniqlash algoritm va programmasini tuzing.
Kafedra mudiri prof. Jumanov I.I.
153
Variant №9 1. Object Pascal programmalash tilida massiv tushunchasi va uni tasvirlash. Misol. 2. MainMenu va PopupMenu komponentalari haqida, vazrfalari ma’lumot bering. 3. RadioGroup va RadioBotton komponentalar vazifasini misollarda tushuntirib bering. 4. BDE administrator utilitаsi bilаn ishlаsh 5. MxM tartibli butun sonli A matrisa berilgan. Shu matrisaning yordamchi diagonalidan pastda joylashgan elementlarni o’rtacha geometrik kiymatini xdsoblaydigan programma tuzilsin.
Kafedra mudiri prof. Jumanov I.I.
Variant №10
1. Object Pascal programmalash tilida massiv tushunchasi va uni tasvirlash.Misol. 2. Masalani EXM da yechish boskichlari va ularni taxlili.. 3. Massivda berilgan elementni izlash algoritmlari. Oddiy solishtirish algoritmi. 4. Ма’lumоtlаrni kiritish vа chiqаrish оperаtоrlаri 5. MxM tartibli butun sonli A matrisa berilgan. Shu matrisaning bosh diagonalidan pastda joylashgan elementlardan min -ni aniqlash programmasini tuzing.
Kafedra mudiri prof. Jumanov I.I.
Variant №11
1. Object Pascal da satrlar bilan ishlash funksiyalari (delete, length, pos, copy, concate, insert). 2. DELPHI ning ma’lumot turlari va ularning taxlili. Misollar. 3. Massivda berilgan elementni izlash algoritmlari. Binar algoritmi. 4. Delphi tizimi оynаsi vа uning elementlаri 5. ( m, n ) intervalda yotgan hamma tub sonlar kvadratlari yig’indisini topish programmasini tuzing.
Kafedra mudiri prof. Jumanov I.I.
Variant №12
1. Object Pascal da prosedura tushunchasi.Uni tasvirlash va foydalanish. Misol. 2. DELPHI da asosiy formaning xodisalar taxlili. 3. OYVP da maydon, usullar va xossalar tushunchasiga izox bering. 4. Grаfik primitivlаrni chizish usullаri 5. Ikkita xakikiy sonlarning kattasini xga va kichigini yga ta’minlaydigan prosedura yordamida berilgan ixtiyoriy a, b, c larni kamayish tartibida joylashtiring dasturini tuzing.
Kafedra mudiri prof. Jumanov I.I.
154
Variant №13 1. Object Pascal a funksiya tushunchasi.Uni tasvirlash va foydalanish. Misol. 2. Algoritm nima?, uning xossalari va turlari va tasvirlash usullari. Misollar. 3. CheckListBox komponentasi vazrfasi va uning xossalari. Misol. 4. Delphi tizimi оynаsi vа uning elementlаri 5. M nuktaning x2+y2=r2 tenglama bilan aniklangan soxa ichida yotishini tekshiruvchi kism dasturdan foydalanib dasturini tuzing.
Kafedra mudiri prof. Jumanov I.I.
Variant №14
1 .Ma’lumotlarni murakkab turlari. Yozuvlar, ularni tasviolash, foydalanish. Misol. 2. Object Pascal programmalash tilida fayl tushunchasi.Uni turlari va tasvirlash. Misol. 3. Massiv elementlarini saralash algoritmi. To’g’ridan-t o’g’ri almashtirish algoritmi. 4. StringGrid jаdvаl kоmpоnentаsi 5. n*m ulchamli matrisa berilgan. Kism dasturlardan foydalanib satr elementlarni yigindisini topadigan dasturini tuzing.
Kafedra mudiri prof. Jumanov I.I.
Variant №15
1. Object Pascal da massivlar, uni programmada tasvirlash. Misol. 2. Operasion sistemalar xillari va uni bajaradigan asosiy vazifalari. 3. ListBox va ComboBox komponentalari vazrfalari, xossalari, va ularning farqi. Misol. 4. Delphi dаsturlаsh muhiti 5. O’quvchilar xaqida ma’lumotlar mavjud. Berilgan ism buyicha ma’lumotlarni ekranga chop etadigan dasturini tuzing.
Kafedra mudiri prof. Jumanov I.I.
Variant №16
1. Object Pascal da foydalanuvchi tomonidan kiritiladigan ma’lumot tiplari taxdili. Misol. 2. Proseduraviy, strukturaviy va vizual programmalashni taxlili, ular orasidagi tafovut. 3. StringGrid komponenta vazifasi, asosiy xossalari. Misol. 4. Ма’lumоtlаrni kiritish vа chiqаrish оperаtоrlаri 5. MxN tartibli haqiqiy sonlardan iborat A matrisa berilgan. Shu matrisaning xar bir satridagi maksimal elementni aniqlaydigan programma tuzilsin.
Kafedra mudiri prof. Jumanov I.I.
155
Variant №17 1. Object Pascal tilida ma’lumotlarni yozuv tipi, uni programmada tasvirlash. Misol. 2. DELPHI da ma’lumotlarni asosiy tiplari. Butun sonlarni turli formalari. 3. DELPHI da xodisalar va ularni qayta ishlovchi metodlar haqida tushuncha bering. 4. ListBox vа ComboBox kоmpоnentаlаri 5. Beshta musbat butun sonlarni EKUB -ni hisoblash programmasini yozing. Bunda ikkita sonni EKUB -ni hisoblash prosedura-funksiyasi dan foydalaning.
Kafedra mudiri prof. Jumanov I.I.
Variant №18 1. DELPHI da ma’lumotlarni asosiy tiplari. Xaqiqiy sonlarni turli formalari. 2. Object Pascal tilida ma’lumotlarni kiritish va chikarish operatorlari . Misol. 3. DELPHI da ma’lumotlarni dinamik strukturasi. Kursatkich 4. Delphi tizimi оynаsi vа uning elementlаri 5. O’quvchilar xaqida ma’lumotlar mavjud. Berilgan familiya buyicha ma’lumotlarni ekranga chop etadigan dasturini tuzing.
Kafedra mudiri prof. Jumanov I.I.
Variant №19 1. Programma yaratish etaplari, ularni taxlili. 2. Object Pascal da foydalanuvchi modulini (UNIT) tuzish va undan foydalanish. Misol. 3. Kiritish maydonini TEdit komponentasi, vazifasi va xossalari. 4. Ма’lumоtlаrni kiritish vа chiqаrish оperаtоrlаri 5. f faylida n ta a1 , a2,.... an haqiqiy sonlar kiritilgan. Yangi g fayl tashkil yetingki unda f faylining manfiy elementlarini o’rtacha arifmetik va musbat yelemenlarining o’rtacha geometrik qiymatlari joylashgan bo’lsin.
Kafedra mudiri prof. Jumanov I.I.
Variant №20 1. Object Pascal da modul tushunchasi, uni tuzilishi va undan foydalanish. 2. Programmalashtirish sinflari. Strukturaviy programmalash. 3. DELPHI da prosedura va funksiyalar, ularni tasvirlash. 4. Grаfik kоmpоnentаlаr. Image kоmpоnentаsi 5. Kvadrat (6x6) o’lchovli butun musbat matrisa berilgan bo’lsin. Shu matrisaning bosh diagonal yuqorisida yotgan hamma juft elemenlar o’rtacha arifmetik qiymati va asosiy diagonalni past qismida yotgan hamma toq elementlar o’rtacha geometrik qiymatini hisoblash programmasini tuzing.
Kafedra mudiri prof. Jumanov I.I.
156
Variant №21 1. Ob’ektga yo’naltirilgan programmalashda merosxurlik prinsipi tushunchasi. Misol. 2. Object Pascal programmalash tilida satrlar bilan ishlaydigan standart funksiyalar. Misol. 3. Widows da xodisalar va ularni qayta ishlovchi proseduralar 4. Dаsturlаsh tili elementlаri 4. 3 ta nuqta: A(x1,y1), B(x2,y2), C(x3, y3) koordinatalari ixtiyoriy haqiqiy sonlardan iborat berilgan bulsin. Shu nuktalarni y=kx+l to’gri chizikga nisbatan o’rnini aniqlang(to’g’ri chiziq ustida, to’g’ri chiziq yuqorisida yoki pastida).
Kafedra mudiri prof. Jumanov I.I.
Variant № 22
1. Object Pascal tilida sharti oldin berilgan (WHILE-DO) sikl operatori. 2. Ob’ektga yo’naltirilgan programmalashda inkapsulyasiya prinsipi tushunchasi. Misol. 3. Loyixa formasining asosiy xossalariga tushuncha bering. 4. Delphi da multimediali dasturlar yaratish. Animate komponentasi. 5. MxM tartibli 2 ta butun sonlardan iborat A va B matrisalar berilgan. Shu matrisalar ustida kuydagi amallarni C = A*B bajarish programmasi tuzilsin.
Kafedra mudiri prof. Jumanov I.I.
Variant №23
1. Object Pascal tilida sharti oldin berilgan sikl operatori. Misol. 2. Ob’ektga yo’naltirilgan programmalashda modul. 3. TOpenDialog kоmpоnentаsi 4. Delphi da multimediali dasturlar yaratish. MediaPlayer komponentasi. 5. Butun sonlar massivi X berilgan. Shu massivdagi takrorlanuvchi elementlarni o’chiring.
Kafedra mudiri prof. Jumanov I.I.
Variant №24 1. Object Pascal programmalash tilida massiv tushunchasi va uni tasvirlash. Misol. 2. DELPHI da forma oynasi, vazifasi va asosiy xossalari. 3. OYVP da Ob’ektga ta’rif bering va unga misollar keltiring. 4. MxM tartibli butun sonli A matrisa berilgan, undagi k- va l-satrlarni almashtiring.
Kafedra mudiri prof. Jumanov I.I.
157
Variant №25 1. Ob’ektga yo’naltirilgan programmalashda izomorfizm prinsipi tushunchasi. 2. DELPHI da Standart komponentalar palitrasidagi tugmalar haqida izoh bering 3. OYVP da sinf ta’rifi va unga misollar keltiring. 4. TSaveDialog kоmpоnentаsi 5. N -ta haqiqiy sonlar ketmaketligi berilgan bo’lsin. Tartib nomeri tub sondan iborat bo’lganelementlar yig’indisi topilsin. Ma’lumotlar tashqi fayldan olinib natija tashqi faylda hosil qilinsin.
Kafedra mudiri prof. Jumanov I.I.
Variant № 26
1. DELPHI tiziminig oynasi va uning elementlari haqida ma’lumot. 2. Standart muloqot oynasini yaratish MessageDlg funksiyasi haqida ma’lumot bering. 3. OYVP da Ob’ektga ta’rif bering va unga misollar keltiring. 4. DELPHI muhiti bosh menyusi. File menyu vazifasi. 4. Ikkita uchburchakning uchlarining koordinatalri berilgan. ulardan kaysi birining yuzasi kattaligini kism dasturlardan foydalanib aniklash dasturini tuzing.
Kafedra mudiri prof. Jumanov I.I.
Variant № 27 1.Object Pascal programmalash tilida ma’lumotlarning yozuv tipi. 2. Ta’minlash opertori va uningvazifalari. 3. Standart muloqot oynasini yaratish MessageDlg funksiyasi haqida ma’lumot bering. 4. DELPHI muhiti bosh menyusi. Edit menyu vazifasi. 5. Xakikiy sonlardan iborat bulgan, ulchamlari n*m ga teng matrisa berilgan. Kism dasturlardan foydalanib xar bir satrdan eng kattasini topadigan dasturini tuzing.
Kafedra mudiri prof. Jumanov I.I.
Variant № 28
1. Object Pascal programmalash tilidagi sartga bog’liq sikl operatorlari. 2. DELPHI dasturi strukturasi. 3. StringGrid jаdvаl kоmpоnentаsi 4. Grаfik primitivlаrni chizish usullаri 5. Butun sonlardan iborat n tartibli kvadrat matrisa berilgan. Xamma elementlari nollardan iborat bulgan va bir xil elementlarga ega bulgan satr nomerini kism dasturdan foydalanib aniklaydigan dasturini tuzing
Kafedra mudiri prof. Jumanov I.I.
158
Variant № 29 1 Object Pascal tilida sharti oldin berilgan (WHILE-DO) sikl operatori. 2. MB bilаn ishlаsh uchun Delphi kоmpоnentlаri 3. Аlgоritm vа dаstur tushunchаsi 4. Delphi da multimediali dasturlar yaratish. Animate komponentasi.
5. Avtomobil xakida ma’lumot, uning markasi, nomeri va egasining ismidan iborat. Xar bir nomerli avtomobillarning sonini aniklaydigan dastur tuzing.
Kafedra mudiri prof. Jumanov I.I.
Variant № 30 1. Object Pascal programmalash tilida fayllar bilan ishlash. 2. Ilоvаlаr uchun menyu yarаtish. MainMenu kоmpоnentаsi 3. ListBox vа ComboBox kоmpоnentаlаri 4. Ма’lumоtlаrni kiritish vа chiqаrish оperаtоrlаri 5. Процедурани куллаб иккита матрица устида кушиш, айириш амалини бажарадиган дастурини тузинг.
Kafedra mudiri prof. Jumanov I.I.
FAN DOIR TESTLAR
1. Dasturlarni yaratish va ularni taxlash usullari
va yo’llari uchun kerakli metodlar sistemasiga...
A) Dasturlash texnologiyasi deyiladi; B) Amaliy programmalar paketi deyiladi; C) Ma’lumot bazasini yaratish gexnologiyasi deyiladi; D) Kasbiy grafika paketi deyiladi. 2. Programmalar yaratishda asosan kaysi texnologiyalar ishlatiladi? A) Yuqoridan pastga qarab texnologiyasi va pastdan yuqoriga qarab
texnologiyasi; B) Informasion texnologiyalar; C) Pedagogik texnologiyalar; D) Innovasion texnologiyalar; 3. Algoritmlar qanday yoziladi?
A) So’zlar, sxemalar (blok-sxemalar) yordamida, komandalar yordamida. B) Formulalar yordamida. Davlat tilida. C) Ingliz tilida, davlat tilida. D) 2-lik yoki 10-lik sanok sistemasida.
159
4. EXM algoritmdagi mantiqiy xatoni topa oladimi?
A) Yo’q B) Ha C) To’g’ri javoblar keltirilmagan D) Javob bera olmayman.
5. EXM bajaradigan har bir algoritm
A) Chekli kadamlarda tugashi kerak. B) Tugallanishi shart emas C) Juft kadamlarda tugallanishi kerak D) Toq qadamlarda tugallanishi kerak
6. Butun tipli uzgaruvchilarga
A) Butun qiymatlar mos keladi. B) Haqiqiy kiymatlar mos keladi C) Butun va haqiqiy kiymatlar mos keladi. D) Mantiqiy qiymatlar mos keladi
7. Dasturdagi xatoliklarni topish, aniklash va ularni tuzatishga ..
A) Taxlash B) Xujjatlashtirish C) Tanlash D) Modellashtirish deyiladi
8. Qattiq S: diskning TURBO katalogida joylashgan Turbo.exe faylni yuklash buyrug’ini ko’rsating
A) C:\>Turbo\ Turbo.exe kiritish (Enter) B) C:\> Turbo.exe kiritish (Enter) C) C:/> Turbo.exe kiritish (Enter) D) C:/>Turbo/ Turbo.exe kiritish (Enter)
9. Kuyidagi shablon *.exe nimani bildiradi
A) Kengaytimasi exe bulgan barcha fayllarni B) Nomi bitta xarfdan iborat, kengaytimasi exe bulgan barcha fayllarni C) shablon noto’gri yozilgan D) Xamma javoblar tugri
160
10. Qaysi buyruq ekranni informasiyadan tozalaydi?
A) clear B) vol C) rem D) cls
11. Dasturda o’zgarmaslar bo’limi qaysi so’z bilan boshlanadi?
const var type label
12. Dasturda o’zgaruvchilar bo’limi qaysi so’z bilan boshlanadi?
A) var B) type C) const D) label
13. Dasturda turlar bo’limi qaysi so’z bilan boshlanadi?
A) type B) var C) const D) label
14. Belgilar (nishonalar) bo’limi qaysi so’z bilan boshlanadi?
A) label B) var C) type D) const
15. Dasturni bajarish buyrug’i qaysi?
A) run B) edit C) save D) comple
16. Parametrli sikl operatori xizmat so’zlari qaysi javobda to’gri keltirilgan? A) for, to, do; B) if, then, else C) goto
161
D) while, do 17. Object Pascal tilida operatorlar bir-biridan qaysi belgi bilan ajratiladi?
A) nuqta vergul B) vergul C) ikki nuqta D) probel
18. Dastur natijasi nimaga teng?
var a,b,x:real; begin a:=8; b:=a/2; x:=A/B; x:=a*sqr(sqrt(x+b/2)); writeln(x); end. A) 32 B) 8 C) 256 D) 24
19. Agar i,y o’zgaruvchilar integer va x,z o’zgaruvchilar real bo’lsa,
quyidagilarning qaysi birida xatolik ќosil bo’ladi?
A) x:=trunc(y) B) x:=sqrt(z) C) x:=sqrt(i) D) z:=sin(j)
20. Quyidagi operator necha marta takrorlanadi? for x:=1 downto 10 do write (x); A) 1 marta B) 5 marta C) 10 marta D) 0 marta
21. Quyida write operatori necha marta bajariladi? for i:=1 to 3 do for j:=0 to 3 do write (i+j); A) 12 marta B) 1 marta C) 3 marta D) 9 marta
22. type hafta=(dush, sesh, chor, paysch, schanba, yaksch); var x,y: hafta; t:23..56;
tavsiflash berilgan bo’lsa, quyidagi ta’minlashlardan qaysisi noto’g’ri? A) y:=t B) x:=sesh C) y:=x D) t:=31
162
23. type meva=(gilos, olma, nok, usum);
var x,y: meva; t:1..6; kabi tavsiflash berilgan bo’lsa, quyidagilardan qaysi biri to’g’ri? A) for x:=olma to usum do B) read(x) C) write(y) D) for y:=1 to 6 do s:=s+1;
24. Quyida S ning qiymati nimaga teng? begin
S:=0; for I:=1 to 3 do S:=S+2*i;
writeln(S); end. A) 12 B) 24 C) 48 D) 96
25. Dastur qiymati nimaga teng? begin X:=-2; y:=4; A:=-2;
if A*A-y>x*x then z:=y+A else z:=X+A; writeln(z);
end. A) –4 B) –5 C) 1 D) 7
26. Quyida S ning qiymati nimaga teng? begin for j:=-2 to 3 do begin S:=0; S:=S+(j+1); end; writeln(S); end.
A) 4 B) 2 C) 10 D) 6
27. Dastur natijasini aniqlang. begin A:=12; B:=8; D:=20;
if A>18 then D:=A-B; writeln(D); end. A) 20 B) 5 C) 8 D) 4
28. Dastur natijasini aniqlang. begin X:=2; p:=1;
1:P:=P*(2*x-2); X:=X+3; if X<=6 then goto 1; writeln(P); end. A) 16 B) 20 C) 2 D) 24
29. Sharti oldin qo’yilgan sikl operatori qaysi? A) while, do B) for, to, do C) if, then, else
163
D) goto 30. Hisob natijasini aniqlang?
begin A:=10; B:=8; C:= 6; if (A>B) and (C>B) then y:=A+B-C else y:=A-B+C; writeln(y); end.
A) 8 B) 12 C) 10 D) 14
31. Ќisob natijasini aniqlang? begin a:=12; b:=14; c:=10;
if (a>b) or (b>c) then y:=a+b-c else y:=a-b+c; writeln(y); end. A) 16 B) 14 C) 8 D) 6
32. Satrlar ketma-ketligini qo’shish funksiyasi qaysi? A) concat B)insert C) delete D) copy
33. Algorimlarning ifodalanish usullar qaysi javobda to’lik ko’rsatilgan A) matnli, sxemali, jadval, grafik B) ogzaki, yozma C) matnli, sxemali D) jadval kurinishda, sxemalar orkali
34 . Object Pascal tilida chikarish operatorining qaysi birida xatolik mavjud A) wrate(a,b); B) WRITE(a,b); C) WRITELN(a,’ ‘,b); D) writeln(a,b);
35. Object Pascal tilida 1-chi pogonali ma’lumotlar strukturasiga nimalar kiradi?
A) Massiv, tuplam, yozuv B) Stek, dek, navbat C) Ruyxat D) Daraxt, tur
36. Pascal tilida 2-chi pogonali ma’lumotlar strukturasiga nimalar kiradi A) Stek, navbat, ruyxat B) Massiv, tuplam, yozuv C) Ruyxat, fayllar
164
D) Daraxt, tur 37. Object Pascal tilida 3-chi pogonali ma’lumotlar strukturasiga nimalar kiradi
A) Bog’lamli ruyxat, daraxt, tur B) Massiv, tuplam, yozuv C) Stek, dek, navbat D) Ro’yxat
38. Delphi muhitida tug’ri burchakli to’rtburchak chizuvchi prosedurani ko’rsating
A) Rectangle(X1,Y1,X2,Y2); B) Line(X1,Y1,X2,Y2); C) Circle(X1,Y1,R); D) LineTO(X,Y);
39. Delphi muhiti qaysi algoritmik til asosida masalalarni yechadi?
A) Object Pascal B) Pascal C) Turbo Pascal D) Fortran
40. Obyektlarga yunaltirilgan dasturlashning asosini … lar tashkil etadi A) Vorislilik, polimorfizm, inkapsulyasiya B) Voqyealilik, borlik C) Xaqqaniylik va soflik D) strukturaviylik
41. Delphi muxiti obyektlar inspektori (yo’rikchisi) qaysi qismlardan tashkil topgan
A) Xodisalar va xossalar B) Yuklanishlar va xodisalar C) Yuklanishlar va xossalar D) Xossalar va natijalar
42. Delphi muxitida formada biror obyektni, masalan, buyruqli tugmani yaratish nima orqali sodir etiladi
A) Jixozlar paneli komponentalari orqali B) Menyular orkali C) Obyektlar inspektori orkali D) Dastur yordamida
165
43. Object Pascalda to’plam bilan yozuv orasida qanday farq mavjud
A) To’plam elementlari bir turga mansub, yozuvda esa xar xil tipli
ma’lumotlar bulishi mumkin B) Ularning orasida farq yo’k C) Yozuv elementlari bir turga mansub, to’plamda esa xar xil tipli
ma’lumotlar bulishi mumkin D) To’plam 1-chi pogonali ma’lumotlar strukturasiga kiradi, yozuv
esa 2-chi pogonali ma’lumotlar strukturasiga kiradi
44. Turbo Pascal ning Graph muxitini yuklovchi prosedurani aniqlang A) InitGraph(Drayver:integer; Rejim: Integer; Drayverga yul:String); B) DetectGraph(Detect,mode:integer); C) SetGraphMode(mode:integer); D) GetGraphMode(mode:integer);
45. SetTextStyle(a,b,c:integer) proseduraga izox bering.
A) a-shrifrning stili b-tekstning orintasiyasi c-shrifrning o’lchami B) a-tekstning orintasiyasi b-shrifrning stili c-shrifrning o’lchami C) a-tekstni chapdan tugirlash b-shrifrning ulchami c-tekstni markaz
buyicha to’girlash D) a-shrifrning stili b-tekstning orintasiyasi c-tekstni chapdan to’girlash
46. Quyidagi muloxaza qaysi proseduraga tegishli: "Berilgan satrdan ma’lum joydan boshlab kerakli ma’lumotni ko’chirish"
A) Copy(s:string):string; B) Delete(s:string,n,m:integer):string; C) Lenght(s:string):integer; D) Insert(s,l:string,n:integer):string;
47. Object Pascal da fayllarning qaysi turlari ishlatiladi. A) 3 turi – matnli, tiplashgan va tiplashmagan turlari
B) 2 turi tiplashgan va tiplashmagan turlari C) 1 turi – fakat matnli fayllar D) tugri javob yuk
48. Programma tekstini bir tildan mashina tiliga o’tkazuvchi sistemali programma:
A) Translyator; B) Programmalash tili; C) Yukori poganadagi til; D) Past poganadagi til;
166
49. Grafik rejimni yopuvchi prsedura. A) CloseGraph; B) Close; C) EndGraph; D) GraphClose; 50. Massivlarni tasvirlash va xotiraga joylashishning usullari.
A) statikli va dinamikli, kator va ustunlar buyicha; B) kator va ustunlar buyicha; C) ustun buyicha va statikli; D) statikli va dinamikli;
51. Massivning statik tasvirlashi dinamik tasvirlashdan qanday fark qiladi. A) Birinchisida xotira translyasiya paytida ajratiladi, ikkinchisida
programmani bajarish paytida ajratiladi; B) Birinchisida programmani bajarishda, ikkinchisida translyasiya
jarayenida; C) Bu usullarning farqi yuk;
D) Massivlar statik tasvirlanmaydi;
52. Ctekning ishlash prinsipi qanday? A)''Birinchi kelgan-oxirda ketadi'' prinsipi asosida; B) massiv elementlarini kayta ishlash prinsipiga mos; C) To’plam elementlarini kayta ishlash prinsipiga mos; D) '' Birinchi kelgan- birinchi ketadi'' prinsipi asosida.