5- amaliy mashg’ulot mavzu: funksiyalar. RЕKURSIV funksiyalar. Foydalanuvchi kutubxonasi


Download 152.69 Kb.
Pdf ko'rish
bet1/2
Sana30.10.2023
Hajmi152.69 Kb.
#1733579
  1   2
Bog'liq
i79iEa5LhhYLdhmCUVenJfdB0W9zX17QFhrxUnr9



5- AMALIY MASHG’ULOT 
 
MAVZU: FUNKSIYALAR. RЕKURSIV FUNKSIYALAR. 
FOYDALANUVCHI KUTUBXONASI. 
 
Ishning Maqsadi: C++ dasturlash tilida funksiyalar hosil qilish va uning 
dasturini yaratish ko’nikmalarini egallsh. 
Masalaning qo’yilishi: 
A va B sonlar ichida mukammal sonlar borligini aniqlang? 
Masalani yechish goyasi:
Mukammal son-bo’luvchilari yig’indisi (o’zidan tashqari) shu sonni o’ziga teng 
bo’lgan songa aytiladi.Shu oradagi har bir son uchun bo’luvchilarini yig’indisi shu son 
bilan solishtirib chiqiladi. Funksiya yaratilib funksiya yordamida oraliqdagi sonlar 
tekshiriladi. 
Nazariy qism 
Funksiya bu – C++ tilida masala yechishdagi kalit elementlaridan biridir. 
Funksiya parametrlari va argumentlari: 
Programmada ishlatiladigan har qanday funksiya e’lon qilinishi kerak. Odatda 
funksiyalar e’loni sarlavha fayllarda e’lon qilinadi va #include direktivasi yordamida 
programma matniga qo‘shiladi. Funksiya e’lonini funksiya prototipi tavsiflaydi (ayrim 
hollarda signatura deyiladi). Funksiya prototipi quyidagi ko‘rinishda bo‘ladi: 
Bu yerda - funksiya ishlashi natijasida y tomonidan qaytaradigan qiymatning turi. Agar 
qaytariladigan qiymat turi ko‘rsatilmagan bo‘lsa, kelishuv bo‘yicha funksiya 
qaytaradigan qiymat turi int deb hisoblanadi, 
- vergul bilan ajratilgan funksiya parametrlarining turi va nomlari ro‘yxati. Parametr 
nomini yozmasa ham bo‘ladi. Ro‘yxat bo‘sh bo‘lishi ham mumkin. Funksiya 
prototiplariga misollar: 
int almashsin(int,int); 


double max(double x, double y); 
void func(); 
void chop_etish(void); 
Funksiya prototipi tushirib qoldirilishi mumkin, agar programma matnida 
funksiya aniqlanishi uni chaqiradigan funksiyalar matnidan oldin yozilgan bo‘lsa. 
Lekin bu holat yaxshi uslub hisoblanmaydi, ayniqsa o‘zaro bir-biriga murojaat qiluvchi 
funksiyalarni e’lon qilishda muammolar yuzaga kelishi mumkin. 
Funksiya aniqlanishi – funksiya sarlavhasi va figurali qavsga (‘{‘,’}’) olingan 
qandaydir amaliy mazmunga ega tanadan iborat bo‘ladi. Agar funksiya qaytaruvchi 
turi void turidan farqli bo‘lsa, uning tanasida albatta mos turdagi parametrga ega return 
operatori bo‘lishi shart. Funksiya tanasida bittadan ortiq return operatori bo‘lishi 
mumkin. Ularning ixtiyoriy birortasini bajarish orqali funksiyadan chiqib ketiladi. 
Agar funksiyaning qiymati programmada ishlatilmaydigan bo‘lsa, funksiyadan chiqish 
uchun parametrsiz return operatori ishlatilishi mumkin yoki umuman return 
ishlatilmaydi. Oxirgi holda funksiyadan chiqish – oxirgi yopiluvchi qavsga yetib 
kelganda ro‘y beradi.Funksiya programmaning birorta modulida yagona ravishda 
aniqlanishi kerak, uning e’loni esa funksiyani ishlatadigan modullarda necha marta 
yozilishi mumkin. Funksiya aniqlanishida sarlavhadagi barcha parametrlar nomlari 
yozilishi shart. 
Odatda programmada funksiya ma’lum bir ishni amalga oshirish uchun 
chaqiriladi. Funksiyaga murojaat qilganda, u qo‘yilgan masalani yechadi va o’z ishini 
tugatishida qandaydir qiymatni natija sifatida qaytaradi 
Funksiyani chaqirish uchun uning nomi va undan keyin qavs ichida argumentlar 
ro‘yxati beriladi: 
(, ,..., ); 
Bu yerda har bir - funksiya tanasiga uzatiladigan va keyinchalik hisoblash 
jarayonida ishlatiladigan o‘zgaruvchi, ifoda yoki o’zgarmasdir. Argumentlar ro‘yxati 
bo‘sh bo‘lishi mumkin. 


Funksiyalar ham o‘z tanasida boshqa funksiyalarni, o‘zini ham chaqirishi mumkin.
O‘z tanasida o‘zini chaqiradigan funksiyalarga rekursiv funksiyalar deyiladi. 

Download 152.69 Kb.

Do'stlaringiz bilan baham:
  1   2




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