• Algoritmlar
  • Amaliy qism: 2. “Kompyuter”
  • Nazariy qism 5-Amaliy mashg’ulot stl komponentalari va konteynerlar bilan tanishish. Shablonlar standart kutubxonasining tuzilmasi. Foydalanuvchining shablonlari




    Download 0.66 Mb.
    Sana23.05.2023
    Hajmi0.66 Mb.
    #63489
    Bog'liq
    123 Ashuraliyev Ilg\'or
    Mavzu Falsafa turmush tarzi va dunyoni anglash usuli ilmiga oid, 222222222, lqUX2JRHmLNcdBOt5aKiGgxlpWbeGNyBcXMW0We3, taqdimot

    NAZARIY QISM
    5-Amaliy mashg’ulot
    STL komponentalari va konteynerlar bilan tanishish. Shablonlar standart kutubxonasining tuzilmasi. Foydalanuvchining shablonlari
    STL-standart andazalar kutubxonasi bo’lib(STL) - bu dasturlashning umumiy tuzilmalari va ro'yxatlari, steklari, massivlari va hk kabi funktsiyalarni ta'minlash uchun shablonlar sinflari to'plami hisoblanadi.
    STL uchta tarkibiy qismdan iborat:

    • Konteynerlar

    • Algoritmlar

    • Iteratorlar

    Konteyner - bu xotirada ma'lumotlarni uyushgan tartibda saqlaydigan ob'ekt. STL-dagi konteynerlar shablon sinflari tomonidan amalga oshiriladi va shuning uchun har xil turdagi ma'lumotlarni saqlash uchun ularni osonlikcha o'zgartirish va sozlash mumkin. Konteynerlarda joylashgan ma'lumotlarni qayta ishlash uchun ishlatiladigan protsedura algoritm sifatida belgilanadi. STL boshlang'ich, qidirish, nusxalash, saralash va birlashtirish, nusxalash, saralash va birlashtirish kabi vazifalarni qo'llab-quvvatlash uchun juda ko'p turli xil algoritmlarni o'z ichiga oladi. Algoritmlar shablon funktsiyalari bilan amalga oshiriladi.
    Algoritmlar (algorithms) konteyner ichidagilar ustidan operatsiyalar bajaradi. Konteyner ichidagilarni initsializatsiyalash, qidirish, saralash va almashtirish uchun algoritmlar mavjud. Ko‘p algoritmlar konteyner ichidagi elementlarni chiziqi ro‘yxatini ifodalaydovchi ketma-ketlik (sequence) bilan ishlash uchun mo‘ljallangan.
    Iteratorlar (iterators) – bu konteynerga nisbatan ko‘rsatkich sifatida bo‘lgan ob’ektlar. Ular massiv elementlariga ruxsat oluvchi ko‘rsatkichlar kabi, konteyner ichidagiga ruxsat olish imkoni beradi.
    begin () - Vektordagi birinchi elementga ishora qiluvchi iteratorni qaytaradi
    end () - Vektordagi oxirgi elementga ishora qiluvchi iteratorni qaytaradi



    Vektorlar element kiritilganda yoki o'chirilganda avtomatik ravishda o'lchamlarini o'zgartirish qobiliyatiga ega bo'lgan dinamik massivlar bilan bir xil, ularni saqlash konteyner tomonidan avtomatik ravishda boshqariladi. Vektor elementlari tutashgan omborga joylashtiriladi, shunda ularga iteratorlar yordamida o'tish va o'tish mumkin. Vektorlarda ma'lumotlar oxiriga kiritiladi. Oxirida qo'shish differentsial vaqtni oladi, chunki ba'zida qatorni kengaytirishga ehtiyoj paydo bo'lishi mumkin. Oxirgi elementni olib tashlash faqat doimiy vaqtni oladi, chunki o'lchamlarning o'zgarishi bo'lmaydi.
    rend () - Vektordagi birinchi elementdan oldingi nazariy elementga ishora qiluvchi teskari iteratorni qaytaradi (teskari uchi deb qaraladi)
    cbegin () - Vektorning birinchi elementiga ishora qiluvchi doimiy iteratorni qaytaradi.
    cend () - Vektorning oxirgi elementidan keyin keladigan nazariy elementga ishora qiluvchi doimiy iteratorni qaytaradi.
    crbegin () - Vektordagi oxirgi elementga ishora qiluvchi (teskari boshlanish) doimiy teskari iteratorni qaytaradi. U oxirgi elementdan birinchi elementga o'tadi
    crend ​​() - Vektorning birinchi elementidan oldingi nazariy elementga ishora qiluvchi doimiy teskari iteratorni qaytaradi (teskari uchi deb qaraladi)
    6-Amaliy mashg’ulot
    Sinflarni qo’llash. Sinflarning konstruktor va destruktorlari.
    Sinf - bu bizning dasturimizda foydalanishimiz mumkin bo'lgan foydalanuvchi belgilaydigan ma'lumot turi va u ob'ekt tuzuvchisi yoki ob'ektlarni yaratish uchun "reja" sifatida ishlaydi.
    Sinf yaratish uchun class kalit so'zdan foydalaning. " MyClass" Nomli sinf yaratamiz.

    Sinfni e'lon qilish uchun class kalitli so'zi, undan so'ng ochiluvchifiguraliqavs, so'ng xossalar va metodlari ro'yxati ishlatiladi. Sinfni e'lon qilish yopiluvchi figurali qavs va nuqtali vergul orqali yakunlanadi. Masalan, guruh sinfini quyidagicha e'lon qilish mumkin.
    Class Guruh
    {
    unsigned int Talaba ;
    unsigned int yosh ;
    void fan_baholari()
    }
    Sinf elementlari sinfga tegishli funktsiyalarida ishlatilishidan oldin ta'riflangan bo’lishi shart emas. Huddi shunday bir funktsiyadan hali ta'rifi berilmagan ikkinchi funktsiyaga murojaat qilish mumkin. Komponentalarga murojaat huquqlari. Komponentalarga murojaat huquqi murojaat spetsifikatorlari yordamida boshqariladi. Bu spetsifikatorlar :
    Protected – himoyalangan;
    Private – hususiy;
    Public – umumiy;
    Amaliy qism:
    2. “Kompyuter” Class(sinf)i yaratilsin. O’zgaruvchilar va funksiyalardan foydalanib 5 tadan kam bo’lmagan ob’ektlar xosil qilinsin. Dasturda Konstruktor va destruktorlardan foydalanilsin.

    #include


    using namespace std;
    class Kompyuter{
    public:
    string markasi;
    string modeli;
    int otkuchi;
    int yili;
    private:
    string hujjatlar;
    };
    int main()
    { Kompyuter A1;
    A1.markasi="AVTECH";
    A1.modeli="Core 11";
    A1.otkuchi=100000;
    A1.yili=2023;
    cout<<"Kompyuter markasi : "<cout<<"Kompyuter modeli: "<cout<<"Ishlash tezligi: "<cout<<"Ishlab chiqarilgan yili: "<return 0;
    }

    Download 0.66 Mb.




    Download 0.66 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Nazariy qism 5-Amaliy mashg’ulot stl komponentalari va konteynerlar bilan tanishish. Shablonlar standart kutubxonasining tuzilmasi. Foydalanuvchining shablonlari

    Download 0.66 Mb.