Nizomov abbosbek 7-labaratoriya ishi. Mavzu: Rekursiya va ularni dasturlashda ishlatish
Download 101.1 Kb.
|
Abbosbek
611-20 guruh talabasi NIZOMOV ABBOSBEK 7-labaratoriya ishi. Mavzu: Rekursiya va ularni dasturlashda ishlatish Ishdan maqsad: Ushbu laboratoriya 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. Har qanday to'g'ri tuzilgan rekursiya asosini ikkita shart tashkil qiladi. 1. Rekursiya asos sharti 2. 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. Masala. #include using namespace std; int sum, sum_1, sum_2 ;
int main() { int n; cout << "n = "; cin >> n; cout << "Natija: " << raqam(n); return 0; } Xulosa: Ushbu laboratoriyada rekursiv funksiyalar mavjudligini va ularning samaradorliklarini baholashni o‘rgandim. Shu asosda saralash usullarini qiyosiy tahlil qilishni, C++ dasturlash tilida fayllar bilan ishlashni va ularga oid dasturlar tuzishni o‘zlashtirdim. Download 101.1 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling