Kop parametrli qiymat qaytaruvchi funksiyalarga doir misollar yechish
Mavzu: Kop parametrli qiymat qaytaruvchi funksiyalarga doir misollar yechish Reja: 1. Kop parametrli qiymat qaytaruvchi funksiyalar. 2. Kop parametrli qiymat qaytaruvchi funksiyalarga doir misollar yechish. 3. “Algoritm” tushunchasi .
C# dasturlash tilida funksiyalar nimaligini o’rganishdan oldin funksiyaning o’zi nima u bizga nega kerak degan savollarga javob topamiz. Funksiya nega kerak ? Biz biroz yirikroq dastur yozish mobaynida juda ko’p bir xil bo’lgan vazifani qayta va qayta yozayotgandek bo’lamiz. Bu xuddi kuni bilan paxta terayotgan kishining ishiga o’xshaydi qaniydi bitta robot bo’lsayu unga bir marta paxta terishni o’rgatib qo’ysak keyin har safar aytganingda paxtani terib qo’ysa deb orzu qiladi paxta teruvchi , albatta terimchining bu orzusini amalga oshirish qiyin . Lekin sizning ishingizni (ya’ni kodlashda bir vazifani qayta yozishni) yengillashtirishning yo’li bor , bu yerda bizga Funksiyalar yordamga keladi Funksiya nima? Bir marta kod yozib uni dasturning istalgan joyida istalgancha ishlatish imkonini beruvchi operatorlar guruhi Funksiya deyiladi. Bu huddi yuqoridagi misolimizga o’xshash bir marta qanday qilishni o’rgat va xoxlagan vaqting xoxlagan joyingda ishlat. Funksiya dasturchining kodini sezilarni darajada qisqartiradi va bu orqali dastur kodini o’qish osonlashadi va qotira hajmidan ham yutiladi. C# da funksiyadan foydalanish Dasturlashda funksiyalar ikki toifaga bo’linadi • Qiymat qaytaruvchi • Qiymat qaytarmaydigan Dastlab biz qiymat qaytaruvchi funksiyalar ni ko’rib chiqamiz. Qiymat qaytaruvchi funksiyalar malum bir qiymatni (int ,float ,string va boshq) qaytaradi Qiymat qaytaruvchi funksiya larning tuzilishini ko’ramiz Bularning barchasiga alohida to’xtalib o’tamiz 1. - bu funksiya qaytaradigan qiymat bo’lib turli xil ma’lumot turlaridan foydalanishimiz mumkin masalan int,
float string kabilar. 2. - funksiyaning nomi yani uni chaqiradigan ism deyishimiz ham mumkin unga ism tanlayotganda lotin alifbosidagi katta va kichik harflar , raqamlar va tagchiziq (‘_’) foydalangan holda , raqamdan boshlamasdan va c# tilidagi kalit so’zlardan foydalanmagan holda xoxlagan ismni berishimiz mumkin. 3. (<parametrlar>) – bu funksiya yakuniy qiymatni yaratish uchun foydalanadigan yordamchilar deyishimiz mumkin ushbu yordamchilar sifatida esa turli xil malumot tipidagi o’zgaruvchilar keladi . yordamchilar sifatida 0 tadan xoxlagancha o’zgaruvchilar bo’lishi mumkin ular quyidagicha yoziladi (int a, float b, int c) . 4. // funksiya tanasi - ushbu qism funksiyaning asosiy qismi hisoblaning qaytariladigan yakuniy qiymatgacha bo’lgan barcha ishlar shu yerda qilinadi va figurali qavs (‘{‘) bilan boshlanadi ushbu qismda parametr sifatida kiritilgan o’zgaruvchilar ham ishlatiladi. 5. // return - ushbu amal biz funksiyaning qaytaradigan qiymatini aniqlaydi. ning turi funksiyada elon qilingan dastlabki qiymat bilan bir xil bo’lishi shart.yani funksiya int turida bo’lsa biz return dan keyin ham int turidagi o’zgaruvchi bo’ladi. Ming marta eshitgandan ko’ra bir marta ko’rgan yaxshi deganlaridek biz C# tilida Funksiya ga oddiygana ikki sonda kattasini topuvchi funksiya orqali misol keltiramiz int max( int a , int b) C# Console dasturida funksiyadan foydalanish 1 } Copied! output: 8 Yuqorida console dasturida max yani ikki sondan kattasini topuvchi funksiya yaratildi va undan dasturning Main qismida foydalanildi. Albatta bu yerda funksiyaning foydasi yaqqol sezilmagandir ammo siz dastur ichida funksiyani bir necha marotaba foydalansangiz naqadar foydali ekanligini tushunasiz. Qiymat qaytarmaydigan funksiyalar Agar biz funksiyalarni xizmatchi inson deb bilsak qiymat qaytaradigan va qaytarmaydigan funksiyalarni shunday tariflashimiz mumkin . Deylik xizmatchiga qanchadir pul(ya’ni parametr) berib do’konga
jo’natamiz va bizga aytgan narsamizni (qaytaradigan qiymat) ni olib keladi bu qiymat qaytaradigan funksiyaga misol bo’ladi . boshqa xizmatchiga esa pul(ya’ni parametr) berib unga hovlidagi qandaydir ishlarni aytamiz va u aytgan ishlaringizni qildi lekin sizga hech narsa qaytarib kelmadi bu qiymat qaytarmaydigan funksiyaga misol bo’la oladi. Qisqa qilib aytganda qiymat qaytarmaydigan funksiyaning qaytaruvchi qiymati bo’lmaydi va u qandaydir vazifani bajargan bo’ladi. Endi esa qiymat qaytarmaydigan funksiyalarning tuzilishini ko’rib chiqamiz Qiymat qaytarmaydigan funksiyaning qiymat qaytaradigan funksiyadan asosiy farqi bu funksiyalar qaytariladigan qiymat turi o’rniga ‘void’ kalit so’zi bilan boshlanadi va qaytariladigan qiymat return yozilmaydi. Endi esa qiymat qaytarmaydigan funksiyaga misol yozamiz Copied ! Bu shunchaki s matnni n marta takma tak chiqaruvchi funksiya Bundan foydalanishni yana console dasturda ham ko ’ ramiz . Copied! Output: dot-net.uz dot-net.uz dot-net.uz Xulosa qilib aytadigan bo’lsak funksilar bizning og’irimizni yengil uzog’imizni yaqin qiluvchi yordamchi zamonaviy dasturlash tillarini funksiyalarsiz tasavvur qilib bo’lmaydi . Katta loyiha qila turib funksiyalardan foydalanmaslikni yangi uyni faqat qo’l mehnati bilan qurmoqchi bo’lgan inson harakati bilan o’xshatish mumkin. Bu boshlanishi edi keyingi darslarda funksiyalarga yanada kengroq to’xtalamiz.
Ayrim algoritmlarning hisoblash jarayonlari o'zlarining ko'p tarmoqliligi bilan ajralib turadi. Umuman olganda, tarmoqli jarayonlarni hisoblash uchun shartli operatordan foydalanish yetarlidir. Lekin, tarmoqlar soni ko'p bo'lsa, shartli operatordan foydalanish algoritmning ko'rinishini qo'pollashtirib yuboradi. Bu hollarda shartli operatorning umumlashmasi bo'lgan variant tanlash operatoridan foydalanish maqsadga muvofiqdir. Variant tanlash operatorining sintaksis aniqlanmasi quyidagicha: <variant tanlash operatori>::= case <operator selektori> of <variant ro'yxatining hadlari> end; bu yerda <operator selektori>::= <ifoda>; <variant ro'yxatining hadi>::=<variantlar metkalarining ro'yxati>:<operator>; <variantlar metkalarining ro'yxati>::=<variant metkasi>{,< variant metkasi>}; <variant metkasi>::=<o'zgarmas> Variant tanlash operatori bajarilish paytida oldin selektorning qiymati hisoblanadi, shundan so'ng selektorning qiymatiga mos metka bilan jihozlangan operator bajariladi va shu bilan variant tanlash operatori o'z ishini yakunlaydi. Shuni esda tutish kerakki, <variant metka>si bilan <operator metka>si bir xil tushuncha emas va variant metkasi metkalar (Label) bo'limida ko'rsatilmasligi kerak. Bundan tashqari, ular o'tish operatorida ishlatilishi mumkin emas. . Case kun of dush, sesh, chor, pay, jum: writeln('ish kuni');