• Adabiyotlar
  • Tayanch iboralar
  • Overley programmalarni tashkil qilish.
  • OYP texnologiyasi asosiy prinsiplari (xususiyatlari).
  • Obe’ktlarni tashkil qilish.
  • O’zbekiston respublikasi oliy va o’rta maxsus




    Download 0,5 Mb.
    bet4/41
    Sana10.04.2017
    Hajmi0,5 Mb.
    #3736
    1   2   3   4   5   6   7   8   9   ...   41

    Sinov savollari:

    1. Katta va murakkab programmalar qanday tashkil qilinadi?

    2. Modulni matn shaklida o’rnatish qulayliklarini keltiring.

    3. Makrogeneratsiya usulini qanday holatlarda qo’llash kerak?

    4. Alohida tarjima qilinadigan modullar strukturasini tasvirlang.

    5. Standart modullar nima?

    Adabiyotlar

    [5], [8], [11], [12], [14], [16], [17]



    Ma’ruza № 10

    Mavzu: Subjarayonlarni tashkil qilish

    Reja:

    1. Katta hajmdagi programmalarni loyihalash muammolari

    2. Subjarayon va uni boshqarish

    3. Xotirani boshqarish va uni taqsimlash

    4. Subjarayonni boshqaruvchi dastur

    Tayanch iboralar: subjarayon, kucha, xotirani taqsimlash, uzulish, yakunlash kodi, xato turi.

    Ma’ruza bayoni

    Amaliy informatikada katta programmaviy tizimlarni ishlab chiqish uchun tayyor programmalardan foydalanish va ularni dinamik tarzda bir- biri bilan bog’lash muhim masalalardan biridir. Bizga ma’lum bo’lgan TPas va Borland Pascal integrallashgan programmalash muhitlarida bu ishni bajarish uchun maxsus texnologiyalar ishlatiladi. Bu texnologiyalarni quyidagi xususiyatlarga ajratish mumkin:



    • muhitning tizimli modullarining tayyor protsedura va funksiyalari ishlatiladi;

    • chaqirilishi kerak bo’lgan tashqi programmalar ixtiyoriy programmalash muhitida tuzilishi mumkin;

    • programmalar .exe va .com kengaytmali fayl sifatida bo’lishi kerak;

    • programma sifatida operatsion sistemaning ixtiyoriy komandasini ham qo’llash mumkin.

    Bu xususiyatlar va yuqoridagi mavzularda keltirilgan usul, texnologik yechimlar va mavjud bo’lgan instrumental vositalarining qulayliklaridan foydalanib biz quyida programmalashda subjarayonlarni tashkil qilishni ko’ramiz.

    Programmalashda subjarayonlarni tashkil qilish uchun quyidagicha ish ko’radilar.



    1. Qo’yilgan masalani yechish uchun programmalar ketma-ketligi hosil qilinadi.

    2. Bitta programma boshqasini chaqirishini rejalashtiriladi.

    3. Chaqiruvchi boshqa programmani ishga yurgizgandan keyin xotirada qolishi e’tiborga olinadi.

    4. Chaqirilgan programma o’z ishini tugatgandan keyin uni ishga da’vat etgan (nisbatan yuqori darajali) programma yana o’z ishini davom ettiradi.

    Ana shu texnologiya asosida integrator programmalar tashkil qilingan. Bunday programmalarda ishga da’vat etilishi kerak bo’lgan programmalar menyusi yordamida kerakli subjarayonlar (programmalar) ishga tushiriladi.

    Oddiy programma o’z ishini tamomlab xotirani bo’shatsa, subjarayonlar esa ketma-ket bir-biriga boshqaruvni uzatadi va oxirgi subjarayon esa operatsion sistemaga boshqaruvni beradi.

    Subjarayonlarni tashkil qilish uchun xotira hajmini ko’rsatish kerak. Subjarayonlar ozod xotirada, ya’ni operatsion sistema, rezident programmalar va ishga tushirilgan programmadan qolgan ortiqcha xotira sohasida tashkil qilinadi.

    Masalan, bizga tanish bo’lgan Borland Pascal yoki Turbo Pascal muhitlarida xotirani boshqarish uchun $M turdagi kompilasiya kaliti ishlatiladi. Uni asosiy programmada birinchi satr o’rnida qo’yish kerak.

    {$M Stek, Minimumkucha, Maksimumkucha}

    Bu yerda 1024 bayt ≤ Stek ≤ 65520 bayt

    0 ≤ Minimumkucha ≤ 640 k

    0 ≤ Maksimumkucha ≤ 640 k

    Ammo Minimumkucha ≤ Maksimumkucha

    Dinamik o’zgaruvchilarni joylashtirish uchun ishlatiladigan xotiraning qismini kucha deymiz. Kuchani boshqarish uchun maxsus programma (kucha monitori) ishlatiladi.

    $M direktivasiga misol tariqasida {$M 1024, 0, 2048}- ni keltirish mumkin.

    Subjarayonlarni tashkil qilish uchun quyidagi DOS-modulining protseduralari ishlatiladi.



    1. SwapVectors; Bu protseduraning parametrlari yo’q, tizimning yoki tashqi uzilishlar vektorlarini tiklash (qayta tiklash) uchun ishlatiladi.

    2. Exec (ExeFile, ComLine: String); Bu yerda ExeFile- subjarayon, ya’ni bajariladigan (.exe, .com) fayl va ComLine- parametrlar

    Masalan, Exec( ’abc.exe’, parameters);

    1. DosExitCode: word; Bu funksiya subjarayonni yakunlash kodini qaytaradi. Ya’ni subjarayon qanday bajarilganligi haqida ma’lumot beradi.

    Programma umumiy, ya’ni ixtiyoriy tashqi mustaqil bajariluvchi dasturni subjarayon sifatida ishlatiladigan bo’lishi uchun uning asosiy bo’laklarini algoritm ko’rinishda tasvirlaymiz.

    {$M 1512, 0, 0} {Xotirani boshqarish}

    Uses dos, crt; {Muhit modullarini ishlatish}

    Function Execute(ExeFile, Parameters, Inf):boolean;

    Begin

    SwapVectors; {OC vektorlarni o’rnatish}



    Exec(ExeFile, Parameters); {subjarayonni ishga yurgizish}

    SwapVectors; {Muhit vektorlarini o’rnatish}

    Case DosError of

    0: begin … end;

    2: begin … end;

    8: begin … end;

    end;

    end;


    {DosError o’zgaruvchisi operatsion sistemaning xatolar nomerini saqlaydi}

    Begin {Programmaning ishchi qismi}

    Case Ch of

    i: begin … end;

    i 1: begin … end;

    

    i n: begin … end;

    end;

    {Tanlash operatori yordamida turli rejalashtirilgan ishlar bajariladi}



    end.

    Execute- funksiyasining tanasida subjarayonni tahlil qiladigan, ya’ni uning qanday yakunlaganligi haqida ma’lumot beradigan maxsus DosExitCode: word; funksiyasini kiritish maqsadga muvofiq. Funksiyaning natijasi bir bayt (word) ma’lumot beradi. Wordning yuqori bayti quyidagi qiymatlarni qabul qilishi mumkin.



     subjarayon yaxshi va to’g’ri tugallandi.

     subjarayon Ctrl Break tugmachalarini bosish natijasida to’xtatildi.

     ExeFile topilmadi.

     subjarayon uchun xotira yetishmadi.

    Wordning quyi bayti esa subjarayon sifatida ishlatilgan (ExeFile) programma yakunlanish kodi haqida ma’lumot saqlaydi.

    Tahlil qilingan umumiy sxema asosida katta va boshqaruvchi programmalarni turli dasturlovchilarga taqsimlab, ishlab chiqib yagona programma shakliga keltirish osonlashadi.

    Bu texnologiyaning yana bir qulayligi turli programmalash muhitlarda (Pascal, Cu, Delphi) tashkil qilingan bajariladigan (.exe, .com) fayllarni birlashtirib yagona programma tashkil qilishdir.

    Subjarayonlarni boshqaruvchi dasturning umumiy va to’liq ko’rinishi quyida berligan

    Programmani qo’llash uchun Exec protsedurasidagi ExeFile va Parameters formal parametrlarni haqiqiy parametrlar bilan almashtirish kifoya. Agar ExeFilening parametrlari mavjud bo’lmasa, u holda ikkinchi parametr bo’sh qoldiriladi.

    Masalan, Exec( ’alpha.exe’, ’ ’);

    Subjarayonli programma umumiy sxemasi

    Program Psubprocess;

    {$M xotirani boshqarish parametrlari}

    Begin

    Read(k); {k- masala nomeri}



    Case k of

    1: begin


    SwapVectors;

    Exec(‘prog1.exe’, parameters1);

    SwapVectors;

    end;


    2: begin

    SwapVectors;

    Exec(‘prog1.exe’, parameters2);

    SwapVectors;

    end;

    

    3: begin

    SwapVectors;

    Exec(‘prog1.exe’, parameters2);

    SwapVectors;

    end;


    end;

    end.


    Sinov savollari:

    1. Subjarayon nima uchun tashkil qilinadi?

    2. Kompilyatsiya kalitlari vazifasini aniqlang

    3. Subjarayonni tashkil qilishda qaysi modul ishlatiladi?

    4. Exec protsedurasining rolini aniqlang.

    5. Uzulish vektorini qayta tiklash nima?



    1. OS Vektorlarini o’rnatishdan maqsad?

    2. Subjarayonlarni sxema yordamida tasvirlang.

    Adabiyotlar

    [1], [5], [11], [14], [16]

    .

    Ma’ruza № 11

    Mavzu: Overley programmalar

    Reja:


    1. Zamonaviy muhitlar va overley programmalar

    2. Overley tashkil qilish bosqichlari

    3. Overleyni rasmiylashtirish

    4. Unit modulining roli

    5. Overley fragmentlar va bosh programma

    Tayanch iboralar: Overley, modul, fragmentlar, kompilyatsiya rejimi,

    Ma’ruza bayoni

    Endi tizimli programmalashning yana bir kichik va qiziqarli masalasi overley programmalarni tashkil qilish haqida to’xtalib o’tamiz.

    Programmalash jarayonida programma hajmi(matni) juda katta bo’lgan holda ko’pgina programmalashtirish tizimlari dastur transliyatsidan keyin “ Not enough memory – Xotira yetishmayapti ” degan ogohlantirish ma’lumotini beradi.

    Dastur - 1) biron-bir faoliyat, ishning mazmuni va rejasi; 2) siyosiy partiyalar, tashkilotlar, alohida arboblar faoliyatining asosiy qoidalari va maqsadlari bayoni; 3) oʻquv fani mazmunining qisqacha izohi; 4) teatr, konsertlar va b.
    Bu muammoning hal qilishning mumkin bo’lgan yo’llaridan biri programmani overley tashkil qilish va qo’llashdir. Shuning uchun zamonaviy programmalash muhitlarida maxsus overley modullari mavjud va ulardan foydalanib overley programmalar tuziladi. Tpas va Borland Pascal qulayliklardan foydalanib overley programma yaratish asos va bosqichlarini ko’rib chiqamiz.

      1. Overley moduli yordamida, ya’ni uning talablarini hisobga olgan holda programmani alohida bo’laklarga bo’lamiz.

      2. Bo’laklar hohlagancha bo’lib, ularning birgalikda talab qiladigan xotira hajmi SHEHM ning ish uchun taqsimlanadigan xotira hajmidan ancha katta bo’lishi mumkin.

      3. Overley tashkil qilgan programma asosan ikkita fayldan iborat, masalan,

        1. prog.exc

        2. prog.ovr

    Bir xil nom va har xil kengaytma. Prog.exe – fayli programmaning doimiy qismi, prog.ovr – fayli esa xotiraga kerakli paytda chaqirilishi mumkin bo’lgan bo’laklar kodini saqlaydi.

      1. Har bir vaqtning davomida xotiraga faqat kerak bo’lgan bo’lakcha yuklanib ishlatiladi. Programmaning overley qismlari(masalan, i 1 qism) uchun oldingi (i - qism) ishlatilgan qism egallagan xotirani ishlatadi. Qo’shimcha xotira umuman kerak bo’lmasligi mumkin.

      2. Bo’laklarni xotiraga chaqirish va undan chiqarish uchun maxsus protsedura, ya’ni overleylar administratori (boshqaruvchisi) yordamida bajariladi.

    Endi Overley programmalarni tasvirlash, ya’ni rasmiylashtirish algoritmi qadamlari bilan tanishamiz.

    a) Overley programmalar ko’pgina tizimlarda(nasalan, Tpas, BP, C ) faqat modul shaklida , ya’ni unit moduli shaklida tashkil qilinadi.

    b) Modullarda mavjud bo’lgan bo’laklar, ya’ni bo’limlar (interface – e’lon, implementation – tadbiq etish, begin … end - initsializatsiya – ishga, yuritish) overley programmaga kiritiladi. Ammo bu yerda quyidagi shartlar bajarilishi kerak.

    b.1) Har bir overley moduli bosh qismida kompilyatsiya rejimi {$0 }, ya’ni modulni overley bo’lishiga ruxsat beruvchi durektiva mavjud bo’lishi.

    b.2) Overley qismprogrammalarni chaqiruvchi hamma protsedura va funksiyalar {$F } (far chaqirish modeli, usuli) rejimida kompilyatsiya qilinishi.

    Overley programmalarni tashkil qilish.

    Overley programmalarni tashkil qilishning umumiy sxemasi va bosqichlarini oddiy misolar yordamida ko’rib chiqamiz. Asosiy instrumental vosita sifatida Borland Pascal programmalash muhitini ishlatamiz.

    Programmaning overley bo’lakalari modul (unit) shaklida tashkil qilinadi. Modulning umuiy ko’rinishi quyidagicha

    Unit < modul nnomi >;

    Interface {elonlar bo’limi}

    Uses mod1, mod2, …, modn;

    Const

    Type {konstanta, tip, va o’zgaruvchilarni aniqlanishi}



    Var
    Implementation {amaliylashtirish bo’limi}

    Uses mod1, mod2, …, modn;

    Const

    Type


    Var

    Begin


    {Ijro etish bo’limi}

    End.


    Faraz qilaylik, quyidagi sodda masala berilgan bo’lsin. Haqiqiy elementlardan iborat massiv berilgan. Massivning eng katta(maksimal) va eng kichik(minimal) elementlarini aniqlab ularning joyini almashtirish kerak bo’lsin.

    Masalani bir qancha bo’laklarga bo’lish mumkin. Masalan, ma’lumotlarni tayyorlash va kiritish, maksimal va minimal elementlarni topish, ularni joyini almashtirish, hosil bo’lgan natijani chiqarish. Har bir bo’lakni overley programma shaklida tashkil qilib, ya’ni overley fragment ko’rinishda loyihalab asosiy programmada ketma – ket ishga da’vat etib masalani hal qilish mumkin.

    Overley fragmentlar va bosh programmaning umumiy sxemalari quyidagilardan iborat.

    1) Massivning maksimal va minimal elementlari o’rnini aniqlaydigan modul.

    {$F , 0 }

    Unit mod1;

    Interface

    Uses mod2;

    Procedure mest0;

    Begin … end;

    End.

    2) Ma’lumotlarni kiritish moduli



    {$F , 0 }

    Unit mod2;

    Interface

    Const n=8;

    Type mass=array[1..n] of real;

    Var arr:mass;

    Implementation

    Begin … end;

    3) Orinalmashtirish moduli

    {$F , 0 }

    Unit mod3;

    Interface

    Procedure zamenamesto;

    Implementation

    Begin … end;

    End.


    4) Overley bo’laklarni ishini boshlash moduli

    Unit modprima;

    Interface

    Uses overley;

    Implementation

    Begin


    OvrInit(‘overprog.ovr’);

    End.


    5) Asosiy programma umumiy ko’rinishi:

    Program asosiy;

    {$F }

    Uses Crt, modprima, overley, mod1, mod2, mod3;



    {$0 mod1}

    {$0 mod2}

    {$0 mod3}

    Begin … end.



    Sinov savollari:

    1. Overley usulining vazifasi nimadan iborat?

    2. Programmalarni Overley tashkil qilish umumiy sxemasini bering

    3. Overley modullar qanday taskil qilinadi?

    4. Qaysi kompilyatsiya kalitlari ishlatiladi?

    5. Overleyni rasmiylashtirish algaritmini keltiring

    6. Overley programma nechta fayldan iborat?

    Adabiyotlar

    [1], [5], [13], [14], [19]



    Ma’ruza № 12

    Mavzu: Ob’yektga – mo’ljallangan programmalash xususiyatlari

    Reja:

    1. Kirish. Ob’ekt va uning xossalari.

    2. OMPning asosiy prinsiplari.

    3. Texnologiyaning qulayliklari.

    4. Texnologiyaning qo’llash bosqichlari.

    Tayanch iboralar: Ob’ekt, maydon, metod, qobiqlash, vorislik, polimorfizm, virtual metod, konstruktor, destruktor.

    Ma’ruza bayoni

    Ob’yektga- yo’naltirilgan programmalash (OYP) zamonaviy texnologiyalardan bo’lib uning negizida ob’ekt (object) tushunchasi yotadi. Shuning uchun bu texnologiyani ob’ektga- mo’ljallangan yoki ob’ektli texnologiya ham deydilar. Ob’ekt bizga programmalash kursining kirish qismidan ma’lum bo’lgan yozuv, aralash tip (record) tipiga o’xshashdir. Ob’ektga yozuvdan farqliroq nafaqat ma’lumotlar, balki ularni qayta ishlash uchun kerakli bo’lgan algoritmlar (qismprogrammalar) saqlanadi.



    Ta’rif: Ob’ekt- bu shunday strukturadirkim uning komponentalarini turli tipli o’zaro bog’liq ma’lumotlar va bu ma’lumotlarni ishlatadigan qismprogrammalar (protsedura va funksiyalar) tashkil qiladi.

    Ob’ektni ma’lumotlarning yangi tipi ham deyish mumkin. Shu asosda Cumula-67 tilidan boshlab yangi OYP texnologiyasi paydo bo’ldi va keyinchalik paskal va C tillarida rivojlantirildi. Texnologiya strukturaga va modulli programmalash texnologiyalariga suyanadi va ularni kengaytiradi.

    Ob’ekt tushunchasiga misol qilib “Kompyuter”ni olish mumkin.

    Kompyuter alohida qismlardan (protsessor, monitor, klaviatura va hokazo) iborat, xotira hajmi, monitor kuchlanish, tezkorlik va hokazo parametrlar bilan xarakterlanadi. Bular kompyuter haqida ma’lumotni tashkil qiladi. Bundan tashqari kompyuter turli amallarni bajaradi yoki uning ustida har- xil amallar bajariladi, masalan, disklarni joylashtirish, ekranda figurani chiqarish, hisoblashni bajarish. Ya’ni “kompyuter” ob’ekti parametrlar va ular ustida bajariladigan amallar majmuidir. Ob’ekt o’ziga xos xususiyatlarni birlashtiradi va ularni qayta ishlaydi.

    OMD texnologiyasi katta programmaviy ma’lumotlarni ishlab chiqishda quyidagi qulayliklar beradi:


    • Sohaning oddiy tabiiy tushunchalarini ishlatish va yangi tushunchalarni hosil qilish ;

    • Programma hajmini xossa va amallarni ixchamlashtirish asosida kamaytirish, xotirani dinamik ob’ektlarni qo’llash natijasida tejash;

    • Ob’ektlar kutubxonasini yaratish, programmani o’zgartirishni osonlashtirish;

    • Qismprogrammalarni turli to’plamli formal parametrlari bilan qo’llash;

    • Ob’ekt haqida to’liq ma’lumotni bir joyda birlashtirish va programma taxlashni soddalashtirish.

    Aytish kerakkim, OYP texnologiyasi kamchiliklarga ham ega va qator holatlarda o’z samaradorligini ko’rsata olmaydi. Masalan, agar uning virtual metodlari qo’llanilsa programma tezkorligi pasayishi mumkin. Sodda va kichik hajmga ega bo’lgan programmalarda bu texnologiyani ishlatish maqsadga muvofiq emas. OMPni ishlatish programmani soddalashtirmaydi, ammo programmani yaratish texnologiyasini osonlashtiradi.

    Bizga ma’lum bo’lgan TPas yoki BP muhitlarda OMP-ga asoslangan Turbo Vision kutubxona (qismprogrammalar majmua) si ishlatiladi va muloqotli (interaktiv) programmalar to’plamini loyihalash uchun katta qulayliklar beradi.



    OYP texnologiyasi asosiy prinsiplari (xususiyatlari). Texnologiyaning negizida uchta bosh tushunchalar yotadi.

    1. Inkapsulyatsiya (Qobiqlash). Qobiqlash ma’lumotlar to’plamini va bu to’plamni qayta ishlashga mo’ljallangan algoritmlarni (qismprogrammalarni, ya’ni protsedura va funksiyalarni) birlashtirishdir. Natijada yangi tip- ob’ekt (object) paydo bo’ladi. OMP muhitida ma’lumotlarni ob’ekt maydonlari va qismprogrammalarni ob’ekt metodlari deymiz.

    Qulayliklari:

    1. Ob’ekt tashqi muhitdan mustaqil bo’ladi.

    2. Ma’lumotlar va algoritmlarni modifikatsiya qilish (o’zgartirish) osonlashadi.

    3. Ob’ektlar kutubxonasini yaratishga qulay sharoitlar paydo bo’ladi.

    1. Vorislik (Meroslik, irsiylik- наследование). Tayyor ob’ektlar yordamida yangi ob’ektlar ketma- ketligini yaratish. Eski (bosh) ob’ektlarga ma’lumotlar tasvirlanishi va ularni qayta ishlash metodlari yangi ob’ektlarga “merosiy” (otadan- o’g’ilga- nevaraga) o’tishi. Ya’ni bosh ob’ektdagi maydonlar va metodlar avtomatik ravshda “otadan” “o’g’ilga” o’tadi, yangilari bilan kengaytiriladi yoki o’zgartiriladi.

    Qulayliklari:

    1. Ob’ekt xususiyatlarini o’zgartirish osonlashadi.

    2. Masala qo’yilishida bosh (ota) ob’ektda mujassamlangan xususiyatlar keyinchalik yangi (o’g’il) ob’ektlarning xususiyatlari bilan kengaytiriladi.

    3. Murakkab programmani qadamba- qadam ishlab chiqish sharoiti paydo bo’ladi.

    1. Polimorfizm (umumiylik, o’rindoshlik). Polimorfizm deb- bitta bosh (ota) ob’ektdan paydo bo’lgan qarindosh ob’ektlarning o’xshash muammolarni turlicha (o’ziga xos) usullar yordamida yechishga aytiladi. Boshqacha qilib aytganda, tasvirlangan qismprogrammalar ob’ektlar ketma- ketligida ta’sir kuchiga ega bo’lib, har bir keyingi pog’onada (bosqichda) turgan ob’ekt o’zi ustida bu qismprogrammani o’zicha qo’llashi mumkin.

    Qulayliklari:

    1. Bosh ob’ektdagi metodlarda mavjud bo’lmagan xususiyatlarni keyingi pog’onadagi ob’ektlarda hosil qilish.

    2. Yangi ob’ektga bosh ob’ektdagi metod nomi bilan metodni e’lon qilib unda yangi xossalarni kiritish.

    3. Ikkita bir xil metod va turli xususiyatlarni loyihalash.

    4. Virtuallashtirish (виртуализация), ya’ni nafaqat yangi (o’g’il) ob’ekt metodini bosh (ota) ob’ekt metodlariga murojaat qilinishini, balki teskarisi ham, ya’ni bosh ob’ekt metodlarini yangi ob’ekt metodlariga murojaat qilinishini tashkil qilish.

    Texnologiya asoslarini qo’llash va talablarini qondirish uchun quyidagi masalaning yechimining ketma-ketligini tahlil qilamiz.

    Masala: Ekranda turli grafik obrazlarni (nuqta, aylana, kvadrat, chiziq) hosil qilib ularni harakatini tashkil qiluvchi programma tuzilsin: Ekran holatini quyidagi chizmada ko’rasatish mumkin.

    Programmada obrazlarni ko’chirishni namoyish etish uchun kursorni boshqaruvchi klavishalar: Home, End, PgUp, PgDn- dioganal bo’yicha harakat uchun, Tab- ko’chirish kerak bo’lgan obrazni tanlab olish uchun va Esc- programmadan chiqish uchun ishlatiladi.



    1. Obe’ktlarni tashkil qilish. Bizga ma’lum programmalash muhitlarida ob’ektlarni yaratish uchun uchta maxsus so’z: object, constructor, destructor va uchta standart direktivalar: private, public va virtual ishlatiladi.

    Object- ob’ektni tasvirlash uchun qo’llanib tiplarni aniqlash bo’limida joylashtiriladi.

    Type MyObject = object

    {ob’ekt maydonlari}

    {ob’ekt metodlari}

    End;

    Agar ob’ekt boshqa bosh (ota) ob’ektdan hosil qilingan bo’lsa, u holda bosh ob’ekt nomi object so’zidan keyin qavslarda ko’rsatiladi.



    Type MysecondObject = Object(MyfirstObject)

    { ob’ekt maydonlari}

    {ob’ekt metodlari}

    End;


    Ob’ektlarni tasvirlashda (e’lon qilishda) quyidagilarga rioya qilish kerak.

    • Ixtiyoriy ob’ekt xohlagancha avlodga (farzandlarga) va faqat bitta bosh (ota) ob’ektga ega bo’lishi mumkin;

    • Ob’ekt tipi faqat asosiy programmaning turlarini tasvirlash bo’limida (type bo’limida) yoki modullar bo’limlarida e’lon qilinishlari kerak. Qismprogrammalarda (protsedura va funksiyalarda) ob’ektlarni tasvirlash mumkin emas;

    • Ob’ekt tipini tasvirlashda ma’lumotlar maydonlari metodlarni tasvirlashdan oldin bo’lishi kerak;

    • Ob’ekt komponentalari fayl bo’lishi mumkin emas va o’z navbatida fayllar “ob’ekt” tipidagi komponentalarni saqlamaydi.

    Masalani yechishga o’tsak, bosh (ota) ob’ektini TGraphObject bilan belgilaymiz. Qobiqlash asosida boshqa ob’ektlar (o’g’illar) uchun umumiy bo’ladigan maydon va metodlarni kiritamiz.

    Type TgraphObj = object

    Private {ob’ekt maydonlari foydalanuvchidan yashirilinadi}

    x, y: integer; {nuqta koordinatasi}

    color: word;{figura rangi}

    public {ob’ekt metodlari foydalanuvchi uchun ochiq}

    constructor Init(ax, ay: integer; aColor: word); {ob’ekt ekzemplyarini (nusxasini) hosil qiladi}

    procedure Draw(aColor: word); virtual; {ob’ektni berilgan aColor rangi bilan chizadi}

    procedure Show; {color rangi bilan ob’ektni ko’rsatadi}

    procedure Hide; {fon rangi bilan ob’ektni yashiradi}

    procedure MoveTo (dx, dy: integer); {ob’ektni koordinatasi x dx, y dy bo’lgan nuqtaga ko’chiradi }

    end;


    Keyinchalik TgraphObj – dan “o’g’il” ob’ektlarni hosil qilib nuqta, chiziq, to’rtburchak va aylananing o’ziga xos xususiyatlarini ko’rsatuvchi xarakteristikalarini tashkil qilamiz. Bu grafik obrazlarning har biri ekrandagi o’rni (x va y maydonlari) va rangi bilan (color maydoni) xarakterlanadi. Ular Draw metodi yordamida ekranda akslantiriladi, Show metodi bilan “o’zini ko’rsatadi”, Hide metodi bilan “yashirinadi” va MoveTo yordamida ekran bo’ylab harakat qiladi.

    Private direktivasi yashirilgan (yopilgan ) maydon va metodlar seksiyasini ochadi. Agar shu seksiyada programmalovchi TPU- modulidan foydalangan bo’lsa u holda foydalangan ob’ektlarning elementlari “ko’rmas” shakliga o’tadi. Yuqoridagi tasvirlashda reper (nishonli) nuqta hisoblanadigan (x, y) ixtiyoriy tarzda o’zgartirilishi mumkin emas. X va Y qiymatlarini o’zgartirish uchun ob’ekt tarkibiga kiradigan Init va MoveTo metodlari ishlatiladi.

    Yashirilgan ( ko’rmas) maydon va metodlar ob’ekt tasvirlangan programmaviy birliklarda (programma yoki modul) ochiq deb qabul qilinadi. Agar biz keyinchalik GraphObj modulini yaratsak, u holda yashirilgan elementlar faqat shu modulda “ochiq” va bu modulni ishlatuvchi asosiy programmada “yopiq” deb hisoblanadi.



    Download 0,5 Mb.
    1   2   3   4   5   6   7   8   9   ...   41




    Download 0,5 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    O’zbekiston respublikasi oliy va o’rta maxsus

    Download 0,5 Mb.