1-Ma’ruza: Dasturlash tillari faniga kirish Reja
Download 436.03 Kb.
|
1-Ma’ruza Dasturlash tillari faniga kirish Reja
- Bu sahifa navigatsiya:
- Belgili turlar.
- Mantiqiy turlar.
- Dasturchi tomonidan kiritiluvchi turlar
- Interval (diapazon) toifasi. Interval
- [ ]. Bu еrdа
- Type TPerson = record f_name: string[20]; l_name: string[20]; day: integer; month: integer; year: integer; address: string[50]; end; TDate = record day: integer; month: integer; year: integer; end;
Haqiqiy turlar. Haqiqiy turlar haqiqiy sonlarni tasvirlash uchun ishlatiladi. Jadvalda Delphi 7 da ishlatiladigan haqiqiy turlar ro’yxati keltirilgan.
Belgili turlar. Ma’lumotlarning belgili turlari faqat bitta belgini saqlash uchun xizmat qiladi. Jadvalda Delphi 7 da ishlatiladigan belgili turlar ro’yxati keltirilgan.
Mantiqiy turlar. Mantiqiy turlar chin (True) yoki yolg’on (False) qiymatning birini qabul qiladi. Jadvalda Delphi 7 da ishlatiladigan mantiqiy turlar ro’yxati keltirilgan.
Dasturchi tomonidan kiritiluvchi turlar Delphi tili dasturchiga uzining turlarini kiritishga imkon beradi. Bu turlar standart turlarga yoki avval kiritilgan turlarga asoslangan bo’lib quyidagi turlarga tegishli bo’lishi mumkin: sanaluvchi; interval; yozuvlar. Sanluvchi. Sanoqli turlar tartiblangan qiymatlar to’plamini ishlatadi. Tur =(Qiymat1, Qiymat2, ... , QiymatN). Masalan: Type Color=(black,green,yellow blue,red,white); Fam=(Petrov,Sidorov,Raximov,Sobirov); Hafta=(Dushanba, Seshanba, Chorshanba, Payshanba, Juma, Shanba); Bu yerda Color sanaluvchi toifasi beshta ranglar ketma ketligini aniqlaydi. Fam sanaluvchi turi to’rtta familiyani aniqlaydi. Hafta sanaluvchi toifasi hafta nomlarini aniqlaydi. Odatda Delphi tilida toifalar nomlari T xarfidan boshlanadi (Type — tip so’zidan). Yangi tur ta’riflangandan so’ng shu turga tegishli o’zgaruvchini ta’riflash mumkin, masalan: type THafta=(Dushanba, Seshanba, Chorshanba, Payshanba, Juma, Shanba,Yakshanba); Var ThisDay, LastDay: THafta; Sanaluvchi toifa ta’rifi qiymatlar o’zaro munosabatini ko’rsatadi. Eng chap element minimal, eng o’ng element maksimal hisoblanadi. Yuqorida kiritilgan Hafta Toifasii elementlari uchun quyidagi munosabat o’rinli: Dushanba < Seshanba < Chorshanba < Payshanba < Juma < Shanba < Yakshanba Sanaluvchi toifa elementlari orasidagi munosabat o’zgaruvchilarni boshqaruvchi instruksiyalarda qo’llashga imkon beradi, masalan: if (Day = Shaba) OR (Day =Yakshanba) then begin { agar kun shanba yoki yakshanba bo’lsa bajarilsin } end; Bu instruktsiyani quyidagicha yozish mumkin: if Day > Juma then begin { agar kun shanba yeki yakshanba bo’lsa bajarilsin } end; Sanaluvchi tur ta’rifi nomlangan konstantalar kiritishning qisqartirilgan shakli deb qarash mumkin. Misol uchun Hafta toifasining ta’rifi quyidagi ta’riflarga tengdir: const Dushanba=1; Seshanba=2; Chorshanba=3; Payshanba=4; Juma=5; Shanba=6; Uakshnba=7; Interval (diapazon) toifasi. Interval (diapazon) turi beriladigan qiymatga chegara qo’yadi. Type Masalan: Type Color=red..green; // rangga chegara Digit=0..9; //butun sonlarga chegara Symb=’A’..’Z’; // harflarga chegara Haqiqiy turlarga chegara qo’yilmaydi. Interval toifa ta’rifida nomlangan konstantalardan foydalanish mumkin. Quyidagi misolda interval toifa TIndex ta’rifida HBOUND nomlangan konstantadan foydalanilgan: const HBOUND=100; type TIndex=l..HBOUND; Interval toifadan massivlarni ta’riflashda qulaydir: type TIndex =1 .. 100; var tab1 : array[TIndex] of integer; i:TIndex; Butun son toifaidan tashqari asos toifa sifatida sanovchi toifadan foydalanish mumkin. Quyidagi dastoifa qismida TMonth sanovchi toifa asosida interval toifa TSammer ta’riflangan: type TMonth = (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec); TSammer = Jun.. Aug; Massivlar. Mаssiv - bu bir хil tipli, chеkli qiymаtlаrning tаrtiblаngаn to’plаmidir. Mаssivlаrgа misоl sifаtidа mаtеmаtikа kursidаn mа’lum bo’lgаn vеktоrlаr, mаtrisаlаr vа tеnzоrlаrni ko’rsаtish mumkin. Prоgrаmmаdа ishlаtiluvchi bаrchа mаssivlаrgа o’zigа хоs ism bеrish kеrаk. Mаssivning hаr bir hаdigа murоjааt esа uning nоmi vа o’rtа qаvs ichigа оlib yozilgаn tаrtib hаdi оrqаli аmаlgа оshirilаdi. Mаssivning zаrur hаdigа murоjааt quyidаgichа аmаlgа оshirilаdi: Mаssivlаrni e’lоn qilish hаqidа to’liqrоq mа’lumоt bеrish uchun turli tipdаgi indеkslаrgа оid misоllаrni e’tibоringizgа hаvоlа qilаmiz: array [1000..5000] of integer; array [-754..-1] of byte; array [0..100] of real; array [0..10] of boolean; array [10..25] of char; type chegara = 1..100; vektor = array [chegara] of real; massiv1 = array [115..130] of integer; massiv2 = array [-754..-1] of integer; var A, B: vektor; c, d : massiv1; e: massiv2; var r, t: array [chegara] of real; s,q:array [115..130] of integer; p: array [-754..-1] of integer; k, m: array [1..50] of (shar, kub, doira); type kv1 =(yanvar, fevral, mart); var t, r: array [kv1] of real; type belgi = array [boolean] of integer; belgi_kodi = array [char] of integer; var k : belgi; p : belgi_kodi; Yozuvlar. Dasturlash amaliyotida standart ma’lumotlardan tashkil topgan murakkab ma’lumotlar bilan ishlashga to’g’ri keladi. Misol uchun talaba to’g’risidagi ma’lumot ismi sharifi, tug’ilgan yili, adresi, kursi, guruhi va hokazolardan iborat bo’lishi mumkin. Bunday ma’lumotlarni ta’riflash uchun Delphida yozuv (record) lardan foydalaniladi. Yozuv bu - alohida nomlangan har xil toifali komponentalardan iborat murakkab toifadir. Har qanday toifa kabi, "yozuv" type bo’limida ta’riflanishi lozim. Bu ta’rif umumiy ko’rinishi: Nom = record 1_ Maydon: Toifa nomi; 2_ Maydon: Toifa nomi ;…; K_ Maydon: Toifa nomi ; end; Ta’riflarga misollar: Type TPerson = record f_name: string[20]; l_name: string[20]; day: integer; month: integer; year: integer; address: string[50]; end; TDate = record day: integer; month: integer; year: integer; end; Yozuv toifaidagi o’zgaruvchini quyidagicha ta’riflash mumkin: Var student : TPerson; birthday : TDate; Yozuv elementiga (maydoniga) murojaat qilish uchun yozuv nomi va nuqtadan so’ng maydon nomini ko’rsatish kerak. Masalan: Writeln('Imya: ', student.f_name + #13 + 'Adres: ', student.address); Instruktsiya ekranga student o’zgaruvchi-yozuvning f_name (nom) va address (adres) maydonlarini chiqaradi. Ba’zida o’zgaruvchi-yozuv toifali o’zgaruvchilar e’lon qilish bo’limida e’lon qilinadi. Bu holda yozuv toifai o’zgaruvchi nomidan so’ng ko’rsatiladi. Misol uchun student yozuvi var bo’limida quyidagicha ta’riflanishi mumkin: var student: record f_name:string[20]; l_name:string[20]; day:integer; month:integer; year:integer; address:string[50]; end; Download 436.03 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling