Funksiya
Funksiya Reja: 1. Funksiya yaratish ; 2. Qiymatlarni qaytarish; 3. Funksiya prototiplari; 4. Parametrlarni qiymat va adresga ko’ra jo’natish;
Fu nk s i y a f a qat c ha qi r i l g an v a qt d a i s h l ay di ga n k od bl og i hi s ob l a na di . F un k s i y a ga pa r a me t r l a r s i f at i da m a' l u mo t l ar ni uz at i s h mu mk i n . F un k s i y al ar m ua y y a n b i r v az i f an i ba j a r i s h uc hu n i s h l at i l ad i . K o d y oz i s h j ar ay o ni da y a r at ga n f unk s i y a da n b i r y ok i b i r nec ht a ma r t a i s h l at i s h y ok i u mu ma n i s hl at m as l i k i m k o ni y at i g a e ga s i z . Funksiya yaratish. S i z k o' p m ar t a f unk s i y a ni us hb u d ar s g ac h a i s hl at i b k el di ng i z . m a i n ( ) ha m bi r f u nk s i y a hi s ob l a na di . d as t u r i s hg a t us h ga n v aqt i d a bi r i nc h i b o' l i b us hb u f unk s i y a i s h l a y d i . B u s t a nd ar t f u nk s i y a bo ' l i b s i z h am s h u k ab i f u nk s i y al ar y ar at i s h i n gi z mu mk i n . Fu nk s i y a y a r at i s h uc h un b i r i nc hi f unk s i y a qa y t a r a di ga n t i p y ok i f unk s i y a t u r i k ey i n n om i v a ( ) oc h i l ad i . qav s i c h i d a s i z m a' l u mo t l ar y a' ni pa r a me t r l a r n i q ab ul q i l as i z . void myFunction () { // Bu qiymat qaytarmaydigan funksiya } Mi s o l t us hu nt i r i l di . m y F u n c t i o n ( ) f u n k t s i y a n o m i v o i d f u n k t s i y a q i y m a t q a y t a r m a y d i g a n f u n k s i y a l i g i d a n d a l o l a t b e r a d i . { } b u f u n k s i y a t a n a s i b o ' l i b . B u y e r d a o ' z i n g i z g a k e r a k l i k o d n i k i r i t i s h i n i g i z m u m k i n . U n u t m a n g m a i n ( ) f u n k s i y a s i d a n i m a a m a l b a j a r s a n g i z b u n d a h a m s h u n d a y a m a l n i b a j a r i s h i n i n g i z m u m k i n . Funksiya Chaqirish Fu nk s i y a o' z i d an o' z i i s hl ab k et ma y d i . F un k s i y a ni c ha qi r i s hd an s o' ng i s h ga t us ha di . Fu nk s i y an i q ay t a qa y t a f oy d al an i s hi ni ng i z mu mk i n . F un k s i y an i c ha qi r i s h uc hu n f unk s i y a no mi i k k i qav s ( ) v a nu qt al i v e r g ul bi l a n t ug al l a na di . #include <iostream> using namespace std ; void myFunction () {
cout << "I'm a developer. MasterSherkulov!" ; } int main () { myFunction(); return 0 ; } int foo(int k, int t) { int result; result = k * t; return (result); } Yuqoridagi foo funksiyamizning ismi, () qavslar ichidagi parametrlar – int tipidagi k va t lar kirish argumentlaridir , ular faqat ushbu funksiya ichida ko'rinadi va qo'llaniladi. Bunday o'zgaruvchilar lokal (local - mahalliy) deyiladi. result foo() ning ichida e’lon qilinganligi uchun u ham lokaldir. Demak biz funksiya ichida o'zgaruvchilarni va sinflarni (class) e’lon qilishimiz mumkin ekan. Lekin funksiya ichida boshqa funksiyani e’lon qilib bo'lmaydi. foo() funksiyamiz qiymat ham qaytaradi. Qaytish qiymatining tipi foo() ning e’lonida eng boshida kelgan - int tipiga ega. Biz funksiyadan qaytarmoqchi bo'lgan
qiymatning tipi ham funksiya e’lon qilgan qaytish qiymati tipiga mos kelishi kerak - ayni o'sha tipda bo'lishi yoki o'sha tipga keltirilishi mumkin bo'lgan tipga ega bo'lishi shart. Funksiyadan qiymatni return ifodasi bilan qaytaramiz. Agar funksiya hech narsa qaytarmasa e’londa void tipini yozamiz. Ya’ni: Funksiya – bu yordamchi algoritm bo’lib (dasturosti), ish natijasi sifatida ma’lum bir qiymatlari olinadi. Misollar: • Sondan ildiz chiqarish • Murakkab formulalar x bo’yicha qiymatlarni hisoblash • Savolga javob (oddiy osonki yoki yo’q?) Nega? • Dasturning turli joylarida bir xil hisoblashlarni bajarish uchun • Ommabop funksiyalar kutubxonasini yaratish uchun O’zgaruvchi: Xotiraning nomlangan qismi bo’lib, o’zida ma’lum bir toifadagi qiymatlarni saqlaydi. O’zgaruvchining nomi va qiymatlari bo’ladi. O’zgaruvchining nomi orqali qiymat saqlanayotgan xotira qismiga murojaat qilinadi. Programma ishlashi jarayonida o’zgaruvchining qiymatini o’zgartirish mumkin. Har qanday o’zgaruvchini ishlatishdan oldin, uni e’lon qilish lozim. Quyidagi butun sozlardan foydalanish uchun b , haqiqiy sonlardan foydalanish uchun h o’zgaruvchisi e’lon qilingan: int b; float h; O’zgarmaslar (const)
Hisoblash jarayonida qiymatini o’zgartirmaydigan kataliklarga aytiladi. float const pi = 3.14; Programmaning ma’lum qismini tavsiflash uchun ishlatiladi va bu qatorda hech qanday aml bajarilmaydi, ya’ni programmaning biror qismini yaxshiroq tushuntirish uchun xizmat qiladi. Izoh «/*» va «*/» simvollari orasida beriladi. /* Bu yerga izoh yoziladi. */ Bundan tashqari birsatrli izohlardan ham foydalanish mumkin. Buning uchun izoh boshiga «//» belgisi qo’yiladi. Operator Tilning yakunlangan jumlasi hisoblanadi va ma’lumotlar taxlilining tugallangan bosqichini ifodalaydi. Operator nuqtali vergul «;» bilan ajratiladi. Identifikator Programmist tomonidan programma elementlari (funksiya, o’zgaruvchilar, o’zgarmaslar …) uchun ixtiyoriy nom. Funksiyanın elonqilish C++ dilində funksiya aşağıdakı kimi elan olunur: Nəticənin_tipi funksiyanın_adı (tip1 argument1, tip2 argument2, ...); Burada nəticənin_tipi funksiyanın qaytaracağı nəticənin tipini göstərir. Əgər funksiya heç bir nəticə qaytarmırsa, onda nəticənin_tipi olaraq void yazırıq. funksiyanın_adı olaraq ingilis əlifbasının hərflərindən, rəqəmlərdən, _ simvolundan istifadə edə bilərik. Funksiya adı mütləq ingilis əlifbası hərfi ilə başlamalıdır və operator adları ilə üst-üstə düşməməlidir. Funksiyanın adından sonra mötərizə daxilində funksiyanın qəbul edəcəyi