|
Axborot texnologiyalari” kafedrasi “MA’lumotlar tuzilmasi va algoritmlari” fanidan amaliy mashg‘ulotlarini bajarish bo‘yicha
|
bet | 9/39 | Sana | 12.06.2024 | Hajmi | 2,32 Mb. | | #262963 |
Bog'liq uslubiy qo\'llanma 3Nazorat savollar:
Ma’lumotlar tuzilmasining qanday umumiy ko‘rinishlari mavjud?
Massiv va vektor qanday farqlanadi?
Ko‘rsatkichli turlar qanday bo‘ladi?
3-Amaliy mashg‘ulot: Rekursiv misollarni tahlil qilish. Rekursiv algoritmlarning dasturlarini ishlab chiqish.
Ishdan maqsad: Ushbu amaliyot ishining maqsadi talabalar rekursiv funksiyalar mavjudligini va ularning samaradorliklarini baholashni o‘rganishlari kerak. Shu asosda saralash usullarini qiyosiy tahlil qilishlari, C++ dasturlash tilida fayllar bilan ishlashni va ularga oid dasturlar tuzishni o‘zlashtirishlari kerak.
Qo‘yilgan masala: Talabalar topshiriq variantiga mos saralash usuli yordamida masalani yechish dasturini yaratish ko‘nikmasiga ega bo‘lishlari kerak.
Ish tartibi:
Tajriba ishi nazariy ma’lumotlarini o‘rganish;
Berilgan topshiriqning algoritmini ishlab chiqish;
C++ dasturlash muhitida dasturni yaratish;
Natijalarni tekshirish;
Hisobotni tayyorlash va topshirish.
Funksiya o‘ziga o‘zi to‘g‘ridan-to‘g‘ri yoki qandaydir vosita orqali murojat qilish jarayoniga rekursiya deyiladi va bunday funksiya rekursiv funksiya deb ataladi. Lekin, shunchaki ta’rif yordamida to‘g‘ri va xatosiz ishlovchi rekursiv funksiya tuzish qiyin, buning uchun rekursiv funksiyaning asosiy shartlarini yaxshi bilish kerak.
Har qanday to‘g‘ri tuzilgan rekursiya asosini ikkita shart tashkil qiladi.
Rekursiya asos sharti
Funksiyaning o‘ziga o‘zgartirilgan argument bilan murojaat qilish.
Rekursiv funksiya qaysidir vaqtga kelib o‘ziga murojaat qilishni to‘xtatishi kerak bo‘ladi. Aynan shu narsani rekursiya asos sharti ta’minlab beradi. Hikoyamizdagi misolga qaytadigan bo‘lsak, summa() funksiyasiga bir necha marta murojaat qildi va oxirida funksiyaga keluvchi massivda faqat bitta element qolganda to‘xtadi. Bu masala uchun arrayda yagona element qolishi asos shart bo‘lib xizmat qiladi va shu yerga yetganda dastur to‘xtashi kerakligini bilib oladi. Rekursiv funksiya tuzishda asos shartni to‘g‘ri qo‘yish juda ham muhim hisoblanadi. Hali bunga yana to‘xtalamiz.
Keyingi shartda o‘zgartirilgan argument deganda, odatda masala boshidagi argumentdan kichikroq argument tushiniladi (ba’zi hollarda kattaroq bo‘lishi mumkin). Misolimizda, har safar summa() funksiyasiga murojaat qilganda undagi massiv hajmini bittaga kamaytirib bordi. Bu narsa ham juda muhim, chunki bir xil argument bilan qayta-qayta murojaat qilinganda yoki argument notog‘ri o‘zgartirilganda funksiya o‘zini cheksiz marta chaqirishiga to‘g‘ri kelib qoladi. Bu haqida ham batafsil yana gaplashamiz.
|
|
Bosh sahifa
Aloqalar
Bosh sahifa
Axborot texnologiyalari” kafedrasi “MA’lumotlar tuzilmasi va algoritmlari” fanidan amaliy mashg‘ulotlarini bajarish bo‘yicha
|