logo

C++ dasturlash tili

Yuklangan vaqt:

12.08.2023

Ko'chirishlar soni:

0

Hajmi:

2235.85546875 KB
C + +   d a s t u r l a s h   t i l i
Mundarija
KIRISH ………………………………………………………………………….3
I - B O B . C + +   d a s t u r l a s h   t i l i … … … … … … … … … … … … … … … … 5
1.1. C++ dasturlash tili tarkibidagi o‘zgaruvchi turlari va 
o‘zgarmaslar ………………………………..…………………………………11
1.2. C++ dasturlash tili tarkibidagi arifmetik amallar va mantiqiy 
amallar………………………………………………………………………… 14
II - B O B . C + +   d a s t u r l a s h   t i l i n i n g       l i m i t s ,     n u m e r i c   v a   v e c t o r  
k u t u b x o n a l a r i   f u n k s i y a l a r i   b i l a n   i s h l a s h … … … … … … … … . . 17
2.1. C++ dasturlash tili tarkibidagi standart funksiyalar va 
ifodalar …………………………………………………………………………17
2.2.  C + +   d a s t u r l a s h   t i l i n i n g   l i m i t s   f u n k s i y a l a r i   b i l a n  
i s h l a s h … … … … … … … … … … … ............. … … … … ......... … … … . … . 2 0
XULOSA ............................................................................................................26
FOYDALANILGAN ADABIYOTLAR ..........................................................27
2 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   muammo   obektini   infologik   yoki   diskretli
modelini qurish dolzarb hisoblanadi. Infologik yoki diskretli modelni muammo
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
3 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; 
-yuqori 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.
4 I - B O B . C + +   d a s t u r l a s h   t i l i
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.  
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. 
5 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++   tilida   yaratilgan   dasturni   komplyatsiya   qilgandan   so‘ng   .cpp
kengaytmali bajaruvchi fayl yaratiladi, agar ob’yektli fayl qo‘shilsa, u holda .obj
kengaymali fayl yaratiladi. 
C++ dasturlash tilidagi dasturning umumiy ko‘rinishi quyidagicha:
#include <iostream.h>                   // sarlavha faylni qo‘shish 
int main ()                                      // bosh funksiya tavsifi 
{                                                     // blok boshlanishi 
return 0;                                         // funksiya qaytaradigan qiymat 
}                                                     // blok tugashi 
 
6 Dasturning   1-satrida   #include   direktivasi   bo‘lib,   dastur   kodiga   oqimli
o‘qish,   yozish   funksiyalari   va   uning   o‘zgaruvchilari   e’loni   joylashgan
iostream.h   sarlavha   faylini   qo‘shadi.   Keyingi   qatorlarda   dasturning   yagona,
asosiy funksiyasi  main()  funksiyasi tavsifi keltirilgan. Shuni qayd etish kerakki,
C++ dasturida albatta  main()  funksiyasi  bo‘lishi  shart  va dastur  shu funksiyani
bajarish bilan o‘z ishini  boshlaydi. Dastur tanasidagi  barcha amal va buyruqlar
{   }   bloklar   orasiga   olinib   yoziladi.   main   ()   funksiyasi–   asosiy   degan   ma’noni
anglatadi.   Bu   funksiya   “{“   belgisidan   boshlanadi   va   dasturning   asosini   tashkil
etuvchi   o‘zgaruvchilarning   toifalari   ko‘rsatiladi.   Dastur   ―}   belgisi   bilan‖
yakunlanishi   shart.   Agar   dasturda   qism   dasturlardan   foydalanilayotgan   bo‘lsa,
ularning nomlari va haqiqiqy parametrlari keltiriladi. So‘ngra dasturning asosiy
buyruqlari   yoziladi.   Agar   buyruqlar   murakkab   bo‘lsa,   ular   alohida   ―{   }	
‖
belgilari   orasiga   olingan   bo‘lishi   kerak.   С ++   tilida   dasturning   asosi   bo‘lmish
buyruqlar kichik harflar bilan yoziladi. 
Buyruqlar   nuqta-vergul   bilan   (;)   yakunlanadi.   Buyruqlar   bir   qator   qilib
yozilishi ham mumkin. C++ dasturlash tilida dastur funksiya va funksiyalardan
tashkil   topadi.   Agar   dastur   bir   nechta   funksiyalardan   tashkil   topgan   bo‘lsa,   bir
funksiyaning   nomi   main   deb   nomlanishi   shart.   Dastur   aynan   main
funksiyasining birinchi operatoridan boshlab bajariladi. 
IDE   (Integrated   development   environment)   -   Integratsiyalashgan
rivojlanish   muxiti   dasturiy   ta’minotni   yaratish   uchun   ishlatiladigan   dasturdir.
IDE ko‘pincha turli tillarni qo‘llab-quvvatlaydi. Shu o‘rinda C++ Dasturlash tili
uchun   ham   dasturlash   muxitlari   mavjuddir.Ularga   quyidagilarni   misol   qila
olaman: Dev C++, Code::Blocks  , Visual Studio, C free lar C++ dasturlash tili
uchun   IDE   lar   hisoblanadi   .   Compilator   /   interpretator   –   Kodni(Inson   tilini)
ikkilik   kodga(mashina   tiliga)   aylantiradigan   vosita   (dasturiy   ta’minot)   ushbu
vosita   esa   IDE   da   o‘rnatilgan   bo‘lib   ushbu   vositalar   orqali   biz   komyuterga
bergan buyrug’larimizdan natijalar ola olamiz.
7 Nima uchun C ++ dan foydalanish kerak
C++   dasturlash   tili   dunyo   bo‘yicha   keng   foydalanib   kelinayotgan
dasturlash tili hisoblanadi.
C++   Barcha   Grafik   Interfeys   ga   ega   Operatsion   Sistemalarda   uchratish
mumkin.
C++   Bu   obyektga   yo‘naltirilgan   dasturlash   tili   hisoblanib.   Tuzilgan
dasturni osonlik bilan o‘zgartirish imkoniyati mavjud.
C++ - Qiziqarli va o‘rganishga juda oson.
C++   -   Ko‘chma   va   bir   nechta   platformaga   moshlashtirilishi   mumkin
bo‘lgan dasturlar yaratsangiz bo‘ladi.
C++ - C# va Java dasturlash tiliga yaqin bo'lgan dasturlash tili bo‘lganligi
sababli almashtirish juda oson.
C++   Dasturlash   tilida   yozilgan   Dasturchilarni   eng   sevimli   so‘zi   "Hello
World" yozishni ko‘ramiz.
8 C ++ nima?
C++   -   bu   yuqori   samarali   dasturlarni   yaratish   uchun   ishlatilishi   mumkin
bo‘lgan o‘zaro faoliyat platforma tili hisoblanadi.
C++   -   bu   C   tilining   kengaytmasi   sifatida   Bjarne   Stroustrup   tamonidan
ishlab chiqilgan.
C++   -   Dasturchi   uchun   xotirani   boshqarish.   Unumli   foydalanish
imkoniyatini beradi!
9 C++ ni ishga tushurish uchun sizga ikkita narsa kerak bo‘ladi bo‘ladi.
Notepad++   yoki   CodeBlocks   kabi   matn   muharriri   C   ++   kodini   yozish
uchun
GCC     kompilyator   C++   kodini   kompyuter   tushunadigan   tilga   o‘girib
beradi.
C++   dasturlash   tilidan   foydalanish   uchun   sizda   boshqa   matn
muhararirlarini tanlash imkoniyati mavjud. Men sizlarga IDE dan boshlayman!
Demak hurmatli dasturchi boshladik.
C++ IDE ni o‘rnatish
Kodni   tahrirlash   va   kompilyatsiya   qilish   uchun   IDE   (Integrated
Development Environment) ishlatiladi.
Ommabop IDE tarkibiga Code :: Bloklar, Eclipse va Visual Studio kiradi.
Bularning   barchasi   bepul   va   ularni   C   ++   kodini   tahrirlash   va   komplyator
qilishda foydalansangiz bo‘ladi.
Demak  biz hozirda  Code::Blocks  dan  foydalanamiz.  Sizlarga  ushbu  IDE
ni   taklif   qilaman   chunki   men   o'zim   ham   shu   IDE   dan   foydalanganman
foydalanishga   juda   oson   va   qulayligi   jihatdan   C++   ni   o‘rganishda   juda   qulay
hisoblanadi.
10   C++ birinchi dastur.
Code::Blocks ni oching File > New > "Empty File" ga o‘ting. Quyidagi C
++   kodini   yozing   va   faylni   quyidagicha   saqlang   myfirstprogram.cpp   (File   >
Save File as)
1.1.C++ dasturlash tili tarkibidagi o‘zgaruvchi turlari va
o‘zgarmaslar.
C++   dasturlash   tili   tarkibidagi   barcha   o‘zgaruvchilari   qandaydir   turlarga
mansub   bo‘ladi,   chunki   o‘zgaruvchi   e’lon   qilingandan   so‘ng   kompyuter
x otirasidan   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
11 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 
Unsigned  int  (16
razryadli)  2  0..65535 
Unsigned  int  (32
razryadli)  4  0..42949667295 
Belgili tur
Unsigned char  1  0..255 
сhаr  1  -128.. 127 
Haqiqiy tur
flоаt  4  1.2Е-38..3.4Е38 
double  8  2.2Е-308..1.8Е308 
Long
double(32 razryadli)  10  3.4е-4932..-
3.4e4932 
   void  2  yoki  4  - 
C++ tilida o‘zgaruvchi va o‘zgarmaslarni e’lon qilish 
12 C++ dasturlash tilida o‘zgaruvchilarni tasvirlash quyidagicha. 
<tur> <o‘zgaruvchi>; 
Misol:  Butun sonlarni tasvirlash.
#include <iostream.h> 
int main () 
{ int a,b;                                      // a, b butun sonni e’lon qilish 
int m=12;                                    //m butun sonini boshlang‘ich qiymatini
berish 
return 0; 
} 
 
Misol:  Haqiqiy sonlarni tasvirlash.
#include <iostream.h> 
int main () 
{ double a,b;                              // a, b haqiqiy sonni e’lon qilish 
double   m=12;                                                         //m   haqiqiy   sonini   boshlang‘ich
qiymatini berish 
return 0; 
} 
 
Dasturlash   tillarida   dastur   bajarilishi   vaqtida   qiymati   o‘zgarmaydigan
identifikatorlar   o‘ zgarmaslar   deyiladi.   C++   tilida   o‘zgarmas   (cons)   –   bu
fiksirlangan   sonni,   satrni   va   belgini   ifodalovchi   leksema   hisoblanadi.
Kompilyator   o‘zgarmasni   leksema   sifatida   aniqlaydi,   unga   xotiradan   joy
ajratadi, ko‘rinishi va qiymatiga (turiga) qarab mos guruhlarga bo‘ladi. 
C++ dasturlash tilida o ‘zgarmaslarni tasvirlash quyidagicha. 
const <tur> <o‘zgaruvchi>=<qiymat>; 
Misol: O ‘ zgarmaslarni tasvirlash.
#include <iostream.h> 
int main (); 
{ const a=45;                                  // a o‘zgarmasni e’lon qilish 
13 return 0; 
} 
1.2. C++ dasturlash tili tarkibidagi arifmetik amallar va mantiqiy
amallar.
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 
 
Dasturlash   asoslarida   arifmetik   amallar   matematikadagi   amallarni
yozilishi   bir   oz   farq   qiluvchi   holatlari   ham   mavjud.   Bunday   amallar
quyidagicha. 
C++   dasturlash   tilida   biror   bir   o‘zgaruvchini   qiymatini   birga   oshirish
inkrement  amali deyiladi va uning umumiy ko‘rinishi: 
<o‘zgaruvchi>++; 
14 C++ dasturlash tilida biror bir  o‘zgaruvchini qiymatini  birga kamaytirish
dekrement  amali deyiladi va uning umumiy ko‘rinishi:
<o‘zgaruvchi>- -; 
Inkrement va dekrement amallarini qo‘llanilishi.
#include <iostream.h> 
int main () 
{ int a=45; int b=12;                           // a va b o‘zgarmasni e‘lon qilish 
a++;                                                    // a=46 ga teng bo‘ldi 
b--;                                                      // b=11 ga teng bo‘ldi 
return 0; 
} 
 
Ta’minlash operatori 
Ma’lum bir ifodaning natijasi biror o‘zgaruvchiga ta’minlash uchun C++
tilida ―=  ishlatiladi va ta’minlash operatori quyidagicha: ‖
<o‘zgaruvchi>=<ifoda>; 
C++   dasturlash   tilida   taminlash   operatori   amallar   yordamida   ham
ishlatiladi. Qo‘shish  qiymat  berish  bilan (+=);  ayirish  qiymat  berish  bilan (-=);
ko‘paytirish, qiymat  berish bilan (*=);  bo‘lish qiymat  berish bilan (/=);  bo‘lish
qoldig‘ini olish qiymat berish bilan (%=) va boshqalar. Bu holatlarning umumiy
ko‘rinishi: 
<o‘zgaruvchi><amal>=<ifoda>; 
Mantiqiy amallar 
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: 
- inkor; 
- konyunksiya; 
15 - dizyunksiya; 
1)   inkor   –   A   mulohazani   inkori   deganda   A   rost   bo‘lganda   yolg‘on   yoki
yolg‘on   bo‘lganda   rost   qiymat   qabul   qiluvchi   mulohazaga   aytiladi.   C++   tilida
inkor – ‘!’ belgisi bilan beriladi. Masalan, A mulohaza inkori «!A» ko‘rinishida
yoziladi; 
2) konyunksiya- ikkita A va B mulohazalar konyunksiyasi yoki mantiqiy
ko‘paytmasi   «A   &&   B»   ko‘rinishga   ega.   Bu   mulohaza   faqat   A   va   B
mulohazalar  rost  bo‘lgandagina  rost  bo‘ladi, aks  holda yolg‘on bo‘ladi  (odatda
«&&» amali «va» deb o‘qiladi). 
3) dizyunksiya – ikkita A va B mulohazalar dizyunksiyasi yoki mantiqiy
yig‘indisi «A || B» ko‘rinishda yoziladi. Bu mulohaza rost bo‘lishi uchun A yoki
B   mulohazalardan   biri   rost   bo‘lishi   yetarli.   Odatda   «||»   amali   «yoki»   deb
o‘qiladi. 
Mantiqiy amallarni bajarilish jadvali quyidagicha.
A  B  !A !B  A
&&B  A||
B 
0  0  1  1  0  0 
0  1  1  0  0  1 
1  0  0  1  0  1 
1  1  0  0  1  1 
 
Matematikadagi taqqoslash amali C++ dasturlash tilida yozilishi .
Nomi  C++   da
ifodalanishi  Misol  Natija
Tenglik  ==  12==50 
5==5  false 
true 
Teng emas  !=  100!=50 
50!=50  true 
false 
Katta  >  100>50 
50>50  true 
false 
Katta   yoki
teng  >=  100>=50 
50>=50  true 
true 
Kichik  <  100<50 
50<50  false 
false 
Kichik   yoki
teng  <=  100<=50 
50<=50  false 
16  
II - B O B . C + +   d a s t u r l a s h   t i l i n i n g       l i m i t s ,     n u m e r i c   v a
v e c t o r   k u t u b x o n a l a r i   f u n k s i y a l a r i   b i l a n   i s h l a s h
2.1 . C++ dasturlash tili tarkibidagi standart funksiyalar va ifodalar
Barcha   dasturlash   tillari   kabi   C++   dasturlash   tilida   ham   matematik
ifodalar   ma’lum   bir   standart   bo‘yicha   yoziladi.   Ifodalar   tarkibidagi   matematik
funksiyalar   C++   tilida   standart   fuksiyalar   yordamida   yoziladi,   agar   ifoda
tarkibidagi   funksiya   standart   funksiya   tarkibida   bo‘lmasa,   alohida   funksiya
yaratib olish kerak. 
Ifoda- sonlar,   harflarni   arifmetik   amallar   va   qavslar   bilan   birlashtirilgan
yozuvga aytiladi. 
C++   dasturlash   tilidagi   ifodalar   tarkibidagi   amallarni   bajarilishi
matematikadagi   amallarni   bajarilish   tartibiga   mos   keladi.   C++   tilida   arifmetik
amallarni   yozilishi   yuqoridagi   mavzuga   asosan   yoziladi.   Ifodalar   tarkibidagi
nomalumlar   faqatgina   lotin   alifbosida   yozilishi   kerak.   Ifoda   tarkibida   kasr
sonning surati yoki maxrajida ikki va undan ortiq hadlar bo‘lsa C++ tilida ular
albatta qavsga olinishi kerak. 
Agar   ifoda   tarkibida   grek   alifbosidagi   yozuvlar   bo‘lsa,   ularni   boshqa
o‘zgaruvchiga almashtirish kerak yoki o‘qilish bo‘yicha yozish kerak. 
Grek alifbosidagi ifodalarni C++ tilida ifodalanishi
Grek alifbosida  C++ tilida 
y=3*alfa-(4*beta-
alfa)/beta; 
yoki 
y=3*a-(4*b-a)/b;
 
C++ dasturlash tilida standart funksiyalar 
C++   dasturlash   tili   tarkibida   mavjud   bo‘lgan   matematik   funksiyalar
standart funksiyalar  deb ataladi. 
Ifodalar   tarkibidagi   funksiyalarni   C++   dasturlash   tilida   ifodalash   uchun
satandart   funksiyalardan   foydalaniladi.   Funksiyalarni   C++   dasturlash   tilida
ifodalash uchun ularni argumentlarini albatta qavsga olib yozish kerak. 
17 C++   dasturlash   tilida   standart   funksiyalardan   foydalanish   uchun   albatta
C++ tili  tarkibidagi  matematik funksiyalar  kutubxonasiga  murojat  qilish  kerak.
Matematik funksiyalar kutubxonasiga murojat qilish quyidagicha.
 
#include<math.h> 
C++ dasturlash tili tarkibidagi standart funksiyalar ro‘yxati quyidagicha.
№  Matematik
funksiya  C++   tilida
ifodalanishi 
1  |a|-butun
son  abs(x) 
2  |a|-haqiqiy
son  fabs(x) 
3                |    √ x
sqrt(x) 
4  x2  pow(x,2) 
5  xn  pow(x,n) 
6  10x  Pow(10,x) 
7  ex  exp(x) 
8  ln(x)  log(x) 
9  Sinx  sin(x) 
10  Cosx  cos(x) 
11  Tgx  tan(x) 
12  Ctgx  cos(x)/ sin(x) 
13  Arcsinx  asin(x) 
14  Arccosx  acos(x) 
15  Arctgx  atan(x) 
 
Misol1:  Quyidagi ifodalarni C++ tilida ifodalash. 
Matematik ifodasi 
C++ tilida ifodalanishi 
y=pow((x+sin(x)),3)+sqr(cos(x))+(1+log(x)/log(a))/(sqrt(t-x*x)); 
Misol2:  Quyidagi ifodalarni C++ tilida ifodalash. 
Matematik ifodasi 
18 C++ tilida ifodalanishi 
y=abs(x-2)+sin(x)+abs(4/sqrt(t-x*x)); 
C++   dasturlash   tilida   matematik   funksiyalardan   tashqari   ba‘zi
bajariladigan amallarni keltiramiz. Ya’ni  sonning butun qismi, qoldiq ni  topish
yoki yaxlitlash va hakoza amallar quyidagicha tasvirlanadi.
fmod(x,y)  –   x   sonini   y   ga bo‘lgandagi  qoldiqni  hisoblaydi.  Bu amalni  %
belgisi orqali ham ifodalash mumkin. 
 
Misol:  qoldiqni hisoblash. 
fmod(12,5)=2, fmod(121,100)=21, fmod(1523,1000)=523 
ceil(x) -   x   haqiqiy   sonni   uzidan   katta   bo‘lgan   eng   yaqin   son   bilan
almashtiradi. 
Misol:  butun qismini hisoblash. 
ceil(12.5698) =13,  ceil(1.5698) =2 
floor(x) -   x   haqiqiy   sonni   o‘zidan   kichik   bo‘lgan   eng   yaqin   son   bilan
almashtiradi. 
Misol:  butun qismini hisoblash. 
floor(45.6598)=45, floor(789.15246)=789 
hupot(x,   y) -   x   va   y   haqiqiy   sonlar   uchburchakning   katetlari   bo‘lsa,
gepatenuzani hisoblash.
2.2.  C + +   d a s t u r l a s h   t i l i n i n g       l i m i t s   f u n k s i y a l a r i   b i l a n
i s h l a s h
19 Formatli chiqarish – printf.  Chiqarish printf funksiyasi ko‘rsatilgan 
parametrlarni standart oqimga chiqarish uchun ishlatiladi. Standart oqim 
tushunchasi keyingi boblarda yoritiladi. Xozircha standart oqim sifatida monitor 
tushunilishi yetarlidir. 
Funksiya  stdio.h  modulida joylashgan bo‘lib, umumiy ko‘rinishi 
quyidagichadir: 
printf(control,arg1,arg2,…) 
Bunda control boshqaruvchi qator deb atalib ikki turdagi simvollardan 
iborat bo‘ladi: oddiy chiqariluvchi simvollar va navbatdagi parametrni 
o‘zgartirib chiqaruvchi spesifikasiyalar. 
Har bir spesifikasiya % simvolidan boshlanib o‘zgartirish turini 
ko‘rsatuvchi simvol bilan tugaydi. 
O‘zgartirish simvollari quyidagilardan iborat. 
Butun sonlar uchun: 
d– parametr ishorali o‘nlik butun songa aylantiriladi. 
u - parametr ishorasiz o‘nlik butun songa aylantiriladi. 
o – parametr ishorasiz va birinchi raqami 0 bo‘lmagan sakkizlik songa 
aylantiriladi. 
x – parametr ishorasiz va 0x belgisiz o‘n oltilik songa aylantiriladi. 
X – parametr xuddi x kabi. Faqat harf bilan ko‘rsatiluvchi raqamlar katta 
harf ya’ni A,B,C,D,E,F sifatida yoziladi. 
Haqiqiy sonlar uchun: 
e – parametr float yoki double turidagi son deb qaraladi va ishorali 
m.nnnnnne+-xx ko’rinishidagi o‘nlik songa keltiriladi. 
E – parametr xuddi e kabi. Faqat mantissa belgisi katta harf ya’ni E 
sifatida yoziladi. 
f   -   parametr   float   yoki   double   turidagi   son   deb   qaraladi   va   ishorali
m.nnnnnn ko‘rinishidagi o‘nlik songa keltiriladi.
g – parametr berilgan son qiymati va aniqligi uchun eng ixcham %e yoki 
%f tanlaydi. 
G – parametr xuddi g kabi. Faqat mantissa belgisi katta harf ya’ni E 
sifatida yoziladi. 
Simvol va satr uchun: 
c – parametr bitta simvol deb qaraladi. 
20 s – parametr satr simvollar no‘linchi simvol uchramaguncha yoki 
ko‘rsatilgan sondagi simvollar bosiladi. 
Misol: 
#include <stdio.h> 
int main() 
{ 
int num = -27; int number = 27; float f = 123.456; 
char r = 'a'; char str[4] = "abc"; 
printf("%d\n", num); /* -27 */ 
printf("%u\n", number); /* 27 */ 
printf("%o\n", number); /* 33 */ 
printf("%x\n", number); /* lb */ 
printf( "%f\n", f); /* 123.456001 */ 
printf("%e\n", f); /* 1.23456e+02 */ 
printf("%E\n", f); /* 1.23456E+02 */ 
printf("%c\n", r); /* a */ 
printf("%s\n", str); /* abc */ 
return 0; 
} 
Prosent % belgisi va o‘zgartirish simvoli orasiga quyidagi simvollarni 
qo‘yish mumkin. 
Chiqarilayotgan argument chapga tekislash lozimligini ko‘rsatuvchi 
minus belgisi. 
Maydon minimal uzunligini ko‘rsatuvchi raqamlar qatori. 
Maydon uzunligini keyingi raqamlar qatoridan ajratuvchi nuqta. 
Biror qatordan qancha simvol ajratib olish lozimligini hamda float yoki 
double turidagi sonlarda nuqtadan keyin qancha kasr raqamlari bosib 
chiqarilishini ko‘rsatuvchi raqamlar ketma-ketligi. 
Chiqarilayotgan son long turiga tegishli ekanligini ko‘rsatuvchi uzun 
o‘nlik markeri l. 
%   dan   keyingi   simvol   o‘zgartirish   simvoli   bo‘lmasa   u   bosmaga
chiqariladi.
% simvolini o‘zini bosmaga chiqarish uchun %% belgisini berish lozim. 
Quyidagi jadval har xil spesifikasiyalarni "HELLO, WORLD" (12 
simvolli) so‘zini bosishga ta’sirini ko‘rsatadi. Bu yerda har bir maydon 
uzunligini ko‘rsatish uchun maydon oxiriga ikki nuqta qo‘yilgan. 
21 :%10S: :HELLO, WORLD: 
:%10-S: :HELLO, WORLD: 
:%20S: : HELLO, WORLD: 
:%-20S: :HELLO, WORLD : 
:%20.10S: : HELLO, WOR: 
:%-20.10S: :HELLO, WOR : 
:%.10S: :HELLO, WOR: 
Turlar maksimal va minimal qiymatlari.  Turli turlar maksimal va 
minimal qiymatlari <LIMITS.H> faylidagi konstantalarda saqlanadi. 
Quyidagi dasturda char turidagi bitlar soni va char turi maksimal va 
minimal qiymati ekranga chiqariladi 
#include<stdio.h> 
#include<limits.h> 
int main() 
{ 
printf("CHAR_BIT = %d\n",CHAR_BIT); 
printf("CHAR_MIN = %d CHAR_MAX = %d\
n",CHAR_MIN,CHAR_MAX); 
return 0; 
}
 
Quyidagi dasturda short, int, long turlari maksimal va minimal qiymati 
ekranga chiqariladi
#include<stdio.h> 
#include<limits.h> 
int main() 
{ 
printf("SHRT_MIN = %d SHRT_MAX = %d\
n",SHRT_MIN,SHRT_MAX); 
printf("INT_MIN = %d INT_MAX = %d\n",INT_MIN,INT_MAX); 
printf("LONG_MIN = %ld LONG_MAX = %ld\
n",LONG_MIN,LONG_MAX); 
return 0; 
}
22 Quyidagi dasturda unsigned char, unsigned short, unsigned int, unsigned 
long turlari maksimal va minimal qiymati ekranga chiqariladi 
#include<stdio.h> 
#include<limits.h> 
int main() 
{ 
printf("UCHAR_MAX = %u\n",UCHAR_MAX); 
printf("USHRT_MAX = %u\n",USHRT_MAX); 
printf("UINT_MAX = %u\n",INT_MAX); 
printf("ULONG_MAX = %ul\n",ULONG_MAX); 
return 0; 
}
 
Formatli kiritish Scanf. Scanf funksiyasi stdio.h modulida joylashgan 
bo‘lib, umumiy ko‘rinishi quyidagichadir: 
Scanf(control, arg1, arg2,…) 
Funksiya standart oqimdan simvollarni o‘qib boshqaruvchi qator asosida 
formatlab mos parametrlarga yozib qo‘yadi. Parametr ko‘rsatkich bo‘lishi lozim.
Boshqaruvchi qator quyidagi o‘zgartirish spesifikasiyalaridan iborat: 
Bo‘shliq, tabulyasiya, keyingi qatorga o‘tish simvollari; 
Oddiy simvollar (% dan tashqari) kiritish oqimidagi navbatdagi simvollar 
bilan mos kelishi lozim; 
% simvolidan boshlanuvchi spesifikasiya simvollari; 
% simvolidan boshlanuvchi qiymat berishni ta’qiqlovchi * simvoli; 
% simvolidan boshlanuvchi maydon maksimal uzunligini ko‘rsatuvchi 
son; 
quyidagi spesifikasiya simvollarini ishlatish mumkin: 
d – ishorali o‘nli butun son kutilmoqda. 
o – ishorali sakkizlik butun son kutilmoqda. 
x –ishorali o‘n oltilik butun son kutilmoqda. 
h - ishorasiz o‘nlik son kutilmoqda. 
c – bitta simvol kutilmoqda. 
s – satr kutilmoqda. 
23 f - float turidagi son kutilmoqda. Kiritilayotgan sonning butun raqamlari 
va nuqtadan so‘ng kasr raqamlari soni va E yoki e belgisidan so‘ng mantissa 
raqamlari soni ko‘rsatilishi mumkin. 
#include <stdio.h> 
int main(void)
{ 
unsigned width, precision; 
int number = 256; 
double weight = 242.5; 
printf("What field width?\n"); 
scanf("%d", &width); 
printf("The number is :%*d:\n", width, number); 
printf("Now enter a width and a precision:\n"); 
scanf("%d %d", &width, &precision); 
printf("Weight = %*.*f\n", width, precision, weight); 
printf("Done!\n"); 
return 0; 
}
 
Lokal va global o‘zgaruvchilar.  C++ tilida o‘zgaruvchi ta’rifi albatta 
blok boshida joylashishi lozim. 
O‘zgaruvchi mavjudlik sohasi deb shu o‘zgaruvchiga ajratilgan xotira 
mavjud bo‘lgan dastur qismiga aytiladi. O‘zgaruvchi ko‘rinish sohasi deb 
o‘zgaruvchi qiymatini olish mumkin bo‘lgan dastur qismiga aytiladi. Biror 
blokda ta’riflangan o‘zgaruvchi lokal o‘zgaruvchi deyiladi. Har qanday blokdan 
tashqarida ta’riflangan o‘zgaruvchi global o‘zgaruvchi deyiladi. 
Lokal o‘zgaruvchi mavjudlik va ko‘rinish sohasi ta’rifdan to shu ta’rif 
joylashgan blok oxirigachadir. 
Tashqi blokdagi o‘zgaruvchi nomi shu blokda joylashgan yoki shu 
blokdagi ichki blokda o‘zgaruvchi nomi bilan bir xil bo‘lmasligi kerak. 
Global o‘zgaruvchi mavjudlik sohasi ta’rifdan to dastur oxirigachadir. 
Agar ichki blokdagi o‘zgaruvchi nomi global o‘zgaruvchi nomi bilan bir 
xil bo‘lsa lokal o‘zgaruvchi ko‘rinish sohasida global o‘zgaruvchi ko‘rinmay 
qoladi. 
Misol: 
24 #include<stdio.h> 
int i = 5; 
int k = 6; 
int main() 
{ 
int i = 9; 
printf("%d\n",i); 
printf("%d\n",k); 
return 0; 
} 
Natija: 
9 
6
25 Xulosa
Xulosa qilib aytganda, yuqorida C++ dasturlash tilining kelib chiqishidan tortib
uning   qanday   xususiyatlari   va   avfzallik   taraflarini   ko‘rib   chiqdik.
Rivojlanayotgan IT zamonida dasturchi o‘ziga har tomonlama qulay va ishlashi
uchun   tez   bo‘lgan   dasturlash   tilini   tanlashi   zarur.   Kurs   ishida   bu   haqida   bir
qancha foydali ma’lumotlar bera oldim deb o‘ylayman.
26 Foydalanilgan adabiyotlar:
1. Bjarne Stroustrup. Programming: Principles and Practice Using C++ (2nd 
Edition). Person Education, Inc. 2014. second printing, January 2015. 
2. Harry Hariom Choudhary, Bjarne M Stroustrup. C++ Programming 
Professional.: Sixth Best Selling Edition for Beginner's & Expert's 2014. 
3. http://www.stroustrup.com/4th.html 
4. http://www.cplusplus.com/  
27

C + + d a s t u r l a s h t i l i Mundarija KIRISH ………………………………………………………………………….3 I - B O B . C + + d a s t u r l a s h t i l i … … … … … … … … … … … … … … … … 5 1.1. C++ dasturlash tili tarkibidagi o‘zgaruvchi turlari va o‘zgarmaslar ………………………………..…………………………………11 1.2. C++ dasturlash tili tarkibidagi arifmetik amallar va mantiqiy amallar………………………………………………………………………… 14 II - B O B . C + + d a s t u r l a s h t i l i n i n g l i m i t s , n u m e r i c v a v e c t o r k u t u b x o n a l a r i f u n k s i y a l a r i b i l a n i s h l a s h … … … … … … … … . . 17 2.1. C++ dasturlash tili tarkibidagi standart funksiyalar va ifodalar …………………………………………………………………………17 2.2. C + + d a s t u r l a s h t i l i n i n g l i m i t s f u n k s i y a l a r i b i l a n i s h l a s h … … … … … … … … … … … ............. … … … … ......... … … … . … . 2 0 XULOSA ............................................................................................................26 FOYDALANILGAN ADABIYOTLAR ..........................................................27 2

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 muammo obektini infologik yoki diskretli modelini qurish dolzarb hisoblanadi. Infologik yoki diskretli modelni muammo 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 3

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; -yuqori 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. 4

I - B O B . C + + d a s t u r l a s h t i l i 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. 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. 5

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++ tilida yaratilgan dasturni komplyatsiya qilgandan so‘ng .cpp kengaytmali bajaruvchi fayl yaratiladi, agar ob’yektli fayl qo‘shilsa, u holda .obj kengaymali fayl yaratiladi. C++ dasturlash tilidagi dasturning umumiy ko‘rinishi quyidagicha: #include <iostream.h> // sarlavha faylni qo‘shish int main () // bosh funksiya tavsifi { // blok boshlanishi return 0; // funksiya qaytaradigan qiymat } // blok tugashi 6