Labaratoriya mashg’ulotlari



Download 97,16 Kb.
bet1/13
Sana23.06.2022
Hajmi97,16 Kb.
#695127
  1   2   3   4   5   6   7   8   9   ...   13
Bog'liq
baxromov a


620-20 gurux talabasi Baxromov Abdujalilning
algoritmlarni loyihalash fanidan tayyorlagan
19-24 Labaratoriya mashg’ulotlari


19-labaratoriya mashg’uloti Mavzusi: “Ajrat va hukmronlik qil”
prinsipi bo’yicha ishlaydigan algoritmlarni loyihalash.

Rekursiya - bu vazifani tabiiy ravishda bir nechta o'xshash, ammo sodda vazifalarga bo'lish mumkin bo'lgan holatlarda foydali bo'lgan dasturlash usuli. Yoki biron bir vazifani sodda harakatlarga soddalashtirish mumkin bo'lsa, xuddi shu vazifaning oddiy versiyasi. Yoki, yaqinda bilib olamizki, ma'lum bir tuzilmalar bilan ishlash uchun.
Vazifani bajarish jarayonida subkastrlarni bajarish uchun boshqa funktsiyalarni funktsiyaning tanasida chaqirish mumkin. Sub-qo'ng'iroqning alohida holati bu funktsiya o'zini o'zi chaqirganda. Bu rekursiya deb ataladi.
Fikrlashning ikki yo'li
Birinchi misol sifatida, x n kuchini n ga ko'taradigan pow (x, n) funktsiyasini yozamiz. Boshqacha aytganda, x ni n marta ko'paytiradi.
pow(2, 2) = 4
pow(2, 3) = 8
pow(2, 4) = 16:
function pow(x, n) {
let result = 1;
// умножаем result на x n раз в цикле
for (let i = 0; i < n; i++) {
result *= x; }
return result;}
alert( pow(2, 3) ); // 8:
function pow(x, n) {
if (n == 1) {
return x; } else {
return x * pow(x, n - 1); }}
alert( pow(2, 3) ); // 8
Ichki qo'ng'iroqlarning umumiy soni (birinchi qatorni ham qo'shgan holda) rekursiya chuqurligi deb ataladi. Bizning holatda, u aniq n bo'ladi. Maksimal rekursiya chuqurligi JavaScript mexanizmi tomonidan cheklangan. Siz 10000 kirgan qo'ng'iroqlarni aniq hisoblashingiz mumkin, ba'zi tarjimonlar ko'proq imkoniyat berishadi, ammo ularning ko'plari uchun 100 mingta qo'ng'iroqlar imkoniyatlardan tashqarida. Avtomatik optimallashtirish mavjud bo'lib, ular qo'ng'iroqlar to'plamini ("quyruq rekursionini optimallashtirish") toshib ketishini oldini olishga yordam beradi, ammo ular hali ham hamma joyda qo'llab-quvvatlanmaydi va faqat oddiy holatlar uchun ishlaydi.
Bu recursiondan foydalanishni cheklaydi, ammo u hali ham keng tarqalgan: ko'p sonli muammolarni hal qilish uchun rekursiv hal qilish usuli sodda sodda kodni beradi. Bajarish konteksti, qoziq Endi biz rekursiv qo'ng'iroqlar qanday ishlashini bilib olamiz. Buning uchun funktsiyalarning "kaputi ostiga" qarang. Ishga tushirilgan funktsiyaning bajarilish jarayoni to'g'risidagi ma'lumotlar uning bajarilish kontekstida saqlanadi.
Bajarish konteksti funktsiyani chaqirish haqida ma'lumotni o'z ichiga olgan maxsus ichki ma'lumotlarning tuzilishi. U tarjimon joylashgan kodning o'ziga xos joyini, funktsiyaning mahalliy parametrlarini, uning qiymatini (biz ushbu misolda ishlatmaymiz) va boshqa qo'shimcha ma'lumotlarni o'z ichiga oladi.

Download 97,16 Kb.

Do'stlaringiz bilan baham:
  1   2   3   4   5   6   7   8   9   ...   13




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish