26-ma'ruza 1C: buxgalteriya ma’lumotlar bazalarini tiklash tuzulmasining amaliy dasturiy paketlari. Reja
Download 309.63 Kb. Pdf ko'rish
|
26-maruza
26.2. Protseduralar
Dasturlarni tuzishda eng muhim vosita protseduradir. Bir tomondan, filial buyrug'i kabi protsedura chaqiruvi boshqaruv oqimini o'zgartiradi, lekin filial buyrug'idan farqli o'laroq, protsedura bajarilgandan so'ng, boshqaruv protsedurani chaqirgan buyruqqa qaytadi. Boshqa tomondan, protsedura asosiy qismiga yangi buyruqni yuqori darajada belgilash sifatida qarash mumkin . Shu nuqtai nazardan, protsedura juda murakkab bo'lsa ham, qo'ng'iroqni mustaqil buyruq deb hisoblash mumkin. Protsedurani chaqirishni o'z ichiga olgan dasturning qismini tushunish uchun protsedura nimani va qanday amalga oshirilishini bilib olishingiz kerak . O'zini to'g'ridan-to'g'ri yoki boshqa protseduralar zanjiri orqali chaqiradigan rekursiv protsedura alohida qiziqish uyg'otadi. Rekursiv protseduralarni o'rganish protsedura chaqiriqlari qanday amalga oshirilayotganligini va mahalliy o'zgaruvchilar haqiqatan ham nima ekanligini tushunish uchun juda foydali , shuning uchun rekursiv protsedura misolini ko'rib chiqamiz. Xanoy minorasi - bu rekursiya tufayli sodda echim topadigan qadimgi muammoning nomi. Xanoydagi bitta monastirda uchta oltin qoziq bor . Birinchisida 64 konsentrik oltin disklar mavjud. Diskning diametri pastdan yuqoriga qarab pasayadi. Ikkinchi va uchinchi qoziqlar bo'sh. Rohiblar barcha disklarni ketma-ket uchinchi qoziqqa ikkinchi qoziqdan birma-bir uzatishi kerak, lekin har bir iteratsiyadan so'ng kattaroq diametrli disk qoziqlarning har birida kichikroq diametrli diskda bo'lolmaydi. Ular aytishlaricha, dunyo tugaydi. Agar siz mashq qilishni xohlasangiz, 64 emas, balki kichikroq bo'lgan plastik disklardan foydalanishingiz mumkin . (Umid qilamizki, siz ushbu vazifani hal qilganingizda hech qanday dahshatli narsa yuz bermaydi. Dunyoning oxirida faqat 64 haydovchi kerak bo'ladi va har doim oltin bo'ladi). 26.2 rasmda disklar soni (n) 5 ga teng bo'lgan boshlang'ich konfiguratsiya ko'rsatilgan. ... 26.2- rasm . Xanoy minorasida beshta disk uchun disklarning dastlabki holati N disklarni 1 qoziqdan 3 qoziqqa o'tkazish uchun avval n - 1 diskni 1 qoziqdan 2 qoziqqa o'tkazish kerak , so'ngra bitta diskni 1 qoziqdan 3 qoziqqa, so'ng n - 1 diskni 2 qoziqdan qoziqqa o'tkazish kerak. 3. Uch disk uchun ushbu muammoning echimi 26.3- rasmda keltirilgan. 26.3- rasm . Uchta disk uchun "Xanoy minorasi" muammosini hal qilish Muammoni hal qilish uchun bizga n disklarni pe pe i peg j: minoralar (n, i, j) ga o'tkazishimizga imkon beradigan protsedura kerak. Ushbu protsedurani chaqirgandan so'ng, echim ko'rsatilishi kerak. Dastlab protsedura n ga teng yoki yo'qligini tekshiradi. Agar shunday bo'lsa, unda echim arzimas: bitta diskni i-dan j- ga o'tkazish kerak . Agar n 1 ga teng bo'lmasa, eritma uch qismdan iborat va bu qismlarning har biri rekursiv protsedura hisoblanadi. Download 309.63 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling