1-misol.
LoopImitation protsedurasi (i, n: integer); (Birinchi parametr - qadam hisoblagich, ikkinchi parametr - bu qadamlarning umumiy soni) begin Writeln ("Salom N", i); // Agar i bo'lsa takrorlanadigan ko'rsatmalar mavjud<="" p="" >
LoopImitation (1, 10) kabi qo'ng'iroq natijalari ko'rsatmalarni o'ndan bir marta hisoblagich o'zgarishi bilan 1 dan 10 gacha bajaradi. Bu holda u quyidagilarni chiqaradi:
Salom N 1
Salom N 2
…
Salom N 10
Umuman olganda, protsedura parametrlari hisoblagich qiymatlarini o'zgartirish uchun chegaralar ekanligini ko'rish qiyin emas.
Rekursiv chaqiriqni va takrorlanadigan ko'rsatmalarni quyidagi misolda almashtirishingiz mumkin.
2-misol.
LoopImitation2 protsedurasi (i, n: integer); agar men boshlasam<="" p="" >
Bunday holda, protsedura ko'rsatmalar bajarilishini boshlashdan oldin rekursiv ravishda chaqiriladi. Protseduraning yangi misoli, birinchi navbatda, biz boshqa hisobchini chaqiramiz va hokazo, biz hisoblagichning maksimal qiymatiga erishgunimizcha. Shundan keyingina chaqirilgan protseduralarning oxirgisi o'z ko'rsatmalarini bajaradi, so'ngra avvalgi ko'rsatmalar o'z ko'rsatmalarini bajaradi va hokazo. LoopImitation2 (1, 10) raqamiga qo'ng'iroq qilish salomlarni teskari tartibda chop etadi:
Salom N 10
…
Salom N 1
Agar biz rekursiv deb ataladigan protseduralar zanjirini tasavvur qilsak, unda 1-misolda biz avval chaqirilgan protseduralardan keyingilariga o'tamiz. 2-misolda, aksincha keyinroqdan ertagacha.
Va nihoyat, rekursiv chaqiruvni ikkita ko'rsatma bloki o'rtasida joylashtirish mumkin. Masalan:
LoopImitation3 protsedurasi (i, n: integer); begin Writeln ("Salom N", i); (Ko'rsatmalarning birinchi bloki bu erda joylashgan bo'lishi mumkin) agar i<="" p="" >
Bu erda birinchi blokdan ko'rsatmalar avval navbat bilan bajariladi, keyin ikkinchi blokdan ko'rsatmalar teskari tartibda bo'ladi. LoopImitation3 (1, 10) raqamiga qo'ng'iroq qilsak, quyidagilar olinadi:
Salom N 1
…
Salom N 10
Salom N 10
…
Salom N 1
Xuddi shu narsani takrorlashsiz bajarish uchun birdaniga ikkita ko'chadan kerak bo'ladi.
Xuddi shu protsedura qismlarining bajarilishi o'z vaqtida ajratilganligidan foydalanish mumkin. Masalan:
Do'stlaringiz bilan baham: |