int sum(int a,int b) { int x=a+b; // lokal o‘zgaruvchi } Global o‘zgaruvchilar programma matnida funksiya aniqlanishi-dan tashqarida e’lon qilinadi va e’lon qilingan joyidan boshlab programma oxirigacha amal qiladi. #include int Test = 200; // Test global o’zgaruvchisini e’lon qilish void Print(void); //Funksiya prototipi int main ( ){ int Test = 10; // Test lokal o’zgaruvchisini e’lon qilish Print( ); // Funksiyani chaqirish: cout << “Local: " << Test << ‘\n’; return 0; } void Print(void) { cout << "Глобальная: " << Test << ' \n'; } - C++ bir xil nomli funksiyalarni bir necha bor yaratish imkonini beradi, lekin bunda yaratilayotgan funksiya qaytarish tipi turlicha bo’lishi lozim.
- Bir nomga ega bunday funksiyalar “Funksiyani qayta yuklanshi” deyiladi.
#include #include int max ( int a, int b) double max (double a, double b) { if (a>b) return a; return b; } int main( ){ cout< cout< } - O’z-o’ziga murojaat qiladigan funksiya rekursiv funksiya deb ataladi. Rekursiv funksiyalardan agar funksiya parametrlari bilan biror amal bajarib yandi parametrlar bilan huddi shunday amal bajariladigan bo’lsa foydalanamiz. Bunday masalalarni rekursiyasiz ham yechish mumkin. Lekin rekursiya dastur tushinarliligini oshiradi va uni yozishni osonlashtiradi.
- Masala1.
Rekursiyadan foydalanib n! ning qiymatini hisoblovchi dastur tuzing. n! = n*(n-1)! - 10! = 1*2*3*4*5*6*7*8*9*10 = 9! * 10;
- 9! = 9*8!;
- 8! = 8*7!;
- ….
- 1! = 1*0!
- 0! = 1;
Do'stlaringiz bilan baham: |