Nazariy qism 3-Amaliy mashg‘ulot. Mavzu: Rekursiya va ularning dasturlashda ishlatilishi



Download 0,56 Mb.
bet1/2
Sana07.02.2023
Hajmi0,56 Mb.
#908596
  1   2
Bog'liq
2-dedline


NAZARIY QISM
3-Amaliy mashg‘ulot.
Mavzu: Rekursiya va ularning dasturlashda ishlatilishi
C++ dasturlash tilida funksiyalar o`z – o`zini chaqirish imkoniyatiga ega. Bunday funksiyalar rekursiyali (o`z – o`zini chaqiruvchi) funksiya deyiladi.
Rekursiyali funksiyalarga qo`yiladigan asosiy talab, qandaydir qiymatda rekursiya 0- yolg`on yoki 1-rost qiymat qabul qilishi kerak. Shundagina chaqirilgan funksiyalar
qaytadi. Aks holda funksiya o`z – o`zini davomli ravishda chaqiradi va xatolik sodir bo’ladi.
Rekursiya - funksiya(protsedura)ni shu funksiyani ichida chaqirilishi deb qarasak eng tushunarli ko'rinish bo'ladi
Dasturchilar orasida shunday gap bor: "Rekursiyani bilish uchun, avval uni bilish kerak". Rekursiv gap-a?
Rekursiya bajarilishi uchun ikkita narsa bolishi kerak

  1. O'zini chaqirish2.

  2. To'xtash chegarasi

Hech oyingiz sizga uyga kirda karobkani ichidan biror nimani olib chiq deganlami? Siz esa karobkalani kovlab-kovlab 1 soatda topgansiz/yoki umuman topolmagansiz.
Chunki siz korobkani ko'rib chiqish ketma-ketligini to'g'ri qo'ymagansiz
Masala: korobkalar ichma-ich ixtiyoriy joylashtirilgan, qaysidir korobka ichida kalit bor. Siz kalitni topish dasturini tuzing
Rekursiyaga qoyish uchun ushbu ikki shart yozib olamiz:
1. Ishlash sharti: korobka ichida korobka chiqsa, uni ochib ko'r
2. To'xtash sharti: korobka ichidan kalit chiqsa to'xta

Rekursiv funksiyaning to'xtash chegarasi bo'lmasa esa, amallar cheksiz bajarilaveradi, oqibatda crash beradi, yoki dastur osilib qoladi.


Funksiya ishga tushganda keyingi chaqirilayotgan funksiya STACKka qo'shib borilaveradi. Rekursiv funksiya ishlaganda o'zi o'zi chaqirishini ayttim, aynan chaqiruvchi funksiya esa chaqirilgan funksiyani natijasini kutib turadi, u esa o'zi chaqirgan funksiya natijasiga bog'liq bo'ladi .... va hokazo toki to'xtash nuqtasidagi funksiyaga borgunicha. Oxirgi nuqtadagi funksiya ishlaganda esa, stackdan chiqib ketib undan oldingisi bajarilib, undan oldingisiga javob yetib boradi ... va hokazo eng birinchi chaqirilgan funksiya eng oxirida yopiladi.

3-Amaliy qism

  1. “78”, “54”, “11”, “32”, “77”, “58”, “84”, “45”, “37” berilgan butun sonlarni ixtiyoriy saralash usuli orqali dasturi ishlab chiqilsin va taxlil qilinsin.

#include


using namespace std;


int main()


{ int a[]={78, 54, 11, 32, 77, 58, 84, 45, 37};
int n=9;
cout<<"Massiv elementlari: ";
for(int i=0; i{ cout<cout<for (int i=n-1; i>1; i--)
{ for(int j=0; j{ if(a[j]>a[j+1])
{swap(a[j],a[j+1]);}
}}
for(int i=0; i{cout<return 0;
}





Download 0,56 Mb.

Do'stlaringiz bilan baham:
  1   2




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