155
yoki boshqa sohalarda ham uchrab turadi. Masalan biror bir tashkilotning
ma‘lumotlar bazasi berilganda uning tarkibidagi xodimlarning oylik maoshini
hisoblash jarayonini qism dastur yordamida hisoblash maqsadga muvofiq. Agar
tashkilot ma‘lumotlar bazasi tarkibidagi xodimlarning oylik maoshini qism dastur
yordamida hisoblanmasa, har bir xodim uchun oylik maoshini hisoblash jarayonini
keltirish kerak, qism dasturdan foydalansa har bir xodim uchun qism dasturga
murojat qilib qo‗yiladi. Dastur tuzish vaqtida qism dasturlardan qachon
foydalanamiz, agar siz hal etadigan masala yoki muommo tarkibida ma‘lum bir
jarayonlar ikki va undan ortiq sodir bo‗lsa,o‘sha jarayonni qism dastur sifatida
e‘lon qilish kerak va kerakli joyda qism dasturga murojat qilish kerak. Masalan,
quyidagi masalaga e‘tibor bering.
Bu masala tarkibiga e‘tibor qaratsak, birdan n gacha bo‗lgan
sonlar
yig‘indisi bir necha marta bajarilyapti, bu masalani hal etish uchun tuziladigan
dastur tarkibida birdan n gacha bo‗lgan sonlar yig‘indisini hisoblash jarayonini
qism dastur qilib e‘lon qilish kerak. Agar qism dastur sifatida e‘lon qilinsa,
masalani hal etishda qism dasturga ikki marta murojat qilish asosida berilgan
masalani hal etish mumkin.
Yuqorida keltirilgan masalalarga o‗xshash masalalarni hal etish usulini
samarasini oshirish uchun qism dasturlardan foydalaniladi. Qism dasturlar C++
dasturlash tilida qisqacha qilib funksiyalar deb ataladi. Demak, funksiyalar ma‘lum
bir vazifani bajaruvchi dastur tarkibdagi qism dasturlar ekan.
Funksiyaning o‗zi nima degan savol tug‗ilishi tabiiy. Funksiya –
bu biror
aniq masalani yechishga mo‗ljallangan, to‗liq tugallangan, mustaqil dastur,
yanaham aniqroq aytadigan bo‗lsak, qism dastur yoki yordamchi dastur
(podprogramma).
Ta‟rif:
Dasturlash tilida tuzilgan dastur tarkibidagi ma‘lum bir vazifalarni
bajaruvchi qism dasturlar funksiyalar deyiladi.
Dastur ishlash jarayoni samarasi asosan ikki tur bo‗yicha oshiriladi, ya‘ni
xotira hajmi va ishlash tezligi bo‗yicha. Dasturning
ishlash tezligini oshirish
uchun, albatta, dastur tarkibi sodda va ixcham bo‗lishi ta‘lab etiladi. Dastur tarkibi
sodda va ixcham bo‗lishi uchun imkoniyat boricha qism dasturlardan foydalanish
kerak bo‗ladi. Funksiyalar C++ dasturlash tilida ma‘lum bir vazifani bajaruvchi
dastur tarkibidagi kichik dasturlar, demak, funksiyani hosil qilish uchun datur
tarkibida ma‘lum bir vazifalar bir necha marta bajarilish kerak bo‗ladi. C++
dasturlash tilida har qanday funksiya hech bo‗lmaganda bitta bosh funksiyani
156
main()
funksiyasini o‗z tarkibida saqlaydi. Dastur tarkibida main()
funksiyasidan
tashqari boshqa funksiyalar ham bo‗lishi mumkin.
Dastur tarkibidagi funksiyaga uning nomi bilan murojat qilinadi, dastur
bajarilish vaqtida funksiya nomi uchrasa, komplyator shu funksiyaning tanasiga
murojat qilib natijani funksiya nomiga qaytaradi va dastur keyingi qadamlarni
bajaradi. C++ dasturlash tilida funksiyalar ikki guruhga ajratiladi, ya‘ni standart va
standart bo‗lmagan funksiyalar. Standart funksiyalar C++
dasturlash tili tarkibida
biror bir kutubxona tarkibiga joylashtirilgan bo‗ladi. Standart funksiyalar haqida
mazkur qo‗llanmaning II-bobida batafsil yoritilgan. Standart bo‗lmagan
funksiyalar dastur tarkibida yaratiladi va unga nomi bilan murojat qilinadi. C++ da
dasturlashning asosiy bloklaridan biri funksiyalardir. Funksiyalarning foydasi
shundaki, katta masala bir necha kichik bo‗laklarga bo‗linib, har biriga alohida
funksiya yozilganda, masala yechish algoritmi ancha soddalashadi. Bunda
dasturchi yozgan funksiyalar C++ ning standart kutubxonasi
va boshqa firmalar
yozgan kutubxonalar ichidagi funksiyalar bilan birlashtiriladi. Bu esa ishni bir
muncha osonlashtiradi. Ko‗p holda dasturda takroran bajariladigan amallarni
funksiya sifatida yozish va kerakli joyda ushbu funksiyani chaqirish mumkin.
Funksiyani programma tanasida ishlatish uchun u chaqiriladi, yani uning ismi
yoziladi va unga kerakli argumentlar beriladi. () qavslar ushbu funksiya
chaqirig'ini ifodalaydi. Masalan: foo(); k = square(l); Demak,
agar funksiya
argumentlar olsa, ular () qavs ichida yoziladi. Argumentsiz funksiyadan keyin esa
() qavslarning o‗zi qo‗yiladi.