logo

C++ dasturlash tilida shartli operatolar

Yuklangan vaqt:

12.08.2023

Ko'chirishlar soni:

0

Hajmi:

43.865234375 KB
Mundarija
Kirish ............................................................................................................................................................ 2
Nazariy qism ................................................................................................................................................ 4
C++ dasturlash tili haqida ........................................................................................................................ 4
C++ tilining leksemmasi ........................................................................................................................... 5
Operator tushunchasi .............................................................................................................................. 9
Amaliy qism ............................................................................................................................................... 18
C++ dasturlash tilida shartli operatolar .................................................................................................. 18
C++ If else Operatori .............................................................................................................................. 22
Xulosa ........................................................................................................................................................ 27
FOYDALANILGAN ADABIYOTLAR RO‘YXATI ................................................................................................ 28 Kirish
Hozirgi vaqtda axborot-kommunikasiya vositalari barcha turdagi tashkilot va
muassasalarga shiddat bilan kirib kelmoqda. Hozirgi davrda axborotlarning haddan
tashqari ko’pligi bu axborotlarni saqlashda, qayta ishlashda, hamda har xil turdagi
tizimlarni yaratish, ulardan keng foydalanishni va axborot tizimlari yaratishni talab
qiladi.
O’zbekiston   Respublikasi   Prezidentining   2012   yil   21   martdagi   ―Zamonaviy
axborot-kommunikasiya   texnologiyalarini   yanada   joriy   etish   va   rivojlantirish
chora-tadbirlari   to’g‘risida gi   PQ-1730   Qarori   hamda   ―O’zbekiston‖
Respublikasida ―Elektron ta‘lim milliy tarmog‘ini yaratish  investision loyihasini	
‖
amalga   oshirish   chora-tadbirlari   to’g‘risida   gi   PQ-1740   Qarori   va   me‘yoriy	
‖
hujjatlar   asosida   algoritmiy   ta‘minot   ishlab   chiqish   va   joriy   etish   keng   ko’lamli
hisoblanadi.   Barcha   tashkilot   va   muassasalarda   avtomatlashtirilgan   tizimlar
yaratish ulardan keng ko’lamda foydalanish uchun algoritmlash tillarini o’rni katta
hisoblanadi.
Axborot   tizimlari   axborotni   to’plash,   saqlash   va   qayta   ishlash   uchun,   keng
imkoniyatli 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.
Axborot   tizimi   va   axborot   texnologiyalarining   avtomatlashtirilgan   elementlarini
qo’llash   va   avtomatlashtirish   asosida   yangi   axborot   texnologiyasini   yaratish
avtomatlashtirish   tizimlarini   loyihalashtiruvchilarning   asosiy   vazifalaridan   biri
hisoblanadi.   Avtomatlashtirilgan   tizimlarni   yaratish   uchun   albatta   birinchi
navbatda   muommo   obektini   infologik   yoki   diskretli   modelini   qurish   dolzarb
hisoblanadi.   Infologik   yoki   diskretli   modelni   muommo   obektiga   qarab
algoritmlash   tillarini   qaysi   biri   asosida   yaratish   kerakligini   tanlab   olinish   kerak.
Elektron   hisoblash   mashinalarini   birinchi   avlodlari   yaratilishi   bilan   algoritmlash
tillarini   rivojlanishi   ham   boshlandi.   Avval   algoritm   tuzuvchi   mutaxassislar   eng
sodda  mashina  tilini  o’zida  ifodalovchi   kompyuter   komandalari  bilan  ishlaganlar.
Bu   komandalar   nol   va   birlardan   iborat   uzun   qatorlardan   tashkil   topgan   edi.
Keyinchalik   insonlar   uchun   tushunarli   bo’lgan   mashina   komandalarini   o’zida
saqlovchi assembler tili yaratildi. Shu vaqtlarda BASIC va COBOL singari yuqori
sathli   tillar   ham   paydo   bo’ldiki,   bu   tillar   yordamida   so’z   va   gaplarning   mantiqiy
konstruksiyasidan foydalanib algoritmlash imkoniyati yaratildi. Ular komandalarni
mashina tiliga interpretatorlar va kompilyatorlar yordamida o’tkazar edi.
Algoritmlash tillari yaratilishi bo’yicha uchta turga ajratiladi:
-quyi darajadagi; -o’rta darajadagi;
-yo’qori darajadagi.
Bizga   ma‘lumki,   ma‘lum   bir   masalani   yechish   uchun   buyruqlar   ketma-
ketligi   ya‘ni   algoritmni   algoritmlash   tilida   yozilishida   kamroq   komandalardan
foydalanilsa, bunday tillar darajasi yuqoriroq hisoblanadi.
Quyi   darajadagi   algoritmlash   tillari   bevosita   kompyuter   qurilmalari   bilan   bog‘liq
bo’lib   buyruqlar   ularning   kodlari   bilan   yoziladi.   Bu   kabi   buyruqlardan   tashkil
topgan   algoritmlar   katta   hajmli   bo’lib,   ularni   taxrirlash   mushkul   hisoblanadi.
Dastlabki   kompyuterlar(ENIAK,   MESM   va   boshqalar)   ana   shunday   tillarda
ishlardi.
O’rta darajadagi algoritmlash tillari buyruqlarida faqat raqamlar emas, balki
insonlar tushunadigan bazi so’zlar ishlatila boshlandi(Assemblaer).
Yuqori darajadagi algoritmlash tillari quyidagicha bosqichlarga bo’linadi:
Algoritmik(Basic, Pascal, C va b.)
Mantiqiy(Prolog, Lisp va b.)
Obe‘ktga mo’ljallangan(Object Pascal, C++, Java va b.)
Algoritmlash   tillarida   yaratilgan   algoritmlar   mashina   tiliga   Translyatorlar
yordamida o’tkaziladi.
Translyator(translator-tarjimon)   biror   bir   algoritmlash   tilida   yozilgan
algoritmni mashina tiliga tarjima qiladi.
Translyatorlar ikki turda bo’ladi:
-Kompilyatorlar(compiler-yig'uvchi)   biror   bir   algoritmlash   tilida   yozilgan
algoritmni mashina tiliga to’liq o’qib olib tarjima qiladi.
-Interpretatorlar(interpreter   —izohlovchi,   og‘zaki   tarjimon)   biror   bir   algoritmlash
tilida yozilgan algoritmni mashina tiliga satrma satr tarjima qiladi.
Translyatorlarni   bu   ikkala   turi   bir   biridan   farq   qiladi.   Komplyatsiya   qilingan
algoritmlar   bir   muncha   kam   vaqt   talab   etadi,   ya‘ni   tezroq   ishlaydi,   lekin
interpretatsiya qilingan algoritmlarni o’zgartirish osonroq hisoblanadi.
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   intmain   funksiyasi   tarkibini   C++   dasturlash
tilinining   ixtiyoriy   versiyalarida   ishlatib   ko’rish   mumkin.   Qo’llanma   oliy   o’quv
yurtlari   talabalari   va   magistrantlari,   litsey   kasb   hunar   kollej   o’quvchilari   hamda
mustaqil o’rganuvchilar uchun qulay vosita hisoblanadi. Nazariy qism
C++ dasturlash tili haqida
Butun dunyoda informatika va axborot texnologiyalarining rivojlanishi bilan
bir qatorda dasturlash asoslari  ham keng rivojlanib bormoqda. Dasturlash asoslari
fanining   asosi   bo’lmish   dasturlash   tillari   ham   keng   ommalashib   bormoqda.
Birinchi   EHM   yaratilgan   davrdan   boshlab   dasturlash   ham   rivojlanib   bormoqda,
dastlabki   kompyuterlar   AQSH   da   harbiy   maqsadlar   yo’lida   yaratilgan.   Dastlab
dasturchilar   eng   sodda   mashina   tilini   o’zida   ifodalovchi   kompyuter   komandalari
bilan   ishlaganlar.   Bu   komandalar   uzun   qatorli   nol   va   birlardan   iborat   bo’lgan.
Keyinchalik   foydalanuvchi   uchun   tushunarli   bo’lgan   assembler   tili   yaratiladi.
Keyinchalik   sekin   asta   yuqori   bosqichli   tillar   yaratila   boshlandi,   yuqori   bosqichli
algoritmik   tillarda   dasturni   foydalanuvchi   tushunadigan   ma‘lum   bir   standartlar
yordamida   yaratiladi.   Yuqori   bosqichli   algoritmik   tillarda   tuzilgan   dasturni
kompyuter tiliga maxsus interpretator va komplyatorlar yordamida o’tkazilardi. 
Elektron   xisoblash   mashinalari   avlodlari   rivojlanib   borishi   bilan   bir   vaqtda
dasturlash va dasturlash tillari ham keskin rivojlandi. Dasturlash tillarida tuzilgan
dastur   tarkibidagi   bo’yruqlarning   soddaligi   va   kompyuter   xotirasidan   kam   joy
egallashi bilan katta farq qiladi. Yuqoridagi jarayonlarni hisobga olib dasturlashga
ham   talablar   o’zgarib   bordi,   nafaqat   dasturlashni   balki   dastur   yozish
texnologiyasini   ham   o’zgarishiga   olib   keldi.   Dasturlash   asoslari   fani   bu   elektron
hisoblash   mashinalarining   boshqaruvchi   fan   deb   ham   yuritish   mumkin.   Chunki
elektron   hisoblash   mashinalarining   asosi   bo’lmish   dasturiy   ta‘minotlar   ham
insoniyat tomonidan ma‘lum bir qoida va buyruqlar asosida yaratiladi Ayni vaqtda
bir   nechta   dasturlash   tillari   mavjud   ulardan   keng   qo’llaniladigan   va   barcha
imkoniyatlari   keng   bo’ganlari   C++,   Java,   PHP   va   hakozalar   sanaladi.   So’ngi
yillarda   Java   va   C++   dasturlash   tillari   juda   takomillashib,   tobora   ommalashib
bormoqda.   Mazkur   tillardagi   vositalar   zamonaviy   axborot   texnologiyasining
hamma   talablarini   o’z   ichiga   olgan   va   unda   dastur   tuzuvchi   uchun   ko’pgina
qulayliklar yaratilgan. 
C++ dasturlash tili 1980 yillar boshida Byarne Straustrup tomonidan C tiliga
asoslangan   tarzda   tuzildi.   C   dasturlash   tili   1972-yil   Denis   Pitch   va   Brayan
Kornegilar   tomonidan   yaratilgandi.   C++   juda   ko’p   qo’shimchalarni   o’z   ichiga
olgan, lekin eng asosiysi u obyektlar bilan dasturlashga imkon beradi. Dasturlarni
tez   va   sifatli   yozish   hozirgi   kunda   katta   ahamiyatga   ega.   Grafik   interfeysga   ega
dasturlarni   yaratish   uchun   ob‘yektga   mo’ljallangan   dasturlash   tayanch   baza
hisoblanadi. Ob‘yektga mo’ljallangan dasturlashning asosiy maqsadi berilganlar va
ular ustida amal bajaruvchi proseduralarni yagona ob‘yekt sifatida qarashidir. 23  C++ tilining leksemmasi
C++ tiliga boshqa dasturlash tillariga nisbatan ko’pgina yangiliklar kiritilgan
bo’lib,   tilning   imkoniyati   yanada   kengaytirilgan.   C++   dasturlash   tili   ham   boshqa
dasturlash tillari kabi o’z alfavitiga va belgilariga ega. 
Tilning mavjud alfavit va belgilariga quyidagilar kiradi: 
1. Katta va kichik lotin alfaviti harflari; 
2. Raqamlar - 0,1,2,3,4,5,6,7,8,9; 
3. Maxsus belgilar: ‘ {} | [] () + - / % \ ; ' : ? <=>_ ! & ~ # ^ . * 
Tilning alfavit belgilaridan tilning leksemalari shakllantiriladi: 
1.Identifikatorlar; 
2.Kalit (xizmatchi yoki zahiralangan) so’zlar; 
3.O’zgarmaslar; 
4.Amallar; 
5.Ajratuvchilar. 
C++ dasturlash tilida tuzilgan dasturlarda izohlar istalgan joyda berilishi mumkin.
Izohlar ikki turda bo’ladi ular  satriy  va  blokli  ko’rinishlarda bo’ladi. Satriy izohlar
uchun ―//  belgi ishlatiladi, blokli izohlar uchun ―/* , ―*/  belgilari ishlatiladi. ‖ ‖ ‖
Dastur-   dasturlash   tilida   ma‘lum   bir   masala   yoki   muommoni   hal   etish   uchun
yozilgan chekli sondagi bo’yruqlar ketma- ketligi. 
Identifikator-   dastur   tarkibidagi   o’zgaruvchi,   o’zgarmas,   funksiya,   prosedura   va
ob‘yektlarni belgilashda ishlatiladigan nomlardir. 
Kalit so ’ zlar-  dastur tarkibidagi malum bir vazifani bajaruvchi so’zlarga aytiladi. 
O'zgarmas-   dastur   bajarilish   vaqtida   o‘z   qiymatini   o’zgartirmaydigan
identifikatorlarga aytiladi. 
Amal-  dastur tarkibida yoziladigan matematik yoki mantiqiy amallarga aytiladi. 
Ajratuvchi-  dastur tarkibidagi buyruq va ifodalarni bir biridan ajratilishiga aytiladi. C++dasturlash   tilida   ishlatiladigan
belgili   o’zgarmaslar   jadvali
quyidagicha. Belgining yozilishi  Belgining nomlanishi va unga mos
amal 
\\ Teskari yon chiziqni chop etish 
\‘ Apostrofni chop etish 
\‖ Qo’shtirnoqni chop etish 
\? So’roq belgisi 
\a Tovush signalini berish 
\b Kursorni   1   belgi   o’rniga   orqaga
qaytarish 
\f Sahifani o’tkazish 
\n Qatorni o’tkazish 
\r Kursorni   ayni   qatorning   boshiga
qaytarish 
\t Kursorni   navbatdagi   tabulyatsiya
joyiga o’tkazish 
\v Vertikal tabulyatsiya (pastga) 
C++   dasturlash   tili   tarkibidagi   barcha   o’zgaruvchilari   qandaydir   turlarga
mansub   bo’ladi,   chunki   o’zgaruvchi   e‘lon   qilingandan   so’ng   kompyuter
xotirasidan  o’zgaruvchi   uchun joy  ajratiladi.  Dasturlash  tillarida  dastur   bajarilishi
paytida   qandaydir   berilganlarni   saqlab   turish   uchun   o’zgaruvchilar   va
o’zgarmaslardan   foydalaniladi.   O’zgaruvchi-dastur   obyekti   bo’lib,   xotiradagi   bir
nechta   yacheykalarni   egallaydi   va   berilganlarni   saqlash   uchun   xizmat   qiladi.
Dastur   ishlashi   mobaynida   qiymatlari   o’zgarishi   mumkin   bo’lgan   identifikatorga
o’zgaruvchilar   deyiladi.   O’zgaruvchi   o‘z   nomiga,   o’lchamiga   va   boshqa
atributlarga,   xususiyatlarga   ega   bo’ladi.   O’zgaruvchilarni   ishlatish   uchun   ular
albatta   e‘lon   qilinishi   kerak.   E‘lon   natijasida   o’zgaruvchi   uchun   xotiradan
qandaydir soha zahiralanadi, soha o’lchami esa o’zgaruvchining aniq turiga bog’liq
bo’ladi.   C++   tilida   o’zgaruvchi   e‘loni   uning   turini   aniqlovchi   kalit   so’zi   bilan
boshlanadi   va   ‘=‘   belgisi   orqali   boshlang’ich   qiymat   beriladi   (shart   emas).   Bitta
kalit   so’z   bilan   bir   nechta   o’zgaruvchilarni   e‘lon   qilish   mumkin.   Buning   uchun o’zgaruvchilar   bir-biridan   ‘,‘   belgisi   bilan   ajratiladi.   E‘lonlar   ‘;‘   belgisi   bilan
tugaydi.  O’zgaruvchi nomi 255 belgidan oshmasligi kerak.        
O’zgaruvchilarni   e‘lon   qilish   dastur   matnining   istalgan   joyida   amalga
oshirilishi mumkin. 
Butun   son   turlari.   Butun   son   qiymatlarni   qabul   qiladigan   o’zgaruvchilar.   Butun
tur int, shorint, longint, long kalit so’zlari bilan aniqlanadi. 
Belgi   turi.   Belgi   turidagi   o’zgaruvchilar   char   kalit   so’zi   bilan   beriladi   va   ular
o’zida   belgining   ASCII   kodini   saqlaydi.   Belgi   turidagi   qiymatlar   nisbatan
murakkab   bo’lgan   tuzilmalar   –   satrlar,   belgilar   massivlari   va   hokazolarni   hosil
qilishda ishlatiladi. 
Haqiqiy   son   turi .   Haqiqiy   son   qiymatlarni   qabul   qiladigan   o’zgaruvchilar.   Bu
turdagi   o’zgaruvchi   uchun   xotiradan   4   bayt   joy   ajratiladi   va   ular   float,   double
so’zlari bilan aniqlanadi. 
Mantiqiy tur.  Bu turdagi o’zgaruvchi bool kalit so’zi bilan e‘lon qilinib, xotiradan
1   bayt   joy   egallaydi   va   0   (false,   yolg’on)   yoki   (true,   rost)   qiymat   qabul   qiladi.
Mantiqiy   tur   o’zgaruvchilar   qiymatlar   o’rtasidagi   munosabatlarni   ifodalaydigan
mulohazalarni rost (true) yoki yolg’on (false) ekanligi tavsifida qo’llaniladi va ular
qabul qiladigan qiymatlar matematik mantiq qonuniyatlariga asoslanadi. Mantiqiy
mulohazalar ustida uchta amal aniqlangan: 
C++   dasturlash   tilida
o’zgaruvchi   turlari   va
qiymatlari   jadvali
quyidagicha:  Tur nomi Baytlardagi o‘lchami  Qiymat chegarasi 
Butun tur 
bool  1 
Unsigned short int  2  0..65535 
Short int  2  -32768..32767 
Unsigned long int  4  0..42949667295 
Long int  4  -
2147483648..21474836
47 
int(16 razryadli)  2  -32768.. 32767 
Int (32 razryadli)  4  - 2147483648..21474836
47 
C++ dasturlash tili tarkibida dastur tuziladigan vaqtda albatta matematik ifodalar, 
amal ishoralar va mantiqiy amallar ishtirok etishi mumkin. Dastur dasturlash 
tillarida amallar matematikadan yozilishi bilan farq qiladi. Dasturlash asoslarida 
amallarni ikki turga ajratamiz: 
-arifmetik amallar; 
-mantiqiy amallar; 
Arifmetik amallar 
Berilganlarni qayta ishlash uchun dasturlash tillarida amallarning juda keng 
majmuasi aniqlangan. Amal - bu qandaydir harakat bo’lib, u bitta (unar) yoki 
ikkita (binar) operandlar ustida bajariladi, hisob natijasi uning qaytaruvchi qiymati 
hisoblanadi. 
Tayanch arifmetik amallar 
dasturlash tilida quyidagicha 
yoziladi. Matematik ifodasi  C++ tilida ifodasi  Izoh 
+  +  qo’shish 
-  -  Ayirish 
∙  *  ko’paytirish 
:  /  bo’lish 
qoldiq  %  qoldiqli bo’lish 
  Operator tushunchasi
Qiymat berish operatori 
Berilgan ifodaning natijasi hisoblangandan so’ng ifodaning natijasi biror bir
o’zgaruvchiga   ta‘minlanadi.   Natijani   saqlaydigan   o’zgaruvchi   kompyuter
xotirasidan joy egallaydi. 
Tarif:   Ifodaning   natijasi   biror   bir   o’zgaruvchiga   ta‘minlansa   yoki
o’zlashtirilishiga  qiymat berish  jarayoni deyiladi. 
Qiymat   berish   amallari   guruhi,   xususan,   qiymat   berish   operatorlari   ifoda
operatorlari   hisoblanadi.   Qiymat   berish   operatori   har   doim   ham   ifoda   natijasini
o’zida saqlash emas ba‘zi hollarda funksiya parametrlari va sanagich qiymatlarini
hisoblash uchun ham ishlatiladi. 
Qiymat berish operatorining umumiy ko’rinishi quyidagicha. 
<o‘zgaruvchi>=<ifoda>; 
Qiymat   berish   operatorining   C++dasturlash   tilida
quyidagicha ifodalanadi. #include <iostream.h> 
int main () 
{ int a=10; int b=6; // a va b larni e‘lon qilish 
a=a+b; // a ga a+b ni qiymati ta‘minlandi 
b=a-b; // b ga a-b ni qiymati ta‘minlandi 
return 0; 
} 
Misol:  a  sonini qiymatini 2 ga ko’paytirib oldingi holatiga qo‘shing. #include 
<iostream.h> 
int main () 
{ int a=10; // a o’zgarmasni e‘lon qilish 
a=a+2*a; // a ga 2a ni qiymati qushildi 
return 0; 
} Qiymat berish operatori biror o’zgaruvchiga qiymat ta‘minlangandan so’ng 
uning boshlang‘ich qiymati o‘chirilib yangi qiymati o’zlashtiriladi .
Qiymat berish operatoriningni kengaytirilgan holatlari 
Qiymat berish jarayoni bajarilish 
holatida ba‘zi amallarni avtomatik 
bajarish holatlari ham mavjud, ular 
quyidagicha. Amallar  Izoh 
y=x++  y ga x ni qiymati ta’minlanib keyin x
ni qiymati 1 ga oshadi 
y=++x  x ni qiymati 1 ga oshirilib keyin y ga  ta’minladi 
y=x--  y ga x ni qiymati ta’minlanib keyin x
ni qiymati 1 ga kamayadi 
y=--x;  x ni qiymati 1 ga kamaytirilib keyin 
y ga ta’minladi 
y+=a;  y ga a ni qiymati qushilib natija y ga 
yoziladi 
y-=a;  y dan a ni ayirib natija y ga yoziladi 
y*=a;  y ga a ni qiymati ko‘paytirilib natija 
y ga yoziladi 
y/=a;  y ga a ni qiymati bo‘linib natija y ga 
yoziladi 
y%=a;  y ga a ni qiymati bo‘linib qoldiq y ga
yoziladi 
Kiritish operatori
C++ dasturlash tilida dastur tuzishda o’zgaruvchilar qiymati kompyuter xotirasiga
joylashtirish   jarayoni   ma‘lumotlarni   kritish   deyiladi.   O’zgaruvchilar   oqimi   va
ma‘lumotlar   jamlanmasi   o’zgaruvchilar   turiga   qarab   kompyuter   xotirasidan   joy
egallaydi. Dastur tuzish jarayonida o’zgaruvchilar qiymatini kompyuter xotirasiga
kiritish   buyrug‘i   yozilishidan   avval   o’zgaruvchilarni,   albatta,   turiga   mos   ravishda
e‘lon qilishi kerak. 
C++   dasturlash   tilida   ma‘lumotlarni   kiritish   operatori   cin   kalit   so’zi   yordamida
tasvirlanadi.   o’zgaruvchilar   ikki   va   undan   ortiq   bo’lsa,   u   holda   >>   belgi   orqali
o’zgaruvchilar bir biridan ajratilib yoziladi.
C++   dasturlash   tilida   ma‘lumotlarni   kiritish   operatorining   umumiy   ko’rinishi
quyidagicha: 
cin>>o‘zgaruvchi1>>o‘zgaruvchi2; 
Misol:   C++   dasturlash   tilida   bir   va   ikkitadan   ortiq
o’zgaruvchilarni kiritishni tasvirlash. #include <iostream.h> 
int main () 
{ int a,b,c; // a,b va c o’zgaruvchilarni e‘lon qilish 
cin>>a; // a ni kritish 
cin>>b>>c; // b va c larni kritish 
return 0; 
}  } 
Dastur natijasi 
a ni qiymati=-6 
C++ dasturlash tilida ma‘lumotlarni yangi qatordan ekranga chiqarish uchun ―\n‖
yozishi kerak. 
Misol:   C++   dasturlash   tilida   o’zgaruvchilarni
ekranga chiqaring. #include <iostream.h> 
int main () 
{ int a,b; 
cout<< a = ; 	
‖ ‖
cin>>a; // a ga 1 ni kiritsangiz 
a=a*8; b=a+6; 
cout<<a<< \n <<b; 	
‖ ‖
return 0; 
} 
Dastur natijasi 
a =1 
8 
14  O‘tish operatori
Dasturlash   jarayonida   ba‘zi   bir   masalalarni   algoritmlari   tarkibidagi
buyruqlar   bir necha marta bajarilishiga to’g‘ri keladi. Agar algoritm tarkibidagi bir
necha   marta   takrorlanishi   kerak   bo’lgan   buyruqlarni   takrorlanuvchi   jarayonlar
asosida   dasturlash tillarida tasvirlanmasa, bu buyruqlarni barchasini bajarish
murakkablashadi. Elektron hisoblash mashinalarini insoniyatdan farqi shundaki,
insoniyatda bir nechta buyruqlarni bajarish davomida toliqish holatlari bo‘lishi
mumkin elektron mashinalarga takrorlanishni qanchaligini ma‘lum bir buyruqlar
asosida berilsa, ular barchasini charchamasdan bajaradi. Tarmoqlanuvchi
jarayonlarni masalan matematikada ixtiyoriy ketma ketliklarni yig‘indisini
hisoblash oddiy usullar bilan hal etilmaydigan holatlarda qo‘llash mumkin.
Tarif: Algoritmning qandaydir qismidagi buyruqlar ikki va undan ortiq
bajarilishiga  takrorlanuvchi jarayonlar  deyiladi.
Yuqoridagi ta‘rifga etibor qaratsak, demak algoritmning qandaydir qismi ikki
va undan ortiq bajarilishi mumkin bo’lgan holatlar ham mavjud. Bunda
dasturchiga shunday vazifa qo‘yiladiki takrorlanish holatini bir yaxlit buyruq
asosida kompyuterga qulay usulda berish kerak.
Takrorlanuvchi jarayonlarni quyidagi blok sxema ko’rinishda C++ dasturlash
tilida tasvirlash mumkin.
Yuqoridagi blok sxema shaklida shart toki chin bo‘lgunga qadar takrorlanish
bajarilaveradi.
C++ dasturlash tillarida takrorlanuvchi jarayonlarni quyidagi usullar
yordamida tasvirlash mumkin.
-Parametr bo’yicha takrorlash(for);
-shartsiz o‘tish bo’yicha takrorlash(goto);
-Shart bo’yicha takrorlash(while, do while).
Shartsiz o‘tish(Goto) operatori 
Algoritm   bajarilish   vaqtida   ma‘lum   bir   buyruqlar   sakrab   o’tish   yoki   ba‘zi
buyruqlar   bir   necha   marta   takrorlanish   holatlari   ham   mavjud.   Bunday   holatlarda
shartsiz o’tish operatori yordamida dasturlashimiz mumkin. 
Tarif:   Algoritm   bajarilish   davrida   uning   qandaydir   qismi   tashlanib   yoki   sakrab
o’tish jarayoniga  shartsiz o'tish jarayoni  deyiladi. 
Shartsiz   o’tish   jarayonini   takrorlanuvchi   va   tarmoqlanuvchi   jarayonlarda   ham
ishlatish mumkin. 
Shartsiz o’tish operatorining umumiy ko‘rinishi quyidagicha:  Goto <belgi>; <belgi>: 
Goto   operatorining   ishlash   jarayoni   goto   kalit   so’zidan   keyingi   belgini   dastur
tanasidan izlaydi va topilgan  <belgi>:  dan keying operatorlar bajariladi. 
Misol:  Berilgan son juft yoki toqligini
aniqlang.  #include <iostream.h> 
int main() 
{ int n; 
cout<< n= ; ‖ ‖
cin>>n; 
if(n%2==0) { cout<< juft ; goto a;} 	
‖ ‖
if(n%2==1) cout<< toq ; 	
‖ ‖
a: 
return 0; 
O‘tish operatorlariga doir masalalarning yechilish usullari.
Break operatori.   Ba`zi hollarda takrorlash bajarilishini ixtiyoriy joyda 
to`xtatishga to`g`ri keladi. Bu vazifani break operatori bajarishga imkon beradi. Bu
operator darhol takrorlash bajarilishini to`xtatadi va boshqaruvni takrorlashdan 
keyingi operatorlarga uzatadi. Masalan, o`quvchining n ta olgan baholariga qarab 
uning o`qish sifatini aniqlovchi dasturini ko`ramiz. Buning uchun dasturda 
o`quvchining olgan   minimal bahosi aniqlanadi
Output:
#   include
void main()
{ int i,n,min,p;
while (1) { cout<<("Xato! n>0 bo`lishi lozim !  \n");
cout<<"Baholar soni="; cin>>n;
if (n>0) break; };
for (i=1,min=5; i<=n; i++) {
cin >> p;
if ((p<2)||(p>5)) { min=0; break; };
if (min>p) min=p;
if ((p<2)||(p>5)) break;
switch(min) {
case 0:cout<<"Baho noto`g`ri kiritilgan"; break;
case 2:cout<<"Talaba yomon o`qiydi";break;
case 3:cout<<"Talaba o`rtacha o`qiydi";break;
case 4:cout<<"Talaba yaxshi o`qiydi";break;
case 5:cout<<"Talaba a`lo o`qiydi";break; }}}
  Biz misolda xato kiritilgan   n qiymatdan saqlanish uchun   while(1)   takrorlash 
kiritilgan. Agar   n>0   bo`lsa   Break   operatori takrorlashni to`xtatadi va dastur 
bajarilishi davom etadi. Agar kiritilayotgan baholar chegarada yotmasa min ga 0 
qiymat berilib darhol takrorlashdan chiqiladi.
Continue operatori.   Takrorlash bajarilishiga ta`sir o`tkazishga imkon beradigan 
yana bir operator   Continue   operatoridir. Bu operator takrorlash qadamini 
bajarilishini to`xtatib   for   va   while   da ko`rsatilgan shartli tekshirishga o`tkazadi.
Quyidagi misolda ketma-ket kiritilayotgan sonlarning faqat musbatlarining 
yig`indisini hisoblaydi. Sonlarni kiritish 0 soni kiritilguncha davom etadi. Output:
# include
void main()
{ int a,n=10,s=0;
for (int i=1;i<=n;i++) {
cin << a;
if (a<=0) continue;
s+=a;
if (a=0) break; }
cout << s; }
O`tish operatori GO TO.   O`tish operatorining ko`rinishi:
Go to
Bu operator identifikator bilan belgilangan operatorga o`tish kerakligini ko`rsatadi.
Masalan,   goto A1;…;A1:y=5;   Strukturali dasturlashda   Go to   operatoridan 
foydalanmaslik maslahat beriladi.  Lekin ba`zi hollarda o`tish operatoridan 
foydalanish dasturlashni osonlashtiradi. Masalan, bir necha takrorlashdan birdan 
chiqish kerak bo`lib   qolganda , to`g`ridan-to`g`ri   break   operatorini qo`llab 
bo`lmaydi, chunki u faqat eng ichki takrorlashdan chiqishga imkon beradi.
Quyidagi misolda n ta qatorga n tadan musbat son kiritiladi. Agar n yoki sonlardan
biri manfiy bo`lsa, kiritish qaytariladi:
Output: # include
void main() {
int n,i,j,k;
M1: cout<<"\n n="; cin>>n;
if (n<=0) { cout<<"\n xato! n>0 bo`lishi kerak";
goto M1;} ;
M: cout<<"x sonlarni kiriting \n";
for (i=1; i<=n; i++) {
cout<<"\n"<< i<<"=" ;
cin>> k;
if (k<=0) goto M; } }
Bu   masalani   GOTO   operatorisiz hal qilish uchun qo`shimcha o`zgaruvchi kiritish 
lozimdir.
Output:
# include
void main() {
int n, I, j, k;
while(1) {
cout<<"\n n="; cin>>n;
if (n>0) break; cout<<"\n xato! n>0 bo`lishi kerak"; } ;
int M=0;
while (M)
{ M=0;
cout<<"x sonlarni kiriting \n";
for (I=1; I<=10; I++) {
if (M) break;
cout<<("\n I=%", I);
for (j=1 ; j<=10; j++) {
cin>>k;
if (k<=0) {
M=1; break; } } } } } Amaliy qism
C++ dasturlash tilida shartli operatolar
  Shunday   dasturlar   mavjudki   ularning   shartiga   qarab   ikki   xil   natija   qabul
qilishi   mumkin.   Bu   o`z   navbatida   dasturni   tarmoqlanishga   olib   keladi.
Tarmoqlarning qaysi qismi bajarilishi ayrim shartlarga  qarab aniqlanadi.
Shart operatori: Shart operatori boshqarishni qaysi tarmoqqa uzatishni ta’minlaydi.
Shart operatorining ikki xil ko`rinishi mavjud. Operatorning umumiy ko`rinishi va
qisqa ko`rinishi.
Shart operatorining  umumiy  ko`rinishi:
if (<shart>)<operator1>;
else <operator2>;
if agar, else aks holda ma`nolarini anglatadi.
Shart operatorining  qisqa ko`rinishi:
if (<shart>) <operator1>;
<shart> tekshirilishi lozim   bo`lgan   mantiqiy ifoda <operator 1> Agar   shart rost
(true) qiymatga ega bo`lsa bajarilishi  lozim bo`lgan operator.
<operator 2> Agar shart yolg`on (false) qiymatga ega  bo`lsa bajarilishi lozim
bo`lgan operator.
Shart operatori tarkibida ixtiyoriy operatordan foydalanish mumkin. Shu o`rinda
Shart operatoridan ham.
Misol: Berilgan  a sonini  juft yoki toqligini  aniqlovchi  dastur tuzilsin.
Agar a sonini 2 ga bo'lganda qoldiq 0 ga teng bo'lsa, bu son juft, aks xolda toq.
#include <iostream.h>
#include<math.h>
int main()
{
int a;
cin>>a; if (a%2==0)
cout<<"juft";
else
cout<<"toq";
system ("pause");
return 0;
}
C++ tili оpеratоrlarni blоk ko’ rinishida bo’ lishiga imkоn bеradi. Blоk ‘{‘ va ‘}’
bеlgi оralig'iga оlingan оpеratоrlar kеtma-kеtligi bo’ lib, u kоmpilyatоr tоmоnidan
yaхlit bir оpеratоr dеb qabul qilinadi. Blоk ichida yangi o'zgaruvchilarni ham e'lon
qilish   mumkin.   Bu   o’zgaruvchilar   faqat   blоk   ichida   ko’rinadi,   undan   tashqarida
ko’rinmaydi,   ya'ni   blokdan   tashqarida   bu   o'zgaruvchilarni   ishlatib   bo'lmaydi.
Blоkdan   kеyin   nuqtali   vеrgul   qo’yilmaydi,   lеkin   blоk   ichida   har   bir   оpеratоr
nuqtali vеrgul bilan yakunlanishi  shart.
Shart   operatorida  bir   nechta  operatordan  foydalanish   uchun bu  operatorlarni  blok
ichiga yozish lozim bo'ladi. Yuqoridagi masalani blok orqali ifodalash quyidagicha
bo'ladi.
Misol 1: Berilgan  a sonini  juft yoki toqligini  aniqlovchi  dastur tuzilsin.
#include <iostream.h>
#include<math.h>
int main()
{
int a;
cin>>a;
if (a%2==0)
cout<<"juft";
else
cout<<"toq";
system ("pause");
return 0; }
Dasturlashning     yaxshi   usuli:   Shart   operatorida   doimiy   ravishda   bloklardan
foydalanish     yo'l   qo'yilishi     mumkin   bo'lgan   xatoliklarni   oldini     oladi.   Ba'zi
dasturchilar  oldin ochuvchi va yopuvchi qavslarni  {, } yozish, undan keyin  blok
ichidagi  operatorlarni yozish lozimligini takidlashadi.
? : shart amali
Agar tеkshirilayotgan shart nisbatan sоdda bo’ lsa, shart amalini «?:  » ko’ rinishini
ishlatish mumkin. Bu operator quyidagi ko’rinishga ega:
<shart ifоda> ? <ifоda1> : <ifоda2>;
if   shart   оpеratоriga   o’   хshash   hоlda   bu   shart   amali     quyidagicha     ishlaydi:     agar
<shart   ifоda>   rоst   (true)     bo’lsa   <ifоda1>   bajariladi,   aks   hоlda   <ifоda2>.   Оdatda
ifоdalar qiymatlari birоrta o’zgaruvchiga o’zlashtiriladi.
Misol 2:  2 ta sondan kattasini  topuvchi dastur tuzilsin.
#include<iostream.h>
#include<math.h>
int main()
{
int a,b,max;
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
max=(a>b)?a:b;
cout<<max<<endl;
system ("pause");
return 0;
}
Agar a>b shart bajarilsa  max o'zgaruvchisi a ni, aks xolda b ni o'zlashtiradi.
Tanlash   operatorida   bir   nechta   qiymatga   bir   hil   operator   ishlatishi     quyidagicha
bo'ladi.
#include<iostream.h> #include<math.h>
int main()
{
int n;
cout << "1..10 oraliqdan son kiriting" << endl;
cin>>n;
switch (n)
{
case 1:
case 3:
case 5:
case 7:
case 9: cout << "Toq son kiritildi"; break;
case 2:
case 4:
case 6:
case 8:
case 10: cout << "Juft son kiritildi"; break;
default: cout << "1 dan kichik yoki 10 dan katta son kiritildi";
}
system ("pause");
return 0;
} C++ If else Operatori
Shart operatori juda kerak hisoblanadi. Tizimga kirishda server yaratganizda
ushbu shart operatoridan foydalanish ehtimolingiz 80% ni tashkil qiladi.
C++   dasturlash   tilida   matematikada   qo'llaniladigan   odatiy   mantiqiy   shartlarni
qo'llab quvvatlaydi.
Kamroq: a <b
Kam yoki teng: a <= b
Kattaroq: a> b
Kattaroq yoki teng: a> = b
a == b ga teng
Teng emas: a! = b
C ++ quyidagi shartli iboralarga ega:
If Agar belgilangan shart rost bo'lsa, bajarilishi kerak bo'lgan kod blokini belgilash
uchun foydalaning
Else   Agar   bir   xil   shart   noto'g'ri   bo'lsa,   bajarilishi   kerak   bo'lgan   kod   blokini
belgilash uchun foydalaning
else if Agar birinchi shart noto'g'ri bo'lsa, sinov qilish uchun yangi shartni belgilash
uchun foydalaning
switch   Amalga   oshiriladigan   ko'plab   alternativ   kod   bloklarini   belgilash   uchun
foydalaning
IF (Agar)
If   Agar   shart   bo'lsa,   bajarilishi   kerak   bo'lgan   C   ++   kodi   blokini   belgilash   uchun
bayonnomadan foydalaning  true.
if (<Shart>) {
  // Faqat to'g'ri bo'lgandagi holatni yozasiz
}
E'tibor   bering,   if   kichik   harflar   bilan.   Katta   harflar   (If   yoki   IF)   xato   keltirib
chiqaradi. Quyidagi misolda, 15 ning 13 dan katta ekanligini aniqlash uchun ikkita qiymatni
sinab ko'ramiz, agar shart bo'lsa true, ba'zi matnlarni chop eting:
#include <iostream>
using namespace std;
int main() {
  if (15 > 13) {
    cout << "15 soni 13 dan katta";
  }  
  return 0;
}
15 soni 13 dan katta
else (Aks Holda)
else   Agar   shart   bo'lsa,   bajarilishi   kerak   bo'lgan   kod   blokini   belgilash   uchun
foydalaning false.
if (<Shart>) {
  // Shart bajarilgan vaqtdagi operatorlar 
} else {
  // shart bajarilmagan holdagi kod blogini joylaysiz
}
#include <iostream>
using namespace std;
int main() {   int time = 20;
  if (time < 18) {
    cout << "Hayirli Kun.";
  } else {
    cout << "Hayirli Kech.";
  }
  return 0;
}
Hayirli Kech
else if (Aks holda agar)
else   ifagar   aks   holda   degan   ma'noni   berib   birinchi   yoki   undan   yuqori   shartlar
qanoatlantirmasa ushbu shart operatori ishlatiladi.
else if har doim undan oldin else if yoki if sahrt operatorlari keladi.
if (<Shart1>) {
  // Birinchi shart True bo'lsa u holda siz da ushbu blog kodingiz ishlaydi
} else if (<Shart2>) {
  // birinchi shart false bo'lsa ikkinchi shart true bo'lsa ushbu blog ishlaydi
} else {
  // ikki shart ham qanoatlantirmasa ushbu blog ishlaydi.
}
#include <iostream>
using namespace std;
int main() {
  int time = 22;
  if (time < 10) {
    cout << "Hayirli Tong.";
  } else if (time < 20) {     cout << "Hayirli Kun.";
  } else {
    cout << "Hayirli Kech.";
  }
  return 0;
}
Hayirli Kech.
Qisqa Shart Operatorlari.
C++   dasturlash   tilini   shunday   bir   imkoniyati   borki   bular   birini   imkoniyati   shart
operatorini qisqartirib . yozishdan iborat. Quyidagi formulani yod oling.
o'zgaruvchi= (shart) ? shart to'g'ri bo'lsa:  shart notug'ri bo'lsa;
Quyidagi kodga e'tibor bering.
#include <iostream>
using namespace std;
int main() {
  int time = 20;
  if (time < 18) {
    cout << "Hayirli Kun.";
  } else {
    cout << "Hayirli Kech.";
  }
  return 0;
}
Qisqa tartibda yozish. #include <iostream>
using namespace std;
int main() {
  int time = 20;
  string result = (time < 18) ? "Hayirli Kun." : "Hayirli Kech.";
  cout << result;
  return 0;
} Xulosa
Xulosa qilib aytganda operatorlarning ta’rifini va turlarini keltirish 
davomida ularni hammasini o’rgandim. Bu narsalar haqida qo’shimcha bilimlarga 
ega bo’ldim. Eng asosiy joylaridan birini quyida yana bir takrorlab o’tmoqchiman.
Yuqoridagi ta‘rifga etibor qaratsak, demak algoritmning qandaydir qismi 
ikki   va undan ortiq bajarilishi mumkin bo’lgan holatlar ham mavjud. Bunda
dasturchiga shunday vazifa qo‘yiladiki tarmoqlanish holatini bir yaxlit buyruq
asosida kompyuterga qulay usulda berish kerak.
Ta rmoq lanuvchi jarayonlarni quyidagi blok sxema ko’rinishda C++ dasturlash
tilida tasvirlash mumkin. FOYDALANILGAN ADABIYOTLAR RO‘YXATI  
1.Стефан Р.Девис. С++ для чайников. Диаликтика. Москва -2003. 337 с. 
2.Страуструп Б. Язик программирования С++. Специальное издание. –
Москва 1997. -1055 с. 
3.Фролов А.Б. Фролов Г.Б. Язик С# Самоучитель. Москва 2003.-559 с. 
4.Герберт Ш. С++ Базовый курс. Москва Издательский дом 
―Вильямс .2010.-621 с. ‖
5. Стенли Липпман. Язык программирование С++. Базовой курс. Вильямс - 
М.: 2014. 
6.Никита   Культин.   Microsoft   Visual   C++   в   задачах   и   примерах.   БХВ-
Петербург - Петербург.:2010.

Mundarija Kirish ............................................................................................................................................................ 2 Nazariy qism ................................................................................................................................................ 4 C++ dasturlash tili haqida ........................................................................................................................ 4 C++ tilining leksemmasi ........................................................................................................................... 5 Operator tushunchasi .............................................................................................................................. 9 Amaliy qism ............................................................................................................................................... 18 C++ dasturlash tilida shartli operatolar .................................................................................................. 18 C++ If else Operatori .............................................................................................................................. 22 Xulosa ........................................................................................................................................................ 27 FOYDALANILGAN ADABIYOTLAR RO‘YXATI ................................................................................................ 28

Kirish Hozirgi vaqtda axborot-kommunikasiya vositalari barcha turdagi tashkilot va muassasalarga shiddat bilan kirib kelmoqda. Hozirgi davrda axborotlarning haddan tashqari ko’pligi bu axborotlarni saqlashda, qayta ishlashda, hamda har xil turdagi tizimlarni yaratish, ulardan keng foydalanishni va axborot tizimlari yaratishni talab qiladi. O’zbekiston Respublikasi Prezidentining 2012 yil 21 martdagi ―Zamonaviy axborot-kommunikasiya texnologiyalarini yanada joriy etish va rivojlantirish chora-tadbirlari to’g‘risida gi PQ-1730 Qarori hamda ―O’zbekiston‖ Respublikasida ―Elektron ta‘lim milliy tarmog‘ini yaratish investision loyihasini ‖ amalga oshirish chora-tadbirlari to’g‘risida gi PQ-1740 Qarori va me‘yoriy ‖ hujjatlar asosida algoritmiy ta‘minot ishlab chiqish va joriy etish keng ko’lamli hisoblanadi. Barcha tashkilot va muassasalarda avtomatlashtirilgan tizimlar yaratish ulardan keng ko’lamda foydalanish uchun algoritmlash tillarini o’rni katta hisoblanadi. Axborot tizimlari axborotni to’plash, saqlash va qayta ishlash uchun, keng imkoniyatli 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. Axborot tizimi va axborot texnologiyalarining avtomatlashtirilgan elementlarini qo’llash va avtomatlashtirish asosida yangi axborot texnologiyasini yaratish avtomatlashtirish tizimlarini loyihalashtiruvchilarning asosiy vazifalaridan biri hisoblanadi. Avtomatlashtirilgan tizimlarni yaratish uchun albatta birinchi navbatda muommo obektini infologik yoki diskretli modelini qurish dolzarb hisoblanadi. Infologik yoki diskretli modelni muommo obektiga qarab algoritmlash tillarini qaysi biri asosida yaratish kerakligini tanlab olinish kerak. Elektron hisoblash mashinalarini birinchi avlodlari yaratilishi bilan algoritmlash tillarini rivojlanishi ham boshlandi. Avval algoritm tuzuvchi mutaxassislar eng sodda mashina tilini o’zida ifodalovchi kompyuter komandalari bilan ishlaganlar. Bu komandalar nol va birlardan iborat uzun qatorlardan tashkil topgan edi. Keyinchalik insonlar uchun tushunarli bo’lgan mashina komandalarini o’zida saqlovchi assembler tili yaratildi. Shu vaqtlarda BASIC va COBOL singari yuqori sathli tillar ham paydo bo’ldiki, bu tillar yordamida so’z va gaplarning mantiqiy konstruksiyasidan foydalanib algoritmlash imkoniyati yaratildi. Ular komandalarni mashina tiliga interpretatorlar va kompilyatorlar yordamida o’tkazar edi. Algoritmlash tillari yaratilishi bo’yicha uchta turga ajratiladi: -quyi darajadagi;

-o’rta darajadagi; -yo’qori darajadagi. Bizga ma‘lumki, ma‘lum bir masalani yechish uchun buyruqlar ketma- ketligi ya‘ni algoritmni algoritmlash tilida yozilishida kamroq komandalardan foydalanilsa, bunday tillar darajasi yuqoriroq hisoblanadi. Quyi darajadagi algoritmlash tillari bevosita kompyuter qurilmalari bilan bog‘liq bo’lib buyruqlar ularning kodlari bilan yoziladi. Bu kabi buyruqlardan tashkil topgan algoritmlar katta hajmli bo’lib, ularni taxrirlash mushkul hisoblanadi. Dastlabki kompyuterlar(ENIAK, MESM va boshqalar) ana shunday tillarda ishlardi. O’rta darajadagi algoritmlash tillari buyruqlarida faqat raqamlar emas, balki insonlar tushunadigan bazi so’zlar ishlatila boshlandi(Assemblaer). Yuqori darajadagi algoritmlash tillari quyidagicha bosqichlarga bo’linadi: Algoritmik(Basic, Pascal, C va b.) Mantiqiy(Prolog, Lisp va b.) Obe‘ktga mo’ljallangan(Object Pascal, C++, Java va b.) Algoritmlash tillarida yaratilgan algoritmlar mashina tiliga Translyatorlar yordamida o’tkaziladi. Translyator(translator-tarjimon) biror bir algoritmlash tilida yozilgan algoritmni mashina tiliga tarjima qiladi. Translyatorlar ikki turda bo’ladi: -Kompilyatorlar(compiler-yig'uvchi) biror bir algoritmlash tilida yozilgan algoritmni mashina tiliga to’liq o’qib olib tarjima qiladi. -Interpretatorlar(interpreter —izohlovchi, og‘zaki tarjimon) biror bir algoritmlash tilida yozilgan algoritmni mashina tiliga satrma satr tarjima qiladi. Translyatorlarni bu ikkala turi bir biridan farq qiladi. Komplyatsiya qilingan algoritmlar bir muncha kam vaqt talab etadi, ya‘ni tezroq ishlaydi, lekin interpretatsiya qilingan algoritmlarni o’zgartirish osonroq hisoblanadi. 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 intmain funksiyasi tarkibini C++ dasturlash tilinining ixtiyoriy versiyalarida ishlatib ko’rish mumkin. Qo’llanma oliy o’quv yurtlari talabalari va magistrantlari, litsey kasb hunar kollej o’quvchilari hamda mustaqil o’rganuvchilar uchun qulay vosita hisoblanadi.

Nazariy qism C++ dasturlash tili haqida Butun dunyoda informatika va axborot texnologiyalarining rivojlanishi bilan bir qatorda dasturlash asoslari ham keng rivojlanib bormoqda. Dasturlash asoslari fanining asosi bo’lmish dasturlash tillari ham keng ommalashib bormoqda. Birinchi EHM yaratilgan davrdan boshlab dasturlash ham rivojlanib bormoqda, dastlabki kompyuterlar AQSH da harbiy maqsadlar yo’lida yaratilgan. Dastlab dasturchilar eng sodda mashina tilini o’zida ifodalovchi kompyuter komandalari bilan ishlaganlar. Bu komandalar uzun qatorli nol va birlardan iborat bo’lgan. Keyinchalik foydalanuvchi uchun tushunarli bo’lgan assembler tili yaratiladi. Keyinchalik sekin asta yuqori bosqichli tillar yaratila boshlandi, yuqori bosqichli algoritmik tillarda dasturni foydalanuvchi tushunadigan ma‘lum bir standartlar yordamida yaratiladi. Yuqori bosqichli algoritmik tillarda tuzilgan dasturni kompyuter tiliga maxsus interpretator va komplyatorlar yordamida o’tkazilardi. Elektron xisoblash mashinalari avlodlari rivojlanib borishi bilan bir vaqtda dasturlash va dasturlash tillari ham keskin rivojlandi. Dasturlash tillarida tuzilgan dastur tarkibidagi bo’yruqlarning soddaligi va kompyuter xotirasidan kam joy egallashi bilan katta farq qiladi. Yuqoridagi jarayonlarni hisobga olib dasturlashga ham talablar o’zgarib bordi, nafaqat dasturlashni balki dastur yozish texnologiyasini ham o’zgarishiga olib keldi. Dasturlash asoslari fani bu elektron hisoblash mashinalarining boshqaruvchi fan deb ham yuritish mumkin. Chunki elektron hisoblash mashinalarining asosi bo’lmish dasturiy ta‘minotlar ham insoniyat tomonidan ma‘lum bir qoida va buyruqlar asosida yaratiladi Ayni vaqtda bir nechta dasturlash tillari mavjud ulardan keng qo’llaniladigan va barcha imkoniyatlari keng bo’ganlari C++, Java, PHP va hakozalar sanaladi. So’ngi yillarda Java va C++ dasturlash tillari juda takomillashib, tobora ommalashib bormoqda. Mazkur tillardagi vositalar zamonaviy axborot texnologiyasining hamma talablarini o’z ichiga olgan va unda dastur tuzuvchi uchun ko’pgina qulayliklar yaratilgan. C++ dasturlash tili 1980 yillar boshida Byarne Straustrup tomonidan C tiliga asoslangan tarzda tuzildi. C dasturlash tili 1972-yil Denis Pitch va Brayan Kornegilar tomonidan yaratilgandi. C++ juda ko’p qo’shimchalarni o’z ichiga olgan, lekin eng asosiysi u obyektlar bilan dasturlashga imkon beradi. Dasturlarni tez va sifatli yozish hozirgi kunda katta ahamiyatga ega. Grafik interfeysga ega dasturlarni yaratish uchun ob‘yektga mo’ljallangan dasturlash tayanch baza hisoblanadi. Ob‘yektga mo’ljallangan dasturlashning asosiy maqsadi berilganlar va ular ustida amal bajaruvchi proseduralarni yagona ob‘yekt sifatida qarashidir. 23

C++ tilining leksemmasi C++ tiliga boshqa dasturlash tillariga nisbatan ko’pgina yangiliklar kiritilgan bo’lib, tilning imkoniyati yanada kengaytirilgan. C++ dasturlash tili ham boshqa dasturlash tillari kabi o’z alfavitiga va belgilariga ega. Tilning mavjud alfavit va belgilariga quyidagilar kiradi: 1. Katta va kichik lotin alfaviti harflari; 2. Raqamlar - 0,1,2,3,4,5,6,7,8,9; 3. Maxsus belgilar: ‘ {} | [] () + - / % \ ; ' : ? <=>_ ! & ~ # ^ . * Tilning alfavit belgilaridan tilning leksemalari shakllantiriladi: 1.Identifikatorlar; 2.Kalit (xizmatchi yoki zahiralangan) so’zlar; 3.O’zgarmaslar; 4.Amallar; 5.Ajratuvchilar. C++ dasturlash tilida tuzilgan dasturlarda izohlar istalgan joyda berilishi mumkin. Izohlar ikki turda bo’ladi ular satriy va blokli ko’rinishlarda bo’ladi. Satriy izohlar uchun ―// belgi ishlatiladi, blokli izohlar uchun ―/* , ―*/ belgilari ishlatiladi. ‖ ‖ ‖ Dastur- dasturlash tilida ma‘lum bir masala yoki muommoni hal etish uchun yozilgan chekli sondagi bo’yruqlar ketma- ketligi. Identifikator- dastur tarkibidagi o’zgaruvchi, o’zgarmas, funksiya, prosedura va ob‘yektlarni belgilashda ishlatiladigan nomlardir. Kalit so ’ zlar- dastur tarkibidagi malum bir vazifani bajaruvchi so’zlarga aytiladi. O'zgarmas- dastur bajarilish vaqtida o‘z qiymatini o’zgartirmaydigan identifikatorlarga aytiladi. Amal- dastur tarkibida yoziladigan matematik yoki mantiqiy amallarga aytiladi. Ajratuvchi- dastur tarkibidagi buyruq va ifodalarni bir biridan ajratilishiga aytiladi.