Inkapsulyatsiya (Qobiqlash). Qobiqlash ma’lumotlar to’plamini va bu to’plamni qayta ishlashga mo’ljallangan algoritmlarni (qismprogrammalarni, ya’ni protsedura va funksiyalarni) birlashtirishdir. Natijada yangi tip- ob’ekt (object) paydo bo’ladi. OMP muhitida ma’lumotlarni ob’ekt maydonlari va qismprogrammalarni ob’ekt metodlari deymiz.
Qulayliklari:
a) Ob’ekt tashqi muhitdan mustaqil bo’ladi.
b) Ma’lumotlar va algoritmlarni modifikatsiya qilish (o’zgartirish) osonlashadi.
c) Ob’ektlar kutubxonasini yaratishga qulay sharoitlar paydo bo’ladi.
Polimorfizm ikki xil ko’rinishda namoyon bo’ladi:
compile time;
run time;
Compile time polimorfizm bu funksiyalar va operatorlar overloadi, ya’ni funksiyalar va operatorlarning qo’shimcha yuklanishidir (function overloading or operator overloading).
Runtime time polimorfizm bu – vorislik va virtual funksiyalardan foydalanishda vujudga keladi (Function overriding).
Polimorfizm bu – bitta nom bilan bir nechta funksiyalarni qayta yuklanishidir.
C++ da polimorfizm 2 ta usulda namoyon bo’ladi:
1- usul: funksiyalar va operatorlarning qo’shimcha yuklanishida.
2- usul: vorislik va virtual funksiyalardan foydalanishda vujudga keladi.
9.Dasturlashda matematik funksiyalar kutubxonasi va undan foydalanishga misollar
Tayanch iboralar: math.h kutubxonasi, asosi201y standart funksiyalar, logarifmik
funksiyalar, trigonometrik funksiyalar, giperbolik funksiyalar
C++ tilidan foydalanuvchiar bu kutubxonadan juda keng foydalanadilar.
math.h kutubxonasi turli matematik funksiyalar, makrokonstantalar va matematik
turlar bilan boyitilgan. Quyida biz ularning tavsifini keltiramiz:
math.h kutubxonasining funksiyalari
Funksiya Bajaradigan amali
Trigonometrik funksiyalar:
cos Radianga tеng bo‘lgan burchakning kosinusini qaytaradi
sin Radianga tеng bo‘lgan burchakning sinusini qaytaradi
tan Radianga tеng bo‘lgan burchakning tangensini qaytaradi
acos Radianda bеrilgan argumеntning arkkosinus qiymatini
qaytaradi
asin Radianda bеrilgan argumеntning arksinus qiymatini
qaytaradi
atan Radianda bеrilgan argumеntning arktangens qiymatini
qaytaradi
atan2 Radianda bеrilgan x/y argumеntning arktangens qiymatini
qaytaradi.
Giperbolikfunksiyalar:
cosh Radianda bеrilgan burchakning giperbolik kosinusini
qaytaradi.
sinh Radianda bеrilgan burchakning gipеrbolik sinusini
qaytaradi
tanh Radianda bеrilgan burchakning gipеrbolik tangensini
qaytaradi
acosh Radianda bеrilgan burchakning gipеrbolik arkkosinusini
qaytaradi
asinh Radianda bеrilgan burchakning gipеrbolik arksinusini
qaytaradi
atanh Radianda bеrilgan burchakning gipеrbolik arktangensini
qaytaradi
Logarifmik funksiyalar
exp еx qiymatni qaytaradi
frexp Sonning mantissasini va darajasining qiymatini ajratib,
mantissa qiymatini qaytaradi va darajasini ko‘rsatilgan
adrеsga joylashtiradi
ldexp(x) x*2еxp qiymatni qaytaradi
log Sonning natural logarifmini qaytaradi
log10 Sonning 10 asosli logarifmini qaytaradi
modf Haqiqiy sonning butun va haqiqiy qismalarini ajratish
exp2 Funksiyaning ikkilik ko‘rsatkichini aniqlash
expm1 -1 ko‘rsatkich bilan hisoblah
ilogb Ikkita predmetdan iborat nabordagi butun son logarifmi
log1p Logarifmni +1 ko‘rsatkich bilan hisoblash
log2 Ikkilik logarifmni hisoblash
logb Logarifmni suzuvchu vergulli son asosida hisoblash
Darajaga ko’tarish funksiyalari
pow Darajaga ko‘taradi
pow10 10 sonining darajasini hisoblaydi
sqrt Sondan kvadrat ildiz chiqaradi
cbrt Sondan kub ildiz chiqaradi
hypot to‘g‘ri burchakli uchburchakning katеtlari bo‘yicha
gipotеnuzasini hisoblaydi.
Xatolik funksiyalari va gamma funksiyalari
erf Xatolik funksiyasini hisoblash
erfc Qo‘shimcha xatolik funksiyasini hisoblash
tgamma Gamma funksiyani hisoblash
lgamma Ro‘yxatdan o‘tkazuvchi gamma funksiyani hisoblash.
Dasturlashda math.h kutubxonasining imkoniyatlaridan
foydalanish. C++ tilining math.h kutubxonasi yordamida matematik masalalarni
dasturlash jarayonini ko‘rib chiqamiz.
Bu kutubxonadagi mavjud matematik funksiyalarni quyidagi to‘rt guruhga
bo‘lishimiz mumkin:
Trigonometrik funksiyalar
Giperbolik funksiyalar
Eksponensial va logarifmik funksiyalar
Boshqa turdagi matematik funksiyalar
10.Dasturlashda tarmoqlanuvchi jarayonlarni ifodalash. Uni ishlatishga oid misollar
Tayanch iboralar: Tarmoqlanuvchi jarayon, if konstruksiyasi, if-else konstruksiyasi, blok-sxema ko’rinishida ifodalash, shartli ifoda, rost va yolg’on qiymatlar, if-else konstruksiyasini ichma-ich ishlatish.
12.Dasturlashda takrorlanuvchi jarayonlarni ifodalash. Parametrli takrorlanish operatori
Tayanch iboralar: Takrorlanuvchi jarayon, Parametrli takrorlash operatori, for operatori, for operatori tarkibiy qismlari, initsializatsiyalash, chiqish sharti, o’sish qadami. Ichma-ich sikllar.
Agar masala yoki muommoni hal etish jarayonida qandaydir shartlarga duch kelinsa, masala yechimi shu shart asosida qandaydir usullar yordamida aniqlanishi mumkin. Masala yechimi aniqlanish jarayonida tuzilayotgan algoritmlar shartlar asosida tarmoqlanishi mumkin, ya‘ni shart bajarilish asosida chin qiymat qabul qilganda algoritmning bir qismi yolg‘on qiymat qabul qilganda esa algoritmning boshqa qismi bajariladi. Algoritm bajarilish davomida har doim ham buyruqlar ketma-ketligi bajarilavermaydi, shunday holatlar ham mavjudki, algoritm tarkibida shartlar asosida buyruqlar ketma-ketligi tarmoqlanib ketadi. Ta‘rif: Algoritm bajarilish vaqtida buyruqlar ketma-ketligi shartlar asosida u yoki bu qismga tarmoqlanishiga tarmoqlanuvchi algoritmlar deyiladi. Tarmoqlanuvchi algoritmlar quyidagicha so‗zlar yordamida tasvirlanadi. Agar (shartli ifoda) u holda (hisoblansin) aks holda (hisoblansin) Tarmoqlanuvchi algoritmlar blok-sxema yordamida tasvirlanadi.Shart chin bo‘lganda algoritm 1 tomonga yolg‘on bo‘lganda esa 0 tomonga harakatlanadi. 1 yoki 0 o‘rniga rost yoki yolg‘on, + yoki –, xa yoki yo‘q belgilarni yozish mumkin. Algoritmni ifodalovchi blok-sxema ko‘rinishiga e‘tibor qaratsangiz romb belgisi tarkibiga algoritmning shartli ifodasi keltiriladi. Agar algoritm sharti natijasi chin qiymat qabul qilsa, algoritm + tarafdagi buyruqlarga o‘tadi aks holda – tarafdagi buyruqlar ketma-ketligiga o‘tadi.
Misol: Ikkita sondan kattasini aniqlash jarayonini ifodalovchi algoritmni blok-sxema va so‘zlar yordamida tuzilsin…(.biladi hamma)
Tarif: Algoritm tarkibidagi shart asosida algoritmning tarmoqlarga bo‗linishiga xizmat qiluvchi operatorlar shartli operatorlar deyiladi. Qisqa shartli operatorning umumiy ko‗rinishi quyidagicha if {operator1; operator2; … operatorn;}
Tarmoqlanuvchi jarayonlarni C++ dasturlash tilida to‗liq shartli operatorning umumiy ko‗rinishi quyidagicha if {operator1; operator2; … operatorn;} else {operator_x1; operator_x2; … operator_xn;} if else operatori tarkibidagi shartlarning chin qiymat qabul qilganda {operator1; operator2; … operatorn;} bajariladi aks holda { operator_x1; operator_x2; … operator_xn;} bajariladi.
for operatori yordamida tashkil qilinadigan ichma-ich joylashgan sikl buyruqlarining umumiy ko’rinishi quyidagicha:
for (i = imin; i < = imax; i = i + i qad)
for (j = jmin; j < = jmax; j = j + j qad)
for (k = kmin; k < = kmax; k = k + k qad) buyruqlar; Uchta ichma-ich joylashgan holni tanladik.
11.Dasturlash tilida tanlash operatori. Uni ishlatishga oid misollar
Tayanch iboralar: Tanlash jarayonlari, switch operatori, case bloki, default bloke, break operatori, switch tekshiruvchi o’zgaruvchilar
break operatori Ba‘zan dastur yoki qaysidir buyruqlar to’liq ijro etilmasdan, qo’qqisdan ishni to’xtatib (avariya holati) dastur yoki buyruqdan chiqib ketishga to’g’ri keladi. Ayniqsa, bunday holat takrorlanish va tanlash buyruqlarini tashkil qilishda ko’p uchraydi. C++ break operatorini uchratgach, dasturni bajarishni to’xtatadi va break operatori joylashgan blokdan chiqib, undan keyingi buyruqlarni bajarishga o’tadi. Lekin tanlash, sikl buyruqlari ichida break operatoridan foydalanilsa, o’sha byuyruqning o’zini blok deb tushunadi. Bu operatordan zarurat bo’lganda dasturning ixtiyoriy joyida foydalanish mumkin. Masalan, int main( ) funksiyasi blokida foydalanilsa, break; operatoridan keyingi buyruqlar bajarilmaydi. Bu holda break operatori int main( ) funksiyasi blokidan chiqishni ta‘minlaydi va natijada dasturni bajarish to’xtatiladi.
Do'stlaringiz bilan baham: |