• II.Topshiriqlar
  • Mavzu: Umumlashgan delegatlar va interfeyslar. I. Ishning maqsadi




    Download 79.14 Kb.
    bet1/4
    Sana01.04.2024
    Hajmi79.14 Kb.
    #184582
      1   2   3   4
    Bog'liq
    AMALIYOT 1
    PF-41 23.03.2023, Avtomatik boshqarish va rostlash nazariyasi asoslari (X.Karimov, M.Bobojanov), 8.Frezalash moslamalarini konstruktsiyalari va tuzilishi, 5-мавзу амалий

    O’quv-malakaviy amaliyot 1-topshiriq


    Mavzu: Umumlashgan delegatlar va interfeyslar.
    I.Ishning maqsadi:
    Talabalarda C# muhitida umumlashgan delegatlar va interfeyslar bo’yicha nazariy va amaliy ko’nikma hosil qilish.
    II.Topshiriqlar:
    1.C# muhitida umumlashgan delegatlar bilan ishlash.
    2. Umumlashgan interfeyslar bilan ishlash va ulardan foydalanish.
    Masalalar:
    A) Boshlang‘ich darajadagi masala(Func delegati bilan matematik operatsiya bajarish)
    Masala: Func delegatidan foydalanib, ikkita son va bir amalni (+, -, *, /) qabul qiladigan va tegishli amalni bajarib, natijani qaytaradigan dastur yozing.

    B) O’rta darajadagi masala(Predicate delegati bilan filtrlash)


    Masala: Xodimlarning ro'yxatini filtrlash.
    Yo‘llanma: Sizga bir kompaniyaning xodimlari ro'yxati berilgan. Har bir xodim quyidagi ma'lumotlarga ega bo'lgan Employee klassi orqali ifodalanadi: Id, Name, Department, va Salary. Sizdan Predicate delegatidan foydalanib, ma'lum bir bo'limda ishlaydigan va ma'lum bir miqdordan ko'p maosh oladigan xodimlarni filtrlash vazifasi topshirilgan.

    1. Algoritm uchun qadamlar:

    2. ‘Employee’ klassini yarating.

    3. Xodimlar ro'yxatini yaratib, uni bir nechta xodimlar bilan to'ldiring.

    4. ‘Predicate’ delegatidan foydalanib, filtrlash mezonini ifodalovchi metodni yarating. Masalan, "Axborot texnologiyalari" bo'limida ishlaydigan va 5000 dan ko'p maosh oladigan xodimlarni filtrlash.

    5. Filtrlash natijasini konsolga chiqaring.

    C) Murakkab darajadagi masala(Umumlashgan Interfeys va Delegatlar)


    Masala: Turli turlardagi ma'lumotlar uchun umumiy filtrlash tizimi
    Yo‘llanma: Sizga turli xil turdagi ma'lumotlar to'plamini filtrlash imkonini beruvchi umumlashgan filtrlash tizimini yaratish vazifasi topshirilgan. Ushbu tizim, foydalanuvchidan keladigan turli shartlarga muvofiq ma'lumotlarni filtrlash uchun mo'ljallangan. Misol uchun, ma'lum bir yoshdan katta bo'lgan shaxslarni yoki ma'lum bir narxdan past bo'lgan mahsulotlarni filtrlash kabi masalani hal qilish.
    Algoritm uchun qadamlar:

    1. Umumlashgan IFilter interfeysini yaratish (Bu interfeysda bool IsMatch(T item) metodini ta'riflang, bu metod har bir element uchun filtrlash shartini tekshiradi).

    2. Umumlashgan kengaytma metodini yaratish(IEnumerable uchun kengaytma metod sifatida Filter metodini yaratish. Bu metod IFilter interfeysini qabul qiladi va shartlarga mos keladigan elementlarni qaytaradi.

    3. Aniq misollar uchun filtrlash shartlarini amalga oshirish(Masalan, Person va Product klasslari uchun mos filtrlash shartlarini yaratish).


    Download 79.14 Kb.
      1   2   3   4




    Download 79.14 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Mavzu: Umumlashgan delegatlar va interfeyslar. I. Ishning maqsadi

    Download 79.14 Kb.