prologda rekursiya va qayta tiklash asosida tsikllarni tashkil etish

DOCX 5 стр. 25,9 КБ Бесплатная загрузка

Предварительный просмотр (5 стр.)

Прокрутите вниз 👇
1 / 5
mavzu:33.prologda rekursiya va qayta tiklash asosida tsikllarni tashkil etish. reja: 1. prologda rekursiya haqida. 2. prologda rekursiya qayta tiklash asosida tsikllarni tashkil etish. prolog tilida rekursiv va iterativ algoritmlardan foydalanish imkoniyatlarini o'rganish. nazariy ma'lumotlar rekursiya va iteratsiya ko'p turdagi hisoblash masalalarini hal qilish uchun bir xil algoritmik jarayonlarni qayta-qayta takrorlash kerak. bunday jarayonlarni rekursiv yoki iterativ protseduralar yordamida tasvirlash mumkin. rekursiv protsedura yoki funksiya o'zini chaqiradigan pastki dasturdir, ya'ni. rekursiv tartibni bajarishdan oldin uning o'z nusxasini bajarish kerak. rekursiv kichik dasturni bajarishda algoritmni tashkil etishning hozirgi darajasidan quyi darajaga ko'p martalik o'tish muammoning ahamiyatsiz yechimi olinmaguncha ketma-ket amalga oshiriladi. iteratsiya odatda rekursiyaga qaraganda samaraliroq bo'ladi, chunki rekursiya bosqichidan farqli o'laroq, iteratsiya bosqichida keyingi bosqichlar natijalari tugashini kutish shart emas. shunday qilib, iteratsiyadan foydalanish ijro paytida yashirin qo'ng'iroqlar to'plamini (hali faollashtirilishini kutayotgan qo'ng'iroqlar) tashkil qilish bilan bog'liq bo'lgan qo'shimcha xarajatlardan qochadi, bu rekursiya bilan mumkin emas. algoritmni tashkil etishning rekursiv shakli …
2 / 5
- predikatning bajarilishini yakunlash uchun majburiy muvaffaqiyatsizlikni amalga oshiradi va shu bilan qaytarish jarayonini boshlaydi. kesish yoki! (kesish) - orqaga qaytishni oldini olish uchun ishlatiladi. birinchi takrorlash - bu takroriy predikatni to'g'ri deb e'lon qiladigan bayonot. birinchi takrorlash pastki maqsadlarni yaratmaydi, shuning uchun bu qoida har doim muvaffaqiyatli bo'ladi. biroq, takrorlash qoidasining boshqa varianti mavjud bo'lganligi sababli, qaytarish ko'rsatkichi birinchi takrorlash uchun o'rnatiladi. ikkinchi takrorlash - o'zini komponent sifatida ishlatadigan qoida (uchinchi takrorlash). ikkinchi takrorlash uchinchi takrorni chaqiradi va bu qo'ng'iroq muvaffaqiyatli baholanadi, chunki birinchi takrorlash har doim muvaffaqiyatli bo'ladi. uchinchi takrorni isbotlash uchun ikkita qoida mavjud bo'lganligi sababli, qaytish nuqtasi birinchi takrorga o'rnatiladi va hokazo. takrorlash predikati har safar qaytarilgandan keyin qayta chaqirilganda muvaffaqiyatli baholanadi. fakt (birinchi bayonot) dasturning barcha kichik maqsadlarini bajarish uchun ishlatiladi. shunday qilib, takrorlash hech qachon bajarilmaydigan rekursiv qoidadir. takroriy predikatdan foydalanishga misol sifatida quyidagi dasturni ko'rib chiqing: predikatlar takrorlash yozuv mashinkasi bandlar takrorlang. takrorlash: …
3 / 5
usulni, qaysi vaziyatda yaxshiroq ekanligini tortishingiz kerak. qarorga ta'sir qiluvchi omillar vaqt yoki xotira, dastur uzunligi, shaffoflik va tushunarlilik nuqtai nazaridan hisoblash samaradorligi bo'lishi mumkin. rekursiv funktsiyalarning kanonik misoli sonning faktorialini hisoblash funktsiyasidir. n raqami! (n faktorial) (n)*(n-1)*(n-2)* ... *(1) sifatida aniqlanadi. 0 ning faktoriali 1 ga teng. shuni ham yodda tutingki, n! = (n)*(n-1)!. faktorialning matematik ta'rifi rekursivdir va uni rekursiv funksiya orqali amalga oshirish mutlaqo tabiiydir. quyida paskal tilida sonning faktorialini hisoblash funksiyasining dasturiy ta’minoti keltirilgan. procedure factorial(n:integer; var y:integer); var newn, newy: butun son; boshlanishi agar n = 0 bo'lsa, y:= 1 boshqa agar n > 0 bo'lsa boshlanishi yangin:= n - 1; faktorial (yangi, yangi); y:= yangiy*n oxiri oxiri; yuqoridagi ro'yxatdan ko'rinib turibdiki, faktorial hisoblash protsedurasi rekursivdir, chunki u o'zini o'zi chaqiradi. quyida prolog tilida son faktorialini hisoblash funksiyasining dastur bajarilishi keltirilgan. faktoriy (0, 1). faktorial(n, y):- n>0, yangin=n-1, faktorial (yangi, yangi), y = yangi y …
4 / 5
uqorida muhokama qilingan narsaning teskarisi bo'lgan faktorial dastur yozishni afzal ko'radi: olingan har bir faktorial qiymat darhol keyingi, kattaroq faktorialning qiymatini hisoblash uchun ishlatiladi. bular. hisoblash pastdan yuqoriga usuli bilan amalga oshiriladi. bu usul takrorlanuvchi va yuqoridan pastga rekursiv usulidan ko'ra samaraliroqdir. quyida paskalda sonning faktorialini hisoblash dasturining takroriy varianti keltirilgan. procedure faktorial(n:integer; var y:integer); var i, p: butun son; boshlanishi i:=0; p:=1; men <n qilsam boshlanishi i:= i+1; p:= p*i oxiri; y:=p; oxiri; rekursiya va iteratsiyaning bajarilish nuqtai nazaridan asosiy farqi shundaki, rekursiya odatda bajarilgan rekursiv qo'ng'iroqlar soniga chiziqli bog'liq bo'lgan xotira hajmini talab qiladi, iteratsiyalarni bajarish uchun zarur bo'lgan xotira miqdori esa doimiy bilan cheklangan, bajarilgan rekursiv qo'ng'iroqlar soniga bog'liq bo'lmagan takrorlash. doimiy xotira hajmidan foydalangan holda ishlaydigan rekursiv dasturlar sinfi mavjud (aynan to'g'ridan-to'g'ri iterativ dasturlarga aylantirilishi mumkin). ushbu turdagi xotirani tejashga erishadigan amalga oshirish usuli rekursiya qoldig'ini optimallashtirish yoki aniqrog'i, oxirgi qo'ng'iroqni optimallashtirish deb ataladi. rekursiyaning qolgan …
5 / 5
garuvchilar yo'q.

Хотите читать дальше?

Скачайте все 5 страниц бесплатно через Telegram.

Скачать полный файл

О "prologda rekursiya va qayta tiklash asosida tsikllarni tashkil etish"

mavzu:33.prologda rekursiya va qayta tiklash asosida tsikllarni tashkil etish. reja: 1. prologda rekursiya haqida. 2. prologda rekursiya qayta tiklash asosida tsikllarni tashkil etish. prolog tilida rekursiv va iterativ algoritmlardan foydalanish imkoniyatlarini o'rganish. nazariy ma'lumotlar rekursiya va iteratsiya ko'p turdagi hisoblash masalalarini hal qilish uchun bir xil algoritmik jarayonlarni qayta-qayta takrorlash kerak. bunday jarayonlarni rekursiv yoki iterativ protseduralar yordamida tasvirlash mumkin. rekursiv protsedura yoki funksiya o'zini chaqiradigan pastki dasturdir, ya'ni. rekursiv tartibni bajarishdan oldin uning o'z nusxasini bajarish kerak. rekursiv kichik dasturni bajarishda algoritmni tashkil etishning hozirgi darajasidan quyi darajaga ko'p martalik o'tish muammoning...

Этот файл содержит 5 стр. в формате DOCX (25,9 КБ). Чтобы скачать "prologda rekursiya va qayta tiklash asosida tsikllarni tashkil etish", нажмите кнопку Telegram слева.

Теги: prologda rekursiya va qayta tik… DOCX 5 стр. Бесплатная загрузка Telegram