O‘zbekiston respublikasi oliy va o‘rta maxsus ta’lim vazirligi tоshkеnt dаvlаt iqtisоdiyot universitеti


Download 1.96 Mb.
Pdf ko'rish
bet53/83
Sana08.11.2023
Hajmi1.96 Mb.
#1757524
1   ...   49   50   51   52   53   54   55   56   ...   83
Bog'liq
Obyektga yo`naltirilgan dasturlash tillari

10.5. Yuqori darajali funksiyalar 
Funksiya obyektlari – bu «kichik qavs» () operatsiya aniqlangan sinf nusxasi. 
Ba’zi bir xolatlarda funksiyani obyekt – funksiyalarga almashtirish qulaydir. Obyekt - 
funksiya funksiya sifatida ishlatilsa uni chaqirish uchun operator () foydalaniladi.
Misol: 
class kub{ 
public: 
double operator()(double x) 
{return x*x*x;} }; 
Yuqori darajadagi algoritm bu shunday algoritmki bitta yoki bir nechta 
argumentlar funksional tipga tegishlidir. 
Dixotomiya usuli yerdamida ixtiyoriy funksiya uchun [a,b] oralikda f(x)=0 
tenglamani yechish masalasi misolida yuqori darajali funksiyani ko‘rib o‘tamiz. Bu 
maqsadda masalani yechadigan metodni tavsiflovchi sinf yaratamiz. Sinfni 
tavsiflovchi dastur kodini ko‘ramiz: 
template  
class FunctionZero 

public: 
static double dihotom(double a, double b, double eps, T f)
}; 
template  
double FunctionZero::dihotom(double a, double b, double eps, T f)
{
float x, x1=a, x2=b; 
while (x2-x1)>eps
{x=(x1+x2)\2; 
if (f(x)==0) return x;
if (f(x)>0) x1=x; else x2=x; 


89 
};
return x1;

Nazorat uchun savollari 
 
1. Shablonlarlardan nima maqsadda foydalaniladi? 
2. Funksiya shabloni asosiy xossalarini ko‘rsating. 
3. Parametrlashtirilgan sinflar xossalarini ko‘rsating. 
4. SHablon parametrlari ro‘yxati bo‘sh bo‘lishi mumkinmi?
5. Parametrlashtirilgan funksiya qanday chaqiriladi?
6. Parametrlashtirilgan 
sinflar 
xamma 
komponenta 
funksiyalari 
parametrlashganmi? 
7. Sinf shabloni tashqarisida komponenta funksiyalar qanday aniqlanadi? 
 
 


90 

Download 1.96 Mb.

Do'stlaringiz bilan baham:
1   ...   49   50   51   52   53   54   55   56   ...   83




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling