O’ZBEKISTON RESPUBLIKASI RAQAMLI TEXNOLOGIYALARI VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI URGANCH FILIALI
KOMPYUTER INJINIRINGI FAKULTETI
Kio’-963-21 GURUH TALABASINING
Ma’lumotlar tuzilmasi va algoritmlar fanidan
Mavzu: Rekursiv funktsiyalar va ularning algoritmlar.
Bajardi: __________________________________ _____________
Qabul qildi: ___________________________________ _____________
URGANCH -2023
Reja:
Kirish
Asosiy qism
Rekursiv funktsiyalar va ularning algoritmlar.
Ma’lumotlarning rekursiv turlari.
Yagona rekursiya va ko'p martalik rekursiya.
Bilvosita rekursiya.
Anonim rekursiya.
Strukturaviy va generativ rekursiya.
Umumiy rekursiya alternativa.
Yakuniy qism
Xulosa.
Foydalanilgan adabiyotlar.
Kirish.
Rekursiv funksiyalar, o'zini chaqirib turadigan funksiyalardir. Bu funksiyalar qulaylik va oddiylik maqsadida ishlatiladi, lekin ularni to'g'ri va to'xtatishni bilmagan holda yozish odatiy. Rekursiv funksiyalar, bir muddatda o'zini qayta qayta chaqiradi va har bir chaqiruvda muammo kichikroq bo'lishi kerak.
Quyidagi misollar orqali rekursiv funksiyalarni o'rganishingiz mumkin:
Faktorial hisoblash:
Faktorialni hisoblovchi rekursiv funksiya. Bu misolni yuqoridagi javobda ko'rib chiqgan edik.
def recursive_factorial(n):
if n == 0 or n == 1:
return 1
else:
return n * recursive_factorial(n - 1)
Fibonachchi ketma-ketligi:
Fibonachchi ketma-ketligini hisoblovchi rekursiv funksiya.
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
Uslubga ko'tarish:
Uslubni (x^n) hisoblovchi rekursiv funksiya.
def power(x, n):
if n == 0:
return 1
else:
return x * power(x, n - 1)
Summa hisoblash:
Biror sonlarni (1 dan n gacha) qo'shib ketadigan rekursiv funksiya.
def sum_to_n(n):
if n == 0:
return 0
else:
return n + sum_to_n(n - 1)
Bu misollar rekursiv funksiyalar va ularning algoritmlarini. Rekursiv funksiyalarni yozirken, o'zini chaqirishni to'xtatish shartlarini qo'shishingiz, aks holda funksiya e'tiborsiz chaqirilishi mumkin va dastur hato chiqarishi mumkin.
Dostları ilə paylaş: |