O„zbekiston respublikasi oliy va o„rta maxsus ta‟lim vazirligi samarqand davlat universiteti s. Eshtemirov, F. M. Nazarov




Download 2,67 Mb.
Pdf ko'rish
bet100/173
Sana16.05.2024
Hajmi2,67 Mb.
#238775
1   ...   96   97   98   99   100   101   102   103   ...   173
Bog'liq
Tarixi 37 bet

Ikkinchidan
, bitta masalaning dasturini tuzishda bitta masalaning 
dasturidan bir necha marta foydalanishga to‗g‗ri keladi. Masalan, binomial 
koeffitsentlarni aniqlashda, ya‘ni, 
ifodaning qiymatini hisoblashda faktorialni hisoblash dasturidan uch marta 
foydalanish kerak va har safar bu dasturni qayta-qayta tuzib yurmasdan uni bir 
marta tuzib, kerak bo‗lganda uch marta murojaat tashkil qilish kerak. Natijada 
dasturning hajmi kichiklashadi, uni tushunish ham oson bo‗ladi. Bunday 
vaziyatlarda o‗sha mayda dasturlarni funksiya ko‗rinishida yozib, kerak bo‗lganda 
unga xohlagancha marta murojaat qilish yo‗li bilan natijalarni olish mumkin. 
Dasturlash tillari tarkibida bir necha marta bajarilish kerak bo‗lgan 
jarayonlarni bir marta tasvirlab keyin shu dasturga murojat qilish imkoniyati 
mavjud. Dasturlash tillari tarkibida bir necha marta bajarilishi mumkin bo‗lgan 
holatlarni qism dastur sifatida e‘lon qilish va kerakli joyga shu qism dasturga 
murojat qilish mumkin. 
Ta‘rif: Dasturlash tilida yaratilgan dastur tarkibida ma‘lum bir vazifani 
bajaruvchi kichik dasturlar 
qism dasturlar
 deyiladi. 
Qism dasturlarning mohiyati berilgan masala tarkibi ma‘lum bir vazifani 
bajarish kerak bo‗ladi, lekin masala tarkibida ham kichik bir vazifani bajarish 
kerak bo‗ladi shunday vazifalarni qism dastur yordamida hal etish mumkin. 
Bunday masalalar asosan matematik masalalar tarkibida ko‗p bo‗lishi mumkin, 


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.

Download 2,67 Mb.
1   ...   96   97   98   99   100   101   102   103   ...   173




Download 2,67 Mb.
Pdf ko'rish

Bosh sahifa
Aloqalar

    Bosh sahifa



O„zbekiston respublikasi oliy va o„rta maxsus ta‟lim vazirligi samarqand davlat universiteti s. Eshtemirov, F. M. Nazarov

Download 2,67 Mb.
Pdf ko'rish