• 14-ma’ruza. Rekursiv va qayta yuklanuvchi metodlar
  • Koddan foydalanish mumkin bo‘lmagan istisno




    Download 5,29 Mb.
    bet83/154
    Sana08.01.2024
    Hajmi5,29 Mb.
    #131939
    1   ...   79   80   81   82   83   84   85   86   ...   154
    Bog'liq
    Majmua

    Koddan foydalanish mumkin bo‘lmagan istisno
    Metodlarni yaratishda hech qanday vaziyatda kod bo‘lagini bajarib bo‘lmaydigan vaziyatlardan ehtiyot bo’lish kerak. Bunday kod mavjud emas deb ataladi va C# da yaroqsiz hisoblanadi. Agar kirish mumkin bo‘lmagan kodni o‘z ichiga olgan metod yaratilsa, kompilyator tegishli tarkibga ega bo‘lgan ogohlantirish xabarini chiqaradi. Quyidagi dastur kodini ko‘rib chiqamiz.
    public void MyMeth()
    {
    char a, b;
    // ...
    if (a == b)
    {
    Console.WriteLine("teng");
    return;
    }
    else
    {
    Console.WriteLine("teng emas");
    return;
    }
    Console.WriteLine("bu mavjud bo‘lmagan kod ");
    }
    Ushbu misolda MyMeth() metodidan qaytarish har doim WriteLine() metodiga chaqirishni o‘z ichiga olgan oxirgi e’lon bajarilishidan oldin sodir bo‘ladi. Agar ushbu kodni kompilyatsiya qilinsa, ogohlantirish xabari chiqadi. Umuman olganda, natija bermaydigan kod dasturlash xatosi hisoblanadi.

    14-ma’ruza. Rekursiv va qayta yuklanuvchi metodlar


    Reja:
    1. Rekursiya
    2. Qayta yuklanuvchi funksiyalar
    3. Rekursiv funksiyalarga oid masalalar

    C# dasturlash tili metodga metodning o‘zini chaqirish imkonini beradi. Bu jarayon rekursiya deb ataladi va o‘zini chaqiradigan metod rekursiv deb ataladi. Umuman olganda, rekursiya biror narsaning o‘zini-o‘zi belgilaydigan jarayondir. Shu nuqtayi nazardan, u bir oz siklik jarayon ta’rifini eslatadi. Rekursiv metod, asosan, u metod o‘zini chaqiradigan kodni o‘z ichiga olganligi bilan farq qiladi. Rekursiya dasturni boshqarishning eng samarali mexanizmlaridan biridir.


    Rekursiya deb metod tanasida shu metodning o‘zini chaqirishiga aytiladi. Rekursiya ikki xil bo‘ladi:
    oddiy - agar metod o‘z tanasida o‘zini chaqirsa;
    vositali - agar birinchi metod ikkinchi metodni chaqirsa, ikkinchisi esa o‘z navbatida birinchi metodni chaqirsa.
    Odatda rekursiya matematikada keng qo‘llaniladi. Chunki, aksa­riyat matematik formulalar rekursiv aniqlanadi. Misol tariqasida faktorialni hisoblash formulasini

    va sonning butun darajasini hisoblashni ko‘rishimiz mumkin:

    Ko‘rinib turibdiki, navbatdagi qiymatni hisoblash uchun funksiyaning «oldingi qiymati» ma’lum bo‘lishi kerak. C# tilida rekursiya matematikadagi rekursiyaga o‘xshash.
    Rekursiyani tushuntirish uchun sonning faktorialini hisoblash algoritmini ko‘rib chiqamiz. N butun sonining faktoriali 1 dan N gacha bo‘lgan barcha butun sonlarning ko‘paytmasidir. Masalan, 3 ning faktoriali 1×2×3 yoki 6 ga teng. Quyidagi dastur misolida sonning faktorialini hisoblashning rekursiv metodi ko‘rsatilgan. Taqqoslash uchun ushbu dasturda sonning faktorialini hisoblashning rekursiv bo‘lmagan versiyasi ham mavjud.

    Download 5,29 Mb.
    1   ...   79   80   81   82   83   84   85   86   ...   154




    Download 5,29 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Koddan foydalanish mumkin bo‘lmagan istisno

    Download 5,29 Mb.