Funktsiyaning bajarilishi.
Funktsiya murojat qilinganda unda ko’rsatilgan amallar ochiluvchi figurali
qavsdan ({) keyingi birinchi ifodadan boshlab bajariladi. Funktsiya tanasida
ixtiyoriy operatoridan foydalanish mumkin. Funktsiya o’z tanasida boshqa
funktsiyalarni va hatto o’z -
o’zini ham chaqirishi mumkin.
Lokal o’zgaruvchilar va global o’zgaruvchilar
Funktsiyaga qiymatlar uzatish bilan birga uniig tanasida o’zgaruvchilarni
e`lon qilish ham mumkin. Bu lokal o’zgaruvchilar orqali amalga oshiriladi.
Qachonki dasturni bajarilishi funktsiyadan asosiy qismga qaytsa, bu funktsiyadagi
lokal o’zgaruvchilar xotiradan o’chiriladi. Lokal o’zgaruvchilar xuddi boshqa
o’zgaruvchilar kabi aniqlanadi. Funktsiyaga beriladigan parametrlarni ham lokal
o’zgaruvchilar deb atash mumkin va ularni funktsiya tanasida aniqlangan
o’zgaruvchilar kabi ishlatish mumkin. Quyida funktsiya parametrlari va funktsiya
ichida aniqlangan lokal o’zgaruvchilarni qo’llashga oid misol keltirilgan.
# include
float Aralashtirish(float);
int main()
{
float TerapFer;
float TempCel;
cout « "Feringait bo’yicha temperaturani" << "kiriting:";
cin » TempFer;
TempCel=Almashtirish(TempFer) ;
cout « "\n Bu temperatura selziy shkalasi bo'yicha: ";
cout « TempCel « endl;
return 0 ; }
float Almashrirish (float TempFer)
{
float TempCel ;
TempCel=((TempFer-32)*5)/9;
return TempCel; }
Dastur bajarilishidan keyingi natija:
Feringait bo'yicha temperatuurani kiritinq: 50
Bu temperatura selziy shkalasi bo’yicha: 10
main() funktsiyasida aniqlangan o’zgaruvchilarga dasturdagi barcha funktsiyalar
uchun murojaat qilishga imkoniyatiga va ko’rinish sohasiga ega hisoblanadi.
Bunday o’zgaruvchilar dasturdagi funktsiyalar uchun global o’zgaruvchilar
deyiladi.
Global o’zgaruvchi nomi bilan funktsiya ichida nomlari ustma-ust tushadigan
lokal
o’zgaruvchilar faqatgina joriy funktsiyaning ichidagina global
o’zgaruvchining qiymatini o’zgartiradi. Lekin global o’zgaruvchi funktsiya o’z
ishini tugatgach u chaqirilishidan oldingi qiymatini saqlab qoladi, ya`ni funktsiya
tanasida e`lon qilingan lokal o’zgaruvchi funktsiyaning ichida global o’zgaruvchini
yashiradi xolos. Bunda lokal o’zgaruvchi alohida hosil qilinadi va funktsiya ishlash
vaqtida global va lokal o’zgaruvchilarning nomlari bir xil bo’lsa faqatgina lokal
o’zgaruvchi ustida amallar bajariladi. Global o’zgaruvchi esa funktsiyaning
bajarilishi davomida oldingi qiymatini saqlab turadi. Bu g’oya quyidagi misolda
namoyish qilingan.
Masalan. Global va lokal o’zgaruvchilarning qo’llanishi.
# include
void MeningFunktsiyam () ; // prototip
int x =5, y = 7; // global o’zgaruvchmlar
int main ()
{
cout « "n>main()dagi x ning qiymati:" «x«”\n";
cout«"rnain() dagi y ning qiymati y:"«y«”\n";
MeriingFunktsiyam( );
cout « "MeningFunktsiyam() funktsiyasi"«"ishini tugatdi!\ n \ n";
cout«"main () dagi x ning qiymati:" «x«"\n";
cout«"main () dagi y ning giymati:"«y«"\n";
return 0; }
void MenirigFunktsiyam() ;
{int y = 10;
cout«"MeningFunktsiyam() dagi"« x «"\ n";
cout«"MenirigFunktsiyamdagi"«"y: " « y <<"\ n"; }
Dastur bajarilishidan keyingi natija:
main()dagi x ning giymati: 5
rnain()dagi y ning qiymati: 7
MeningFunktsiyam () dagi x:5
MeningFuhktsiyam () dagi y: 10
MeningFunktsiyam () funktsiyasi ishini tugatdi!
main () dagi x ning qiymati: 5
main () dagi y ning giymati: 7
Do'stlaringiz bilan baham: |