Funksiyalarni e‟lon qilish
C++ dasturlash tilida funksiyalar yaratish ulardan dasturning ixtiyoriy joyida
foydalanish uchun, albatta, funksiyalarni dastur tanasida e‘lon qilish kerak. C++
dasturlash tilida funksiyalarni e‘lon qilishning bir necha usullari mavjud. C++
dasturlash tilida main() asosiy funksiya tarkibida boshqa funksiyalardan
foydalanish uchun, albatta, funksiyalar main() asosiy funksiyadan oldin e‘lon
qilinishi kerak. Funksiyalarni e‘lon qilish uning prototipi yoki signaturasi ham
deyiladi.
Ta‘rif: Dastur tarkibidagi funksiyalarni main() funksiyasidan oldin
dasturlash tilida yozilishi funksiyalarni e‟lon qilish deyiladi.
C++ dasturlash tilida funksiyalarni e‘lon qilishning umumiy ko‗rinishi
quyidagicha bo‗ladi:
tur (tur );
Funksiyani e‘lon qilish jarayonida birinchi funksiya natijasining, ya‘ni
funksiya qaytaradigan turi keltiriladi, keyin funksiya nomi qavs ichida funksiya
157
o‗zgaruvchilari turi va o‗zgaruvchilari keltiriladi. Funksiya qaytaradigan turi
argument bajarilgandan so‗ng hosil bo‗ladigan natija turi bilan ustma- ust tushishi
kerak aks holda komplyator xato keltiradi. Funksiya nomi funksiya bajaradigan
vazifadan kelib chiqqan holda qo‘yiladi, chunki dastur tuzuvchi mutaxassislar
uchun umumiy holda tushunish oson bo‗lishi kerak. Masalan, ketma-ketliklarni
yig‘indisini hisoblash funksiyasiga sum(), to‗rtinchi darajali ildizni hisoblash
uchun sqrt4(), sonning ekubini hisoblash uchun ekub(), sonning ekukini hisoblash
uchun ekuk() va faktorialni hisoblash uchun fak() deb nomlash maqsadga muvofiq
bo‗ladi. Funksiya tarkibiga kiritilishi kerak bo‗lagan o‗zgaruvchi argumentlar,
albatta, avval turi bilan qavs ichida vergul bilan ajratilib yozilishi kerak. Funksiya
qaytaradigan turi, funksiya qabul qiladigan argumentlar turi va funksiya tarkibidagi
buyruqlar asosida aniqlanadi. C++ dasturlash tilida birdan n gacha bo‗lgan butun
sonlarning yig‘indisini hisoblovchi va ikkita butun sonning yig‘indisini
hisoblovchi funksiyalarni quyidagicha e‘lon qilish kerak:
#include
int sum(int n);
int yig(int a, int b);
using namespace std;
int main()
{
}
Birdan n gacha bo‗lgan butun sonlarning yig‘indisini hisoblash uchun sum
nomi bilan int sum(int n) funksiya yaratiladi. Funksiyani natijasi butun tur bo‗ladi,
chunki butun turdagi sonlarning yig‘indisi, albatta, butun bo‗ladi. sum(int n)
funksiyasining argument sifatida bitta n soni qabul qilinadi, chunki birdan n gacha
sonlar yig‘indisini hisoblash jarayoni faqat n ga bog‘liq bo‗ladi. Ikkita sonning
yig‘indisini hisoblash uchun int yig(int a, int b) funksiyasi yaratiladi. Funksiya
qaytaradigan natija turi butun bo‗ladi, chunki butun turdagi sonlarning yig‘indisi,
albatta, butun bo‗ladi. Yig‘indini hisoblash funksiya argumenti ikkita a va b
sonlari qavs ichida turi bilan keltiriladi, chunki ikki sonning yig‘indisi ikkita butun
songa bog‘liq bo‗ladi. Har doim ham funksiya natijasining turi argument turi bilan
bir xil bo‗lmaydi. Ikki sonning nisbatini aniqlovchi funksiyani quyidagicha e‘lon
qilinadi.
#include
158
double nisbat(int a, int b);
using namespace std;
int main()
{
}
Ikki sonning nisbatini aniqlash uchun double nisbat(int a, int b) funksiyasi
yaratiladi, nisbat funksiyasi natijasining turi haqiqiy bo‗ladi, chunki ikkita butun
sonning nisbati doimo butun bo‗lavermaydi.
|