254
6.
Dasturda
xatolarni
topishda
funksiya
yordamlashadimi
yoki
qiyinlashtiradimi ?
7.
Tipsiz funksiyaga misol keltiring.
8.
Dasturda funksiya tipini e`lon qilish shartmi ?
9.
Funksiyalardan foydalanishning avzallik tomonlarini ayting.
10.
Darajaga ko`tarish funksiyasini tuzing..
5.10. Matematik kutubxonaning funksiyalari
Muhim so`zlar:
math kutubxonasi, funksiya, matematik funksiyalar,
recurrent qator, cheksiz qator, leksik analiz, rekursiv funksiya.
Bilib olasiz:
math kutubxonasi, uning funksiyalari, recurrent qatorlar
uchun dasturlash, cheksiz qatorlar uchun dasturlash, leksik analiz, rekursiv
funksiyalarni yatarish va ularni ishlatishni.
Standart kutubxonaning matematik funksiyalari ko`pgina
amallarni
bajarishga imkon beradi. Biz bu kutubxona misolida funksiyalar bilan ishlashni
ko`rib chiqamiz. Masalan,
double = k;
int m = 123;
k = sin(m);
Kompilyator ushbu satrni ko`rganida, standart kutubxonadan
sin
funksiyasini chaqiradi. Kirish qiymati sifatida m ni berdik. Javob, yani
funksiyadan qaytgan qiymat k ga berildi. Funksiya argumentlari o`zgarmas sonlar
(o`zgarmas) o`zgaruvchilar, ifodalar va boshqa mos keluvchi qiymat qaytaradigan
funksiyalar bo`lishi mumkin. Masalan,
26-listing
.
Output:
int g = 49, k = 100;
cout << "4900 ning ildizi -> "<< sqrt(
g * k );
4900 ning ildizi -> 70;
255
Matematik funksiyalar
aksariyat hollarda
double
tipidagi qiymat
qaytarishadi. Kiruvchi argumentning tipi sifatida esa
double
ga keltirilishi mumkin
bo`lgan tip beriladi. Bu funksiyalarni ishlatish uchun
math.h
(yangi ko`rinishda
cmath) e`lon
faylini
include
bilan asosiy dastur tanasiga kiritish kerak.Quyida
matematik funksiyalar kutubxonasining ba`zi bir funksiyalarini beraylik. x va y
o`zgaruvchilari double tipiga ega.
Funksiya Aniqlanishi
Misol
ceil(x) x ni x dan katta
yoki unga teng b-n eng
kichik butun songacha yaxlitlaydi
ceil(12.6) = 13.0
ceil(-2.4) = -2.0
cos(x) x ning trigonometrik kosinusi (x radianda)
cos(0.0) = 1.0
exp(x) e ning x chi darajasi (eskponental f-ya)
exp(1.0) = 2.71828
exp(2.0) = 7.38906
abs(x) x ning modul qiymati
x>0 => abs(x) = x
x=0 => abs(x) =0.0 x<0
=> abs(x) = -x
floor(x) x ni x dan kichik bo`lgan
eng katta butun
songacha yaxlitlaydi
floor(4.8) = 4.0
floor(-15.9) = -16.0
fmod(x,y)
x/y ning qoldig`ini kasr son tipida beradi
fmod(7.3,1.7) = 0.5
log(x) x ning natural logarifmi (e asosiga ko`ra)
log(2.718282) = 1.0
log10(x) x ning 10 asosiga ko`ra logarifmi
log10(1000.0) = 3.0
pow(x,y)
x ning y chi darajasini beradi
pow(3,4) = 81.0
pow(16,0.25) = 2
sin(x) x ning trigonometrik sinusi (x radianda)
sin(0.0) = 0.0
sqrt(x)
x ning kvadrat ildizi
sqrt(625.0) = 25.0
tan(x) x ning trigonometrik tangensi (x radianda) tan(0.0) = 0
0>