1-bilet 1,1// Bir xil hisoblash jarayonlarini bir necha bor takrorlanish jarayoniga takrorlanish
Download 278.92 Kb.
|
dastur azizkhan 007
29-bilet
29,1//. Rekursiv funktsiyalar. Rekursiv funktsiya deb o’ziga uzi murojjat qiluvchi funktsiyaga aytiladi. Misol uchun faktorialni hisoblash funktsiyasini keltiramiz:Long fact(int k){if (k<0) return 0;if (k==0) return 1;return k*fact(k-1);}Manfiy argument uchun funktsiya 0 qiymat qaytaradi. Parametr 0 ga teng bo’lsa funktsiya 1 qiymat qaytaradi. Aks holda parametr qiymat birga kamaytirilgan holda funktsiyaning o’zi chaqiriladi va uzatilgan parametrga ko’paytiriladi. Funktsiyaning uz uzini chaqirish formal parametr qiymati 0 ga teng bo’lganda tuhtatiladi. Keyingi misolimizda ihtiyoriy haqiqiy sonning butun darajasini hisoblash rekursiv funktsiyasini keltiramiz.Double expo(double a, int n){ if (n==0) return 1;if (a==0.0) return 0;if (n>0) return a*expo(a,n-1);if(n<0) return expo(a,n+1)/a;} Yuqoridagi sodda misollarda rekursiyasiz iterativ funktsiyalardan foydalanish maqsadga muvofiqdir. Masalan darajani hisoblash funktsiyani quyidagicha tuzish mumkin:Double expo(double a, int n){ if (n==0) return 1;if (a==0.0) return 0;int k=(n>0)?n:-n;for(double s=1.0,int i=0;i 29.2 Agar ichma-ich joylashgan sikllar soni ko’p bo’ladigan bo’lsa u holda siklni sindirish uchun har bir siklda break operatorini yozish lozim bo’ladi. Buning o’rniga sikldan keyingi amallar bajarilishiga o’tish uchun goto operatoridan foydalanish mumkin. goto operatoridan keyin nishon yoziladi. Agar goto operatori yozilsa, dastur nishon yozilgan nuqtadan bajarishni davom qildiradi. Nishon harflar, $(dollor belgisi), _(pastki chiziqcha), raqamlardan iborat bo’ladi va raqam bilan boshlanmaydi. 29.3//#include int main(){ int x,y;cout<<"X=";cin>>x;cout<<"Y=";cin>>y;cout< 29.4//#include 29.5//#include Download 278.92 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling