logo

C++ dasturlsh tilida standart matematik funksiyalarning birinchi hosilasini topish.

Yuklangan vaqt:

12.08.2023

Ko'chirishlar soni:

0

Hajmi:

419.0869140625 KB
Mavzu:C++ dasturlsh tilida standart matematik funksiyalarning birinchi
hosilasini topish.
Reja:
Kirish. 
I BOB. C++ dasturlash tili haqida qisqacha ma’lumot.
           1.1  C++ dasturlash tilida  va kutubxonalar.
           1.2 C++ dasturlash tilida   math.h  kutubxonasidan  nima  uchun kerak?
           1.3 C++ dasturlash tilida  birinchi tartibli xosilani olish ustiga amalar.
II   BOB.Murakab   jarayonlardadasturlashda   standart   funksiyalar   va   ular
ustiga amallar.
         2.1 Murakab jarayonlarda C++ kutubxonasi bilan ishlash.
         2.2 Murakkab jarayonlarda C++ math.h smath funksiyalari bilan ishlash.
         2.3 Murakab jarayonlarda C++ birinchi tartibli hosilasini olish jarayoni.
III  Xulosa Kirish
  Kundan   kunga   tobora   o„sib   borayotgan   axborot   oqimi,   axborot
texnologiyalarining   to’xtovsiz   rivojlanishi,   kompyuterda   yechilishi   kerak   bo’lgan
masalalar   ko„lamining   kengayishi   va   murakkablashuvi   ushbu   texnologiyalardan
foydalanuvchilarning   oldiga   yangidan   yangi   vazifalarni   qo’ymoqda.   Bugungi
kunda   ma’lumotlar   oqimining   ko’pligi   tufayli   ularni   qisqa   vaqt   ichida   jamlash,
saqlash   va   qayta   ishlash   ham   muammo   bo’lmoqda.   Shuning   uchun
axborotkommunikasiya   vositalari   barcha   turdagi   tashkilot   va   muassasalarga
shiddat   bilan   kirib   kelmoqda.   Axborotlarning   haddan   tashqari   ko’pligi   bu
axborotlarni  saqlashda,  qayta ishlashda, hamda har xil turdagi  tizimlarni yaratish,
ulardan   samarali   foydalanishni   va   axborot   tizimlarini   yaratishni   talab   qiladi.
O’zbekiston   Respublikasi   Prezidentining   2017   yil   7   fevraldagi   PF-4947-son
farmoni   bilan   tasdiqlangan   2017-2021   yillarda   O’zbekiston   Respublikasini
rivojlantirishning   beshta   ustuvor   yo„nalishi   bo’yicha   harakatlar   strategiyasi
mamlakatning   davlat   va   jamiyat   rivojlanishi   istiqbolini   strategik   rejalashtirish
tizimiga   sifat   jihatdan   yangi   yondashuvlarni   boshlab   berdi.   Unda   belgilangan
vazifalar   sirasida   ta’lim   va   fan   sohasini   rivojlantirishga   ham   alohida   e’tibor
berilgan.   O’zbekiston   Respublikasi   birinchi   Prezidentining   2012   yil   21   martdagi
“Zamonaviy axborot-kommunikasiya texnologiyalarini joriy etish va rivojlantirish
chora-tadbirlari to’g’risida”gi PQ-1730 qarori hamda “O’zbekiston Respublikasida
“Elektron ta’lim milliy tarmog’ini yaratish” investitsion loyihasini amalga oshirish
chora-tadbirlari   to’g’risida”   gi   PQ-1740   qarori   va   boshqa   bu   sohaga   taalluqli
me’yoriy hujjatlar algoritmik ta’minot ishlab chiqish va joriy etishning juda keng
ko’lamli   ekanligidan   dalolat   beradi.   Barcha   tashkilot   va   muassasalarda
avtomatlashtirilgan   tizimlar   yaratish   va   ulardan   keng   ko’lamda   foydalanishga
erishishda   algoritmlashtirishning   o’rni   katta   hisoblanadi.   Axborot   tizimlari
axborotni   to’plash,   saqlash   va   qayta   ishlash   uchun,   keng   ko’lamli   maqsadlarda
samarali   foydalanish   uchun   xizmat   qiladi.   Zamonaviy   axborotlashtirish   tizimi,
ma’lumotlar   integratsiyasi   konsepsiyasiga   asoslangan   katta   hajmdagi
ma lumotlarni   saqlash   bilan   tavsiflanadi   va   ko’p   sondagi   foydalanuvchilarning‟
turli xildagi talablariga javob berishi kerak bo’ladi.
C++ dasturlash  tili  tarkibida bir  nechta imkoniyatlar  mavjud, ya’ni  consol  rejimi,
forma   ob’yekt   rejimi,   grafik   muhiti   va   ma’lumotlar   bazasi   bilan   ishlash
imkoniyatlari   keng   joriy   etilgan.   Ushbu   qo’llanmada   keltirilgan   misol   va
masalalarning   yechimi   dasturining   int   main   funksiyasi   tarkibini   C++   dasturlash
tilinining   ixtiyoriy   versiyalarida   ishlatib   ko’rish   mumkin.   Qo’llanma   oliy   o’quv
yurtlari   talabalari   va   magistrantlari,   litsey,   kasb-hunar   kollejlari   talabalari   hamda
mustaqil o„rganuvchilar uchun qulay manba hisoblanadi. C++ dasturlash tili haqida qisqacha ma’lumot.
Axborot   texnologiyalarining   jadal   sur’atlar   bilan   rivojlanishi,   o’z   navbatida
dasturlash   tillarining   rivojlanishiga   olib   keldi.   Dastlabki   EHMlar   yaratilgan
davrdan   boshlab   dasturlash   tillari   ham   to’xtovsiz   rivojlanib   kelmoqda.   Birinchi
avlod   mashinalari   bilan   ishlashda   dasturchilar   eng   sodda   mashina   tilini   o’zida
ifodalovchi kompyuter buyruqlari bilan ishlaganlar. Bu buyruqlar uzun qatorli nol
va   birlar   ketma-ketligidan   iborat   bo’lgan.   Keyinchalik   foydalanuvchi   uchun
nisbatan   qulay   va   tushunarli   bo’lgan   assembler   tili   yaratiladi.   Yillar   o’tishi   bilan
yuqori   darajali   dasturlash   tillari   yaratila   boshlandi.   Yuqori   darajali   algoritmik
tillarda   dastur   foydalanuvchi   tushunadigan   ma lum   bir   standartlar   yordamida‟
yaratiladi.   Yuqori   darajali   algoritmik   tillarda   tuzilgan   dastur   kompyuter   tiliga
maxsus   interpretator   va   komplyatorlar   deb   ataluvchi   dasturlar   yordamida
o„tkaziladi.   Elektron   xisoblash   mashinalari   avlodlari   rivojlanib   borishi   bilan   bir
vaqtda   dasturlash   tillari   ham   rivojlandi.   Dasturlash   tillarida   tuzilgan   dasturlar
tarkibidagi buyruqlarning soddaligi(hammabopligi), uni bajarish uchun kompyuter
sarflaydigan vaqt va kompyuter xotirasidan kam joy egallashi bilan bir-biridan farq
qiladi. Shuning uchun dasturlashga ham talablar o’zgarib bordi va bu holat nafaqat
dasturlashni   balki   dastur   yozish   texnologiyalarining   ham   o’zgarishiga   olib   keldi.
Hozirga   qadar   bir   necha   o„nlab   dasturlash   tillari   yaratilgan.   Lekin   keyingi
yaratilgan   dasturlash   tillari   o„zidan   oldingilarining   kamchiliklarini   to’ldirib
borganligi   uchun   oldingilaridan   dasturchilar   foydalanishmaydi.   Bugungi   kunda
amalda   foydalaniladigan,   ayniqsa   ta’lim   jarayonida   o’rganiladigan   zamonaviy
dasturlash tillari Paskal, C++, Java, PHP, Python tillardir. So’ngi yillarda Java, C+
+   va   Python   dasturlash   tillari   tobora   ommalashib   bormoqda.   Mazkur   tillardagi
imkoniyatlar   zamonaviy   axborot   texnologiyalarining   hamma   talablariga   javob
beradi va unda dastur tuzuvchi uchun juda katta qulayliklar movjud.
Mavjud tillar katta 2 ta guruhga bo`linadi: 
1) Tabiiy tillar. 
2) Bu odamlar o`zaro muloqotda bo`ladigan tillar (o`zbek, qozoq, ingliz va 
hokazo). 
3)  Sun iy tillar. Sun iy tillar yaxshigina kodlangan bo`ladi. Shuning uchun 	
‟ ‟
masala dasturini masala kodi ham deyishadi.
Kodlash 2 xil maqsadda amalga oshiriladi:  a)   katta   hajmdagi   ma’lumotlarni   qisqacha   ifodalash   maqsadida.   Masalan,
Samarqand   davlat   universitetining   kodi   -   SamDU,   Davlat   test   markazning   kodi   -
DTM,   oziq-ovqat   mahsulotlari,   yengil   sanoat,   og`ir   sanoat,   ta’lim   dargohlarining
nomlari   ham   ularning   kodlaridir.   Odamlarning   ismlari,   hatto   laqablari,   masalan,
xo`jayin,   baqaloq,   lampa   shisha,   novcha   va   hokazolarning   barchasi   kodlangan
ma’lumotlardir. 
b)   maxfiylikni   saqlash   maqsadida.   Bunday   usulda   kodlangan   ma’lumotlarni
hamma ham tushunavermaydi. Faqat tor doiradagi odamlargina tushunadi. Maxfiy
holda kodlashning ham har xil usullaridan foydalaniladi. Masalan, raqamlar orqali,
hayvonlar   nomlari   orqali,   qisqacha   so`zlar   orqali   kodlanadi   va   hakoza.   Bunday
usulda kodlashdan josuslar, maxfiy xizmat vakillari ko`p foydalanishadi. Masalan,
16-obyekt yo`qoldi, chiroq yonmadi, mashina portladi, ikkinchini olib tashlang va
hokazo   bunday   fikrlarning   har   biri   qandaydir   obyekt,   voqea   va   hodisalarning
kodlaridir.
Har   bir   dasturlash   tili   alfavitiga   ushbu   tilda   dastur   tuzish   jarayonida
foydalaniladigan   barcha   belgilar   kiradi.   U   holda   C++   dasturlash   tili   alifbesiga
quyidagilar kiradi:
1. Lotin alifbesi harflari; 
2. Raqamlar: 0; 1; 2; 3; 4; 5; 6; 7; 8; 9; 3. 
Tinish belgilari: (.); (;); (,); (:); 
4. Qavslar: (); {}; []; 
5. Amal belgilari: +; -; *; /;
 6. Maxsus belgilar: !; %; #; ?;&; ^;
Arifmetik amallar va ularning bajarilish tartibi
Matematikada   bo’lgani   kabi   C++   dasturlash   tilida   ham   4   ta   arifmetik   amal(+;   -;
*;/)lardan foydalaniladi. Ularning bosqichlarga bo’linishi, bajarilish tartibi, qavslar
ishtirokidagi bajarilish tartibi matematikadagi tartibidan farq qilmaydi. 
Masalan:
 Misollar ketmaket bajariladi (+) kelsa  yoki (-) minu bajariladi.
 1) 26-3+18-76+53;
 2) 38/2*x/12*45/y 
BU amalarda ham shunday  yani ketmakit tartibga bajariladi.
4) 14-155/4+3*x+24/8*5-98*4/16; 
5) 24+(96/24*6-(18/5+2*c/7+6*(216/3/4+3*2)))   Eslatma:   matematikada   ba’zi   hollarda,   ayniqsa,   harfiy   va   qavsli   ifodalarda
ko„paytirish   amali   oshkor   yozilmaydi.   C++   dasturlash   tilida   barcha   amallar
oshkor yozilishi shart. Masalan, 
1) 2x+5y-2*x+5*y 
2)   3(7a-5)-3*(7*a-5)   kabi   yozuvlar   xato   hisoblanadi.   Ularning   to’g’ri   yozuvi
quyidagicha 
1) 2*x+5*y-2*x+5*y 2) 3*(7*a-5)-3*(7*a-5) 
Bundan tashqari C++ dasturlash tilida quyidagi amallardan ham foydalaniladi: 
1. Darajaga ko’tarish amali pow(x,n) funksiyasi yordamida bajariladi:
2.   pow(x,n)= ; pow(3,4)=81; 2. n%m – amali n butun sonini  m butun soniga
bo’lganda   qoldiqni   hisoblaydi   va   qoldiqqa   bo’linuvchi   ishorasi   beriladi.
Masalan, 37%32=5; -43%8=-3; 64%(-12)=4;
C++  dasturlash tilida  va kutubxonalar.
Barcha   dasturlash   tillarida   matematikada   bizga   tanish   bo’lgan   funksiyalardan
foydalaniladi.   Ularning   ichida   nomini   uchratgach,   uni   dasturlash   tili   tanisa,
ya’ni   ko„rsatilgan   argument   bo’yicha   funksiyaning   qiymatini   hisoblovchi
dastur   bo’lsa,   bunday   funksiyalar   standart   funksiyalar   deyiladi.   Boshqa
dasturlash tillarida bo’lgani kabi C++ dasturlash tilida ham funksiya argumenti
unung   nomidan   keyin   qavs   ichiga   olib   yoziladi.   Quyida   standart   funksiyalar
ro’yxati keltirilgan :
abs (x) → |x|, bunda x – butun son 
fabs (x) → |x|, bunda x – haqiqiy son
 sin (x) → sin x, bunda x – radianda beriladi 
cos (x) → cos x, bunda x- radianda beriladi 
tan (x) → tg x, bunda x - radianda beriladi 
sqrt (x) → √ , bunda x – haqiqiy son
 exp (x) → ex , bunda x – haqiqiy son
 log (x) → ln x, bunda x – haqiqiy musbat son 
log 10(x) → lg x, bunda x – haqiqiy musbat son 
asin (x) → arcsin x, bunda x – radianda beriladi 
acos (x) → arccos x, bunda x - radianda beriladi 
atan (x) → arctg x, bunda x - radianda beriladi  atan2(x,y) → arctg , bunda x, y lar radianda beriladi. 
ceil(x)→   x   haqiqiy   sonini   undan   katta,   lekin   unga   eng   yaqin   butun   son   bilan
almashtiradi. Natijaga haqiqiy tur maqomi beriladi.
floor(x) → x haqiqiy sonini undan kichik, lekin unga eng yaqin butun son bilan
almashtiradi.   Natijaga   haqiqiy   tur   maqomi   beriladi.   Bu   ikkita   funksiya
yaxlitlash amalini bajarmasligini unutmaslik kerak. 
Masalan,
 ceil (4.235601) = 5;
 floor (4.235601) = 4 
ceil (4.9907) = 5; 
floor (4.9907) = 4 
fmod  (x,y)  –  x  butun  sonni   y  butun  songa  bo’lgandagi  qoldiqni   hisoblaydi  va
natijaga  haqiqiy  tur   beradi.  %   amali  ham  shu   vazifani   bajaradi,  faqat  bu  amal
natijasi   butun   turli   bo’ladi.   hupot(x,   y)   –   x   va   y   lar   haqiqiy   sonlar   bo’lib,
funksiya   x   va   y   katetlar   bo’yicha   to„g„ri   burchakli   uchburchakning
gipotenuzasini hisoblaydi. pow (x,y) → xy pow 10(x) → x – butun son bo’lib,
pow 10(x)→ 10^x
math.h  kutubxonasidan  nima  uchun kerak?
Standart   funksiyalar   kutubxonasidan   foydalanish   uchun   int   main(   )
funksiyasidan   oldin   #include   sarlavha   faylini   ham   yozish   kerak.   Quyida
keltirilgan dastur va uning natijalarini tahlil qiling:
Math.h   bu   kutubxona   bizga     ma;lumotlarni   chiqarishga   yordam   beradi.ya’ni
kutibxonasiz bi xil misolar ishlanayin qolishi mumkin bularga misol 
Cos(x) -> bu kutubxonani chaqirmasa birxil vaziyatlarga ishlamaydi.
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
  int a,b,mx;   cin>>a>>b;
  if(a>0){
   mx=a;
   if(mx<b){
   cout<<mx<<endl;
  }
  cout<<mx<<endl;
  }
  return 0;
}
Bu dastur eng karasini topadi.
Ifodalarni C++ dasturlash tilida yozishda quyidagi qoidalarga amal qilish lozim:
- ifodani kasr ko’rinishida yozib bo’lmaydi 
(ax+23)/(19-7a) deb yozlganing C++ tilga tuliq bundayin yoziladi
(2*x+23)/(19-7*a) ;
Eslamtma: Qavs   ichidagi   amallar   birinchi   bajariladi,   keyin   funksiyalarning   qiymatlari
hisoblanadi. Undan keyin bizga hozirgacha ma’lum bolgan amallarning birinchi
bajarilish   nuqtayi   nazaridan   bajariish   tartibi   quyidagicha(Qavs   ichiga   olingan
amallar   bir   bosqich   amallari   hisoblanadi,   ya’ni   ulardan   qaysi   biri   ifodada
chapda yozilgan bo’lsa, o’shasi birinchi bajariladi):
 (*, /, %), (+, -)
Quyidagi ifodani C++ dasturlash tilida yozing.
(pow(x, y+1) + exp(k – 1)) / (1 + x/y – tan(z)) * (1/tan(x/y) – sqrt(z)) * 
fabs (fabs(x-1)/(y+1))
C++ da yozilishi endi shuni dasturnini tuzamiz.
#include<iostream>
#include<math.h>
using namespace std;
int main(){
int x,y,z,k;
double S;
cin>>x>>y>>z>>k;
S=((pow(x,y+1)+exp(k-1))*1.0/(1+x*1.0/y-tan(z)))*(1.0/tan(x*1.0/y)-
pow(z,1.0/2))*abs(abs(x-1)*1.0/(y+1));
cout<<S<<endl;
return 0;
} C++ dasturlash tilida har qanday dastur 1-satr bilan boshlanadi.
 Bunda #include (o’z ichiga olmoq) so’zi ma’lumotlarni kiritish va chiqarish 
(o„qish va yozish) funksiyalari va ularning o`zatuvchilari e’loni joylashgan 
sarlavha faylini dasturga qo„shadi. yozuvi quyidagicha ma’noni bildiradi: i (input 
– kirishi (o’qish)), o (output – chiqarish (yozish)), stream – oqim (ya’ni 
ma lumotlar oqimi), h (head – sarlavha). Juda ko’pchilik yangi komplyatorlar ‟
#include o’rniga #include sarlavha faylidan foydalanish imkonini beradi. Faqat 
undan keyin using namespace std; satrini qo’shish kerak. 3 - satrda main( ) 
funksiyasi berilgan bo„lib, bu funksiya ham (main – bosh, asosiy demakdir), 
albatta, bo„lishi shart va dastur shu funksiyani bajarish bilan o’z ishini boshlaydi. 
Uning oldidagi int so’zi dastur ijro etilgach, natija butun son sifatida qaytarilishini 
bildiradi.
 C++ dasturlash tilining ba zi komplyatorlari int main( ) funksiya prototipi e’lon 	
‟
qilingan bo„lsa ham bu funksiya prototipi e’lon qilinmaganligi haqida xabar 
beradi. Bunday holda int main( ) dan oldin int main( ); funksiya e’lonini ham 
qo’shish kerak:
#include ; 
int main( );
 int main { . . . }
Dasturdagi boshqa funksiyalarga dasturning qayeridadir murojaat buyrug`i 
bo’lgandan so„ng ular ishga tushadi. Lekin main( ) asosiy funksiyasiga esa dastur 
ishga tushgan zahoti murojaat bo`ladi. 4 va 9 - satrlarda { va } qavslari keltirilgan 
Bo’lib, ular main funksiyasining blok belgilaridir. C++ dasturlash tilida, 
tarmoqlanish,takrorlanish kabi murakkab buyruqlarga talluqli buyruqlar ikki yoki 
undan ortiq bo’lganda ham bu buyruqlar shunday blok belgilari ichiga olib 
yoziladi. Bu yerda esa bu belgilar dastur tanasining boshlanishi va tugashini 
bildiradi desak ham bo’ladi yoki dastur tanasining chegaralari yoki main( ) 
funksiyasi blok (tanasi) deyish ham mumkin. Ammo bu belgilarsiz dastur 
ishlamaydi. 4-satrdagi int a, b, c, s; yozuvi a, b, c, s o„zgaruvchilar e’loni deyiladi. 
Bunda, albatta, ularning turi ko„rsatilgan bo’lishi shart va ular, albatta, bir- birlaridan (,) belgisi bilan ajratib yoziladi va oxirgisidan so’ng nuqtali vergul 
qo’yiladi. 5-satrda qiymat berish buyrug„i (=) yordamida a, b, s o’zgaruvchilarga 
dastlabki qiymatlar berilgan. Demak, C++ dasturlash tilida qiymat berish buyrug„i 
(=) belgisidan foydalanib yoziladi, tenglik belgisi esa matematikadagi ikkita 
tenglik belgisi orqali (==) kabi yoziladi. a,b,s larga ularni e`lon qilishda ham int 
a=5; b=12; s=a+b; kabi dastlabki qiymatlarini berish, ya ni initsializatsiyalash ‟
mumkin edi. Ko`rinib turibdiki, C++ dasturlash tilidagi buyruqlar bir-birlaridan (;) 
belgisi bilan ajratib yoziladi. Faqat sarlavha faylini e`lon qilingandan keyin va 
bosh funksiya main( ) dan keyin (;) qo`yilmaydi. 6-satrga sarlavha faylida 
aniqlangan cout operatoridan foydalanilgan bo„lib, undan o„zgaruvchilarning 
kompyuter xotirasidagi qiymatlarini ekranga chiqarish maqsadida foydalaniladi. 
cout operatordan keyin qiymati ekranga chiqarilayotgan barcha o„zgaruvchilar 
hech qanday tinish belgilarisiz .
Birinchi tartibli xosilani olish ustiga amalar
Derivatsiya va meros
Ushbu bo'limda hosila sinf tushunchasi ko'rib chiqiladi.   Hosil bo lgan sinflar C++ 	
ʻ
tilining o ta foydali xususiyati hisoblanadi, chunki ular dasturchiga mavjud 	
ʻ
sinflarni kengaytirish orqali yangi sinflarni aniqlash imkonini beradi.   Olingan 
sinflardan foydalanib, dasturchi dasturdagi sinflar orasida mavjud bo'lgan 
umumiyliklardan foydalanishi mumkin.   Turli sinflar qiymatlar, operatsiyalar va 
interfeyslarni almashishi mumkin.
Derivatsiya     - bu bir yoki bir nechta mavjud sinflarni kengaytirish orqali yangi 
sinfning ta'rifidir.   Yangi sinf   olingan sinf   deb ataladi va u   olingan     mavjud 
sinflar   asosiy sinflar   deb ataladi     .   Odatda bitta asosiy sinf mavjud.   Biroq, C++ bir 
nechta asosiy sinflarga (   bir nechta merosxo'rlikka     )   ruxsat beradi   .
Dasturda belgilangan     Shaxs   va   Ota-ona   sinflarini ko'rib chiqing   .   Ota-onalar, 
odamlar ham bor, chunki,   Ota-ona   sinf olingan   shaxs   sinf.
  C++ da Derivatsiya va Meros
Olingan sinf   o'zining barcha asosiy sinflarining barcha a'zolarini   meros qilib 
oladi     .   Ya'ni, olingan sinf asosiy sinflar tarkibidagi barcha a'zo o'zgaruvchilarni o'z
ichiga oladi va olingan sinf asosiy sinflar tomonidan taqdim etilgan barcha bir xil 
operatsiyalarni qo'llab-quvvatlaydi.   Masalan, quyidagi o'zgaruvchan 
deklaratsiyalarni ko'rib chiqing: Shaxs p;
Ota-ona q;
Yildan   p   a deb   Person   , a'zo o'zgaruvchilar bor   nomini   va   jinsiy   a'zo 
funktsiya   ismi   .   Bundan tashqari,   Ota-ona   Shaxs   dan olinganligi 
sababli   ,   q   ob'ektida   ham a'zo o'zgaruvchilar   nomi   ,   jins   va a'zo funktsiyasi   Name 
mavjud   .
Olingan sinf   asosiy sinf(lar)ni bir necha usul bilan   kengaytirishi   mumkin   : Yangi 
a'zo o'zgaruvchilari aniqlanishi, yangi a'zo funktsiyalari aniqlanishi va mavjud a'zo 
funktsiyalari   bekor   qilinishi 
mumkin     .   Masalan,   Parent   klassi   numberOfChildren   va   child   a'zo 
o'zgaruvchilari   va   Child   a'zo funktsiyasini   qo'shadi   .
Agar funktsiya asosiy sinfdagi funksiya bilan bir xil   imzoga   (argumentlar nomi va 
turlari)   ega bo'lgan hosila sinfda aniqlangan bo'lsa, olingan sinfdagi   funktsiya 
asosiy sinfdagini   bekor qiladi     .   Masalan,   But   funktsiya   Ota-ona   sinf o'rinda 
turadi   joylashtiring   vazifasini   Shaxs   sinf.   Shuning uchun,   p.Put (...)   iltijo   Shaxs :: 
qo'ying   Holbuki,   q.Put (...)   iltijo   Ota-ona :: qo'ying   .
Olingan sinfning namunasi asosiy sinfning namunasi ishlatilishi mumkin bo'lgan 
dasturning istalgan joyida ishlatilishi mumkin.   Masalan, bu   Ota-ona   funktsiyaga 
(qiymat yoki mos yozuvlar bo'yicha) haqiqiy parametr sifatida o'tkazilishi 
mumkinligini   anglatadi,   unda rasmiy parametr   Shaxs bo'ladi   .
Bundan tashqari, olingan sinf ob'ektining manzilini quyidagi kabi asosiy sinf 
ob'ektiga ko'rsatgichga belgilash mumkin:
Shaxs* ptr = yangi ota-ona;
Biroq, buni amalga oshirgandan so'ng,   ptr->Child(...)   ga qo'ng'iroq qilish mumkin 
emas   , chunki   ptr   Person   misoliga   ko'rsatgichdir   va   Shaxs   , albatta,   Ota-ona   emas   .
Xuddi shunday, biz   ota-onaga   murojaat qilish uchun   Shaxsga 
havoladan   foydalanishimiz mumkin   :
Shaxs& p = *yangi ota-ona;
Yuqoridagi kabi sabablarga ko'ra,   p.Child(...)   ni chaqirish uchun   p   havolasidan 
foydalanish mumkin emas   . Belgilangan integral turlaridan konversiyalar
Belgilangan butun son butun songa yoki suzuvchi nuqta turiga aylantirilganda, asl 
qiymat natija turida ifodalanadigan bo'lsa, qiymat o'zgarmaydi.
Belgilangan butun son kattaroq o'lchamdagi butun songa aylantirilsa, qiymat belgi 
bilan kengaytiriladi.   Kichikroq o'lchamdagi butun songa aylantirilganda, yuqori 
tartibli bitlar kesiladi.   Natija ushbu misolda ko'rsatilganidek, natija turi yordamida 
talqin qilinadi:
int i = -3;
unsigned short u;
u = i;
printf_s( "%hu\n", u );  // Prints 65533
Belgilangan butun sonni suzuvchi nuqta turiga o'tkazishda, agar asl qiymat natija 
turida aniq ko'rsatilmasa, natija keyingi yuqori yoki pastki ifodalanadigan qiymat 
bo'ladi.
Integral va suzuvchi nuqta turlarining o'lchamlari haqida ma'lumot olish 
uchun   asosiy turlarni saqlash   bo'limiga qarang   .
Quyidagi jadvalda imzolangan integral turlaridan konvertatsiyalar 
jamlangan.   Bu   char tur sukut bo'yicha imzolangan   deb taxmin qiladi   .   Agar 
siz   char tur uchun   standartni   imzosizga   o'zgartirish uchun kompilyatsiya vaqti 
opsiyasidan foydalansangiz   , ushbu jadvaldagi konvertatsiyalar o'rniga   belgisiz 
integral turlardan o'zgartirishlar   jadvalida keltirilgan   unsigned 
char konvertatsiyalar qo'llaniladi.
Microsoft-ga xos
Microsoft kompilyatorida   int va   long ular alohida, ammo ekvivalent 
turlardir.   Qiymatni   int o'zgartirish a ni o'zgartirish bilan bir xil tarzda amalga 
oshiriladi   long .
Standart konversiyalar
C++ tili uning asosiy turlari orasidagi konversiyalarni belgilaydi.   Shuningdek, u 
ko'rsatgich, mos yozuvlar va ko'rsatkichdan a'zoga olingan turlar uchun  konversiyalarni belgilaydi.   Ushbu konvertatsiyalar   standart konvertatsiyalar   deb 
ataladi   .
Ushbu bo'limda quyidagi standart konvertatsiyalar muhokama qilinadi:
long  long_num1, long_num2;
int   int_num;
// int_num promoted to type long prior to assignment.
long_num1 = int_num;
// int_num promoted to type long prior to multiplication.
long_num2 = int_num * long_num2;
 Integral reklama aktsiyalari
 Integral konversiyalar
 Suzuvchi konversiyalar
 Suzuvchi va integral konversiyalar
 Arifmetik konversiyalar
 Pointer konvertatsiyalari
 Malumot konvertatsiyalari
 Ko'rsatkichni a'zoga aylantirish
Konvertatsiya natijasi faqat mos yozuvlar turini yaratgan taqdirdagina l-qiymati 
hisoblanadi.   Misol uchun, deb e'lon qilingan foydalanuvchi tomonidan belgilangan
konvertatsiya   operator int&() havolani qaytaradi va l-qiymati hisoblanadi.   Biroq, 
deb e'lon qilingan konvertatsiya   operator int() ob'ektni qaytaradi va l-qiymati emas.
Integral reklama aktsiyalari Integral tipdagi ob'ektlar boshqa kengroq integral tipga, ya'ni kattaroq qiymatlar 
to'plamini ifodalay oladigan turga aylantirilishi mumkin.   Ushbu kengayadigan 
konvertatsiya turi   integral reklama   deb ataladi   .   Integral reklama bilan siz boshqa 
integral turi ishlatilishi mumkin bo'lgan joyda ifodada quyidagi turlardan 
foydalanishingiz mumkin:
 Ob'ektlar, harflar va turdagi konstantalar   char va short int
 Ro'yxatga olish turlari
 int   bit maydonlari
 Hisoblagichlar
C++ aksiyalari “qiymatni saqlaydi”, chunki aksiyadan keyingi qiymat aksiyadan 
oldingi qiymat bilan bir xil bo lishi kafolatlanadi.ʻ   Qiymatni saqlaydigan 
reklamalarda qisqaroq integral turdagi ob'ektlar (masalan, bit maydonlari yoki 
turdagi ob'ektlar   char ),   int agar   int asl turdagi to'liq diapazonni ifodalay 
oladigan   bo'lsa   , turga ko'tariladi   .   Agar   int qiymatlarning to'liq diapazonini 
ifodalay olmasa, ob'ekt turiga ko'tariladi   unsigned int .   Ushbu strategiya standart C
tomonidan qo'llaniladigan strategiya bilan bir xil bo'lsa-da, qiymatni saqlaydigan 
konvertatsiyalar ob'ektning "imzolanganligini" saqlamaydi.
Imzolanganlikni saqlaydigan qiymatni saqlaydigan reklama va reklama aktsiyalari 
odatda bir xil natijalar beradi.   Biroq, agar ilgari surilgan ob'ekt quyidagicha 
ko'rinsa, ular turli natijalar berishi mumkin:
 An opernadin   / ,   % ,   /= ,   %= ,   < ,   <= ,   > , yoki >=
Ushbu operatorlar natijani aniqlash uchun belgiga tayanadilar.   Qiymatni 
saqlaydigan va belgini saqlaydigan reklama aktsiyalari ushbu operandlarga 
qo'llanilganda turli natijalar beradi.
 >> yoki   ning chap operandi >>=
Ushbu operatorlar smenada imzolangan va imzolanmagan miqdorlarga 
boshqacha munosabatda bo'lishadi.   Belgilangan miqdorlar uchun o'ngga 
siljish operatsiyasi ishora bitini bo'shatilgan bit pozitsiyalariga tarqatadi, 
bo'shatilgan bit pozitsiyalari esa belgilanmagan miqdorlarda nolga to'ldiriladi.
 Argumentlarni moslashtirish uchun operand turining imzolanganligiga bog'liq
bo'lgan haddan tashqari yuklangan funksiya yoki ortiqcha yuklangan 
operatorning operandiga argument.   Haddan tashqari yuklangan operatorlarni 
aniqlash haqida ko'proq ma'lumot olish uchun   Haddan tashqari yuklangan 
operatorlar   ga qarang   . Integral konversiyalar
Integral konversiya -   bu integral turlar orasidagi konversiya.   Integral 
turlari   char ,   short (yoki   short int )   int ,   long , va   long long .   Ushbu 
turlar   signed yoki   bilan malakali bo'lishi 
mumkin   unsigned va   unsigned stenografiya sifatida ishlatilishi mumkin   unsigned 
int .
Unsigned uchun imzolangan
Belgilangan integral turdagi ob'ektlar tegishli belgisiz turlarga aylantirilishi 
mumkin.   Ushbu konvertatsiyalar sodir bo'lganda, haqiqiy bit naqshlari 
o'zgarmaydi.   Biroq, ma'lumotlarning talqini o'zgaradi.   Ushbu kodni ko'rib chiqing:
#include <iostream>
using namespace std;
int main()
{
    short  i = -3;
    unsigned short u;
    cout << (u = i) << "\n";
}
// Output: 65533
Suzuvchi nuqta konvertatsiyalari
Suzuvchi turdagi ob'ekt xavfsizroq aniqroq suzuvchi turga aylantirilishi mumkin, 
ya'ni konvertatsiya ahamiyatini yo'qotmaydi.   Misol uchun, kelgan 
Konvertatsiya   float qilish   double yoki   double uchun   long double xavfsiz va qiymati 
o'zgarishsiz bo'ladi.
Suzuvchi turdagi ob'ekt, agar u shu tur tomonidan ifodalanadigan diapazonda 
bo'lsa, unchalik aniq bo'lmagan turga ham o'zgartirilishi mumkin.   (   Suzuvchi turlar
diapazonlari uchun   Suzuvchi chegaralar   bo limiga qarangʻ   .) Agar asl qiymatni aniq
ifodalash imkoni bo lmasa, uni keyingi yuqori yoki keyingi pastki ifodalanadigan 	
ʻ
qiymatga aylantirish mumkin.   Agar bunday qiymat mavjud bo'lmasa, natija 
aniqlanmagan.   Quyidagi misolni ko'rib chiqing:
C++ Nusxalash
cout  << ( float ) 1E300  <<  endl ; Turi bo'yicha ifodalanadigan maksimal qiymat   float 3,402823466E38 - 1E300 dan 
ancha kichikroq raqam.   Shuning uchun raqam cheksizlikka aylantiriladi va natijada
"inf" bo'ladi.
Integral va suzuvchi nuqta turlari orasidagi konversiyalar
Ba'zi ifodalar suzuvchi turdagi ob'ektlarni integral turlarga yoki aksincha 
aylantirishga olib kelishi mumkin.   Agar integral turdagi ob'ekt suzuvchi turga 
aylantirilsa va asl qiymat aniq ko'rsatilmasa, natija keyingi yuqori yoki keyingi 
pastki ifodalanadigan qiymat bo'ladi.
Suzuvchi turdagi ob'ekt integral turga aylantirilganda, kasr qismi   kesiladi   yoki 
nolga yaxlitlanadi.   1,3 kabi raqam 1 ga, -1,3 esa -1 ga aylantiriladi.   Agar kesilgan 
qiymat eng yuqori ifodalanadigan qiymatdan yuqori yoki eng past ifodalanadigan 
qiymatdan past bo'lsa, natija aniqlanmagan.
Arifmetik konversiyalar
Ko'pgina ikkilik operatorlar (ikkilik operatorlari bilan   ifodalar   bo'limida 
muhokama qilingan   ) operandlarni konvertatsiya qilishga olib keladi va natijalarni 
xuddi shunday beradi.   Ushbu operatorlar keltirib chiqaradigan   konvertatsiyalar 
odatiy arifmetik konvertatsiyalar   deb ataladi   .   Turli xil mahalliy turlarga ega 
operandlarni arifmetik konvertatsiya qilish quyidagi jadvalda ko'rsatilganidek 
amalga oshiriladi.   Typedef turlari o'zlarining asosiy mahalliy turlariga ko'ra 
harakat qilishadi.
Turni o'zgartirish shartlari
T U R N I   O ' Z G A R T I R I S H   S H A R T L A R I
Shartlar bajarildi Konvertatsiya
Ikkala operand ham 
turdagi   long double . Boshqa operand turiga aylantiriladi   long double .
Oldingi shart bajarilmadi va 
operandlarning ikkalasi ham 
turdagi   double . Boshqa operand turiga aylantiriladi   double .
Oldingi shartlar bajarilmagan 
va operandlarning ikkalasi 
ham turdagi   float . Boshqa operand turiga aylantiriladi   float .
Oldingi shartlar bajarilmagan 
(operandlarning hech biri 
suzuvchi turlarga tegishli 
emas). Operandlar quyidagi tarzda integral ko'tarilishlarga 
ega bo'ladilar:
- Agar operandlardan biri ga tegishli bo'lsa   unsigned  T U R N I   O ' Z G A R T I R I S H   S H A R T L A R I
Shartlar bajarildi Konvertatsiya
long , boshqa operand turiga aylantiriladi   unsigned 
long .
- Agar oldingi shart bajarilmasa 
va   operandlardan   long biri turdagi   unsigned 
int ,   ikkinchisi esa turdagi bo'lsa   , ikkala operand ham
turiga aylantiriladi   unsigned long .
- Agar oldingi ikkita shart bajarilmasa va 
operandlardan biri ga tegishli bo'lsa   long , boshqa 
operand type ga o'tkaziladi   long .
- Agar oldingi uchta shart bajarilmasa va 
operandlardan biri ga tegishli bo'lsa   unsigned int , 
boshqa operand type ga o'tkaziladi   unsigned int .
- Agar oldingi shartlarning hech biri bajarilmasa, 
ikkala operand ham turiga o'tkaziladi   int .
Quyidagi kod jadvalda tasvirlangan konversiya qoidalarini ko'rsatadi :
double dVal;
float fVal;
int iVal;
unsigned long ulVal;
int main() {
   // iVal converted to unsigned long
   // result of multiplication converted to double
   dVal = iVal * ulVal;
   // ulVal converted to float
   // result of addition converted to double
   dVal = ulVal + fVal;
}
Oldingi misoldagi birinchi ibora ikkita integral turini ko'paytirishni 
ko'rsatadi   iVal va   ulVal .   Amalga oshirilgan shart shundan iboratki, hech bir operand suzuvchi 
turdagi emas va bitta operand   unsigned int .   Shunday qilib, boshqa operand,   iVal , turiga  aylantiriladi   unsigned int .   Keyin natija ga tayinlanadi   dVal .   Bu erda bajarilgan shart bitta operand 
turdagi bo'ladi   double , shuning   unsigned int uchun ko'paytirish natijasi turga aylanadi   double .
Oldingi misoldagi ikkinchi ibora a   float va integral turini qo'shishni 
ko'rsatadi:   fVal va   ulVal .   ulVal O'zgaruvchan kiriting aylanadi   float (jadvalda uchinchi 
shartni).   Qo'shish natijasi turga aylantiriladi   double (jadvaldagi ikkinchi shart) va ga 
tayinlanadi   dVal .
Pointer konvertatsiyalari
Ko'rsatkichlarni  belgilash, ishga tushirish, taqqoslash va boshqa ifodalar paytida 
aylantirish mumkin.
Sinflarga ko'rsatgich
Sinfga ko'rsatgichni asosiy sinfga ko'rsatgichga aylantirish mumkin bo'lgan ikkita 
holat mavjud.
Birinchi holat, ko'rsatilgan asosiy sinfga kirish mumkin bo'lgan va konvertatsiya 
bir ma'noli bo'lsa.   Noaniq asosiy sinf havolalari haqida ko'proq ma'lumot olish 
uchun   bir nechta asosiy sinflarga   qarang   .
Asosiy sinfga kirish mumkinmi yoki yo'qmi, derivatsiyada ishlatiladigan meros 
turiga bog'liq.   Quyidagi rasmda ko'rsatilgan merosni ko'rib chiqing.
Asosiy sinfga kirish imkoniyatini tasvirlash uchun meros grafigi
Quyidagi jadvalda rasmda ko'rsatilgan vaziyat uchun tayanch sinfga kirish 
imkoniyati ko'rsatilgan.
2 - J A D V A L
Funktsiya turi Hosil qilish Dan konvertatsiya
A * yuridik B *?
External (not class-scoped) function Private No
Protected No
Public Yes 2 - J A D V A L
Funktsiya turi Hosil qilish Dan konvertatsiya
A * yuridik B *?
B member function (in B scope) Private Yes
Protected Yes
Public Yes
C member function (in C scope) Private No
Protected Yes
Public Yes
The second case in which a pointer to a class can be converted to a pointer to a 
base class is when you use an explicit type conversion. For more information about
explicit type conversions, see   Explicit type conversion operator .
The result of such a conversion is a pointer to the   subobject , the portion of the 
object that is completely described by the base class.
The following code defines two classes,   A   and   B , where   B   is derived from   A . (For 
more information on inheritance, see   Derived Classes .)  It then defines   bObject , an 
object of type   B , and two pointers ( pA   and   pB ) that point to the object.
// C2039 expected
class A
{
public:
    int AComponent;
    int AMemberFunc();
};
class B : public A {
public:
    int BComponent;
    int BMemberFunc();
};
int main()
{
   B bObject;
   A *pA = &bObject;
   B *pB = &bObject;
   pA->AMemberFunc();   // OK in class A
   pB->AMemberFunc();   // OK: inherited from class A
   pA->BMemberFunc();   // Error: not in class A
}

Mavzu:C++ dasturlsh tilida standart matematik funksiyalarning birinchi hosilasini topish. Reja: Kirish. I BOB. C++ dasturlash tili haqida qisqacha ma’lumot. 1.1 C++ dasturlash tilida va kutubxonalar. 1.2 C++ dasturlash tilida math.h kutubxonasidan nima uchun kerak? 1.3 C++ dasturlash tilida birinchi tartibli xosilani olish ustiga amalar. II BOB.Murakab jarayonlardadasturlashda standart funksiyalar va ular ustiga amallar. 2.1 Murakab jarayonlarda C++ kutubxonasi bilan ishlash. 2.2 Murakkab jarayonlarda C++ math.h smath funksiyalari bilan ishlash. 2.3 Murakab jarayonlarda C++ birinchi tartibli hosilasini olish jarayoni. III Xulosa

Kirish Kundan kunga tobora o„sib borayotgan axborot oqimi, axborot texnologiyalarining to’xtovsiz rivojlanishi, kompyuterda yechilishi kerak bo’lgan masalalar ko„lamining kengayishi va murakkablashuvi ushbu texnologiyalardan foydalanuvchilarning oldiga yangidan yangi vazifalarni qo’ymoqda. Bugungi kunda ma’lumotlar oqimining ko’pligi tufayli ularni qisqa vaqt ichida jamlash, saqlash va qayta ishlash ham muammo bo’lmoqda. Shuning uchun axborotkommunikasiya vositalari barcha turdagi tashkilot va muassasalarga shiddat bilan kirib kelmoqda. Axborotlarning haddan tashqari ko’pligi bu axborotlarni saqlashda, qayta ishlashda, hamda har xil turdagi tizimlarni yaratish, ulardan samarali foydalanishni va axborot tizimlarini yaratishni talab qiladi. O’zbekiston Respublikasi Prezidentining 2017 yil 7 fevraldagi PF-4947-son farmoni bilan tasdiqlangan 2017-2021 yillarda O’zbekiston Respublikasini rivojlantirishning beshta ustuvor yo„nalishi bo’yicha harakatlar strategiyasi mamlakatning davlat va jamiyat rivojlanishi istiqbolini strategik rejalashtirish tizimiga sifat jihatdan yangi yondashuvlarni boshlab berdi. Unda belgilangan vazifalar sirasida ta’lim va fan sohasini rivojlantirishga ham alohida e’tibor berilgan. O’zbekiston Respublikasi birinchi Prezidentining 2012 yil 21 martdagi “Zamonaviy axborot-kommunikasiya texnologiyalarini joriy etish va rivojlantirish chora-tadbirlari to’g’risida”gi PQ-1730 qarori hamda “O’zbekiston Respublikasida “Elektron ta’lim milliy tarmog’ini yaratish” investitsion loyihasini amalga oshirish chora-tadbirlari to’g’risida” gi PQ-1740 qarori va boshqa bu sohaga taalluqli me’yoriy hujjatlar algoritmik ta’minot ishlab chiqish va joriy etishning juda keng ko’lamli ekanligidan dalolat beradi. Barcha tashkilot va muassasalarda avtomatlashtirilgan tizimlar yaratish va ulardan keng ko’lamda foydalanishga erishishda algoritmlashtirishning o’rni katta hisoblanadi. Axborot tizimlari axborotni to’plash, saqlash va qayta ishlash uchun, keng ko’lamli maqsadlarda samarali foydalanish uchun xizmat qiladi. Zamonaviy axborotlashtirish tizimi, ma’lumotlar integratsiyasi konsepsiyasiga asoslangan katta hajmdagi ma lumotlarni saqlash bilan tavsiflanadi va ko’p sondagi foydalanuvchilarning‟ turli xildagi talablariga javob berishi kerak bo’ladi. C++ dasturlash tili tarkibida bir nechta imkoniyatlar mavjud, ya’ni consol rejimi, forma ob’yekt rejimi, grafik muhiti va ma’lumotlar bazasi bilan ishlash imkoniyatlari keng joriy etilgan. Ushbu qo’llanmada keltirilgan misol va masalalarning yechimi dasturining int main funksiyasi tarkibini C++ dasturlash tilinining ixtiyoriy versiyalarida ishlatib ko’rish mumkin. Qo’llanma oliy o’quv yurtlari talabalari va magistrantlari, litsey, kasb-hunar kollejlari talabalari hamda mustaqil o„rganuvchilar uchun qulay manba hisoblanadi.

C++ dasturlash tili haqida qisqacha ma’lumot. Axborot texnologiyalarining jadal sur’atlar bilan rivojlanishi, o’z navbatida dasturlash tillarining rivojlanishiga olib keldi. Dastlabki EHMlar yaratilgan davrdan boshlab dasturlash tillari ham to’xtovsiz rivojlanib kelmoqda. Birinchi avlod mashinalari bilan ishlashda dasturchilar eng sodda mashina tilini o’zida ifodalovchi kompyuter buyruqlari bilan ishlaganlar. Bu buyruqlar uzun qatorli nol va birlar ketma-ketligidan iborat bo’lgan. Keyinchalik foydalanuvchi uchun nisbatan qulay va tushunarli bo’lgan assembler tili yaratiladi. Yillar o’tishi bilan yuqori darajali dasturlash tillari yaratila boshlandi. Yuqori darajali algoritmik tillarda dastur foydalanuvchi tushunadigan ma lum bir standartlar yordamida‟ yaratiladi. Yuqori darajali algoritmik tillarda tuzilgan dastur kompyuter tiliga maxsus interpretator va komplyatorlar deb ataluvchi dasturlar yordamida o„tkaziladi. Elektron xisoblash mashinalari avlodlari rivojlanib borishi bilan bir vaqtda dasturlash tillari ham rivojlandi. Dasturlash tillarida tuzilgan dasturlar tarkibidagi buyruqlarning soddaligi(hammabopligi), uni bajarish uchun kompyuter sarflaydigan vaqt va kompyuter xotirasidan kam joy egallashi bilan bir-biridan farq qiladi. Shuning uchun dasturlashga ham talablar o’zgarib bordi va bu holat nafaqat dasturlashni balki dastur yozish texnologiyalarining ham o’zgarishiga olib keldi. Hozirga qadar bir necha o„nlab dasturlash tillari yaratilgan. Lekin keyingi yaratilgan dasturlash tillari o„zidan oldingilarining kamchiliklarini to’ldirib borganligi uchun oldingilaridan dasturchilar foydalanishmaydi. Bugungi kunda amalda foydalaniladigan, ayniqsa ta’lim jarayonida o’rganiladigan zamonaviy dasturlash tillari Paskal, C++, Java, PHP, Python tillardir. So’ngi yillarda Java, C+ + va Python dasturlash tillari tobora ommalashib bormoqda. Mazkur tillardagi imkoniyatlar zamonaviy axborot texnologiyalarining hamma talablariga javob beradi va unda dastur tuzuvchi uchun juda katta qulayliklar movjud. Mavjud tillar katta 2 ta guruhga bo`linadi: 1) Tabiiy tillar. 2) Bu odamlar o`zaro muloqotda bo`ladigan tillar (o`zbek, qozoq, ingliz va hokazo). 3) Sun iy tillar. Sun iy tillar yaxshigina kodlangan bo`ladi. Shuning uchun ‟ ‟ masala dasturini masala kodi ham deyishadi. Kodlash 2 xil maqsadda amalga oshiriladi:

a) katta hajmdagi ma’lumotlarni qisqacha ifodalash maqsadida. Masalan, Samarqand davlat universitetining kodi - SamDU, Davlat test markazning kodi - DTM, oziq-ovqat mahsulotlari, yengil sanoat, og`ir sanoat, ta’lim dargohlarining nomlari ham ularning kodlaridir. Odamlarning ismlari, hatto laqablari, masalan, xo`jayin, baqaloq, lampa shisha, novcha va hokazolarning barchasi kodlangan ma’lumotlardir. b) maxfiylikni saqlash maqsadida. Bunday usulda kodlangan ma’lumotlarni hamma ham tushunavermaydi. Faqat tor doiradagi odamlargina tushunadi. Maxfiy holda kodlashning ham har xil usullaridan foydalaniladi. Masalan, raqamlar orqali, hayvonlar nomlari orqali, qisqacha so`zlar orqali kodlanadi va hakoza. Bunday usulda kodlashdan josuslar, maxfiy xizmat vakillari ko`p foydalanishadi. Masalan, 16-obyekt yo`qoldi, chiroq yonmadi, mashina portladi, ikkinchini olib tashlang va hokazo bunday fikrlarning har biri qandaydir obyekt, voqea va hodisalarning kodlaridir. Har bir dasturlash tili alfavitiga ushbu tilda dastur tuzish jarayonida foydalaniladigan barcha belgilar kiradi. U holda C++ dasturlash tili alifbesiga quyidagilar kiradi: 1. Lotin alifbesi harflari; 2. Raqamlar: 0; 1; 2; 3; 4; 5; 6; 7; 8; 9; 3. Tinish belgilari: (.); (;); (,); (:); 4. Qavslar: (); {}; []; 5. Amal belgilari: +; -; *; /; 6. Maxsus belgilar: !; %; #; ?;&; ^; Arifmetik amallar va ularning bajarilish tartibi Matematikada bo’lgani kabi C++ dasturlash tilida ham 4 ta arifmetik amal(+; -; *;/)lardan foydalaniladi. Ularning bosqichlarga bo’linishi, bajarilish tartibi, qavslar ishtirokidagi bajarilish tartibi matematikadagi tartibidan farq qilmaydi. Masalan: Misollar ketmaket bajariladi (+) kelsa yoki (-) minu bajariladi. 1) 26-3+18-76+53; 2) 38/2*x/12*45/y BU amalarda ham shunday yani ketmakit tartibga bajariladi. 4) 14-155/4+3*x+24/8*5-98*4/16; 5) 24+(96/24*6-(18/5+2*c/7+6*(216/3/4+3*2)))

Eslatma: matematikada ba’zi hollarda, ayniqsa, harfiy va qavsli ifodalarda ko„paytirish amali oshkor yozilmaydi. C++ dasturlash tilida barcha amallar oshkor yozilishi shart. Masalan, 1) 2x+5y-2*x+5*y 2) 3(7a-5)-3*(7*a-5) kabi yozuvlar xato hisoblanadi. Ularning to’g’ri yozuvi quyidagicha 1) 2*x+5*y-2*x+5*y 2) 3*(7*a-5)-3*(7*a-5) Bundan tashqari C++ dasturlash tilida quyidagi amallardan ham foydalaniladi: 1. Darajaga ko’tarish amali pow(x,n) funksiyasi yordamida bajariladi: 2. pow(x,n)= ; pow(3,4)=81; 2. n%m – amali n butun sonini m butun soniga bo’lganda qoldiqni hisoblaydi va qoldiqqa bo’linuvchi ishorasi beriladi. Masalan, 37%32=5; -43%8=-3; 64%(-12)=4; C++ dasturlash tilida va kutubxonalar. Barcha dasturlash tillarida matematikada bizga tanish bo’lgan funksiyalardan foydalaniladi. Ularning ichida nomini uchratgach, uni dasturlash tili tanisa, ya’ni ko„rsatilgan argument bo’yicha funksiyaning qiymatini hisoblovchi dastur bo’lsa, bunday funksiyalar standart funksiyalar deyiladi. Boshqa dasturlash tillarida bo’lgani kabi C++ dasturlash tilida ham funksiya argumenti unung nomidan keyin qavs ichiga olib yoziladi. Quyida standart funksiyalar ro’yxati keltirilgan : abs (x) → |x|, bunda x – butun son fabs (x) → |x|, bunda x – haqiqiy son sin (x) → sin x, bunda x – radianda beriladi cos (x) → cos x, bunda x- radianda beriladi tan (x) → tg x, bunda x - radianda beriladi sqrt (x) → √ , bunda x – haqiqiy son exp (x) → ex , bunda x – haqiqiy son log (x) → ln x, bunda x – haqiqiy musbat son log 10(x) → lg x, bunda x – haqiqiy musbat son asin (x) → arcsin x, bunda x – radianda beriladi acos (x) → arccos x, bunda x - radianda beriladi atan (x) → arctg x, bunda x - radianda beriladi