• Rekursiv funksiyalar
  • Havola bo‘yicha uzatish (Pass by Reference)




    Download 488,16 Kb.
    Pdf ko'rish
    bet10/11
    Sana05.10.2024
    Hajmi488,16 Kb.
    #273624
    1   2   3   4   5   6   7   8   9   10   11
    Bog'liq
    Mirjalol1

    Havola bo‘yicha uzatish (Pass by Reference) 
    Havola bo‘yicha uzatishda parametr asl o‘zgaruvchi bilan bog‘lanadi va 
    funksiyada o‘zgarish kiritilgan taqdirda asl qiymat ham o‘zgaradi. 
    Havola bo‘yicha uzatish uchun ref yoki out kalit so‘zlari ishlatiladi. 
    Misol: 
    csharp 
    Copy code 
    void Increment(ref int x) 

    x++; 

    class Program 

    static void Main(string[] args) 

    int number = 5; 
    Increment(ref number); // Havola bo‘yicha uzatish 
    Console.WriteLine(number); // Natija: 6 




    20 
    Bu yerda Increment funksiyasiga ref kalit so‘zi orqali number 
    o‘zgaruvchisi havola bo‘yicha uzatiladi va uning qiymati o‘zgaradi. 
    Rekursiv funksiyalar 
    Rekursiv funksiya o‘zini o‘zi chaqiradigan funksiyadir. Bunday 
    funksiyalar asosan murakkab masalalarni hal qilishda, masalan, faktorial 
    yoki Fibonachchi sonlarini hisoblashda ishlatiladi. 
    Misol, faktorialni hisoblaydigan rekursiv funksiya: 
    csharp 
    Copy code 
    int Factorial(int n) 

    if (n == 1) 
    return 1; 
    else 
    return n * Factorial(n - 1); 

    Ushbu funksiya n sonining faktorialini hisoblab beradi. Masalan, 
    Factorial(5) chaqirilganda quyidagi jarayon amalga oshiriladi: 
    scss 
    Copy code 
    Factorial(5) = 5 * Factorial(4) 
    Factorial(4) = 4 * Factorial(3) 
    Factorial(3) = 3 * Factorial(2) 


    21 
    Factorial(2) = 2 * Factorial(1) 
    Factorial(1) = 1 
    8. Funksiyani ortiqcha yuklash (Overloading) 
    C# tilida bir xil nomdagi funksiyalar turli xil parametrlar bilan yaratilishi 
    mumkin. Bu jarayon funksiyani ortiqcha yuklash (overloading) deb 
    ataladi. Misol uchun, bir xil nomdagi Add funksiyasi turli parametrlarga 
    ega bo‘lishi mumkin: 
    csharp 
    Copy code 
    int Add(int a, int b) 

    return a + b; 

    double Add(double a, double b) 

    return a + b; 

    Bu yerda ikkita Add funksiyasi mavjud, biri butun sonlarni, 
    ikkinchisi esa qatorli sonlarni qo‘shadi. C# kompilyatori parametrlar 
    asosida qaysi funksiyani chaqirish kerakligini aniqlaydi. 

    Download 488,16 Kb.
    1   2   3   4   5   6   7   8   9   10   11




    Download 488,16 Kb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Havola bo‘yicha uzatish (Pass by Reference)

    Download 488,16 Kb.
    Pdf ko'rish