logo

C++ dasturlash tilida switch va goto operatorlarining vazifalari

Yuklangan vaqt:

12.08.2023

Ko'chirishlar soni:

0

Hajmi:

85.8447265625 KB
“C++ dasturlash tilida switch va goto operatorlarining vazifalari”
MUNDARIJA
KIRISH......................................................................................................................3
I BOB .  Tanlash va o’tish operatorlari …...................................................................7
1.1.  C + +   S w i t c h   ( Ta n l a s h   O p e r a t o r i ) .................................................................7
1.2.  Shartsiz o‘tish (Goto) operatori ..........................................................................9
1.3. C++ dasturlash tilida tanlash va takrorlanuvchi 
jarayonlar………………………………….............................................................11
II BOB.  Amaliy qism dasturi va algoritm  … ……………………..………………21
2.1.  C + +   S w i t c h   d a s t u r l a r d a ………….....…………...………..……………….21
2.2.  (Goto) operatori  d a s t u r l a r d a  ………...……………………..……………….23
XULOSA ................................................................................................................25
FOYDALANILGAN
ADABIYOTLAR …………................................................................26
1 K i r i s h
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.
C dasturlash tilini Dennis Ritchie B dan keltirib chiqardi va uni 1972 yili uni
ilk bor Bell Laboratoriyasida, DEC PDP-11 kompyuterida qo’lladi. C o’zidan 
oldingi B va BCPL tillarining juda ko’p muhim tomonlarni o’z ichiga olishi bilan 
bir qatorda o’zgaruvchilarni tiplashtirdi va bir qator boshqa yangiliklarni kiritdi. 
Boshlanishda C asosan UNIX sistemalarida keng tarqaldi. Xozirda operasion 
sistemalarning asosiy qismi C++ dasturlash tillarida yozilmoqda. 
C++ 1980 yillar boshida Bjarne Stroustrup tomonidan C ga asoslangan tarzda 
tuzildi. C++ juda ko’p qo’shimchalarni o’z ichiga olgan, lekin eng asosiysi u 
obyektlar bilan dasturlashga imkon beradi. 
  Dasturlarni tez va sifatli yozish xozirgi kunda katta axamiyat kasb etmoqda. 
2 Buni ta’minlash uchun obyektli dasturlash g’oyasi ilgari surildi. 70-yillar boshida 
strukturali dasturlash kabi, dasturlarni xayotdagi jismlarni modellashtiruvchi 
obyektlar orqali tuzish dasturlash soxasida inqilob qildi desak mubolag’a 
bo’lmaydi. 
   C++ dasturlash tilidan tashqari boshqa ko’p obyektli dasturlashga 
yo’naltirilgan tillar paydo bo’ldi. Shulardan eng ko’zga tashlanadigani Xerox ning 
Palo Altoda joylashgan ilmiy-qidiruv markazida (PARC) tuzilgan Smalltalk 
dasturlash tilidir. Smalltalk da xamma narsa obyektlarga asoslangan. C++ esa 
gibrid tildir. 
  C++ funksiya va obyektlarning juda boy kutubxonasiga ega. Ya’ni C++ da 
dasturlashni o’rganish ikki qismga bo’linadi. Birinchisi bu C++ ni o’zini o’rganish,
ikkinchisi esa C++ ning standart kutubxonasidagi tayyor obyekt va funksiyalarni 
qo’llashni o’rganishdir. 
  1980 yilda C tilining avlodi C++ dasturlash tili yaratildiki, unda strukturali 
va obyektga yo’naltirilgan dasturlash texnologiyasiga tayangan xolda dastur 
yaratish imkoniyati tug’ildi. 
  C++ standarti ayni vaqtda ISO – International Standards Organization 
(Ctandartlash bo’yicha halqaro tashkilot) standarti deb ham nomlanadi. 
Tilning tarkibi Ixtiyoriy tabiiy tilning matnida 4 ta asosiy elementni ajratib 
ko’rsatish mumkin: simvollar, so’zlar, so’z birikmalari va gaplar. Bunga o’xshash 
elementlarni dasturlash til ham o’z ichiga oladi, faqat so’zlar leksemalar (elementar
tuzilmalar) so’z birikmalari - ifodalar, gaplar – operatorlar deb ataladi. Leksemalar 
simvollarda, ifodalar – leksema va simvollardan, operatorlar – simvollar, ifodalar 
va leksemalardan iborat 
Tilning tarkibi :
- Til alifbosi, yoki uning simvollari – tildagi barcha matnlari yoziladigan asosiy 
bo’linmas belgilar. 
- Leksema, yoki elementar tuzilma – mustaqil ma’noga ega tilning minimal birligi. 
- Ifoda biror qiymatni hisoblash qoidasida boradi. 
- Operatorlar biror amalning tugallangan tavsifini beradi. 
3 Til alifbosi 
C++ tilning alifbosi quyidagilarni o’z ichiga oladi: 
- Katta va kichik lotin xarflar va ta’kidlash ishorasi 
- 0 dan 9 gacha arab raqamlar 
- Maxsus belgilar: " { } , ¦ [ ] ( ) + - / % * . \ 
' : ? < = > ! & # ~ ; ^ 
Bo’shliq simvollari: bo’shliq, tabulasiya simvollari, yangi satrga o’tish simvollari. 
Alifbosi simvollaridan til leksemalari shakllanadi: 
- identifikatorlar 
- tayanch (zahiralangan) so’zlar 
- amallar ishoralari 
- konstantalar 
- ajratuvchilar (qavslar, nuqta, vergul, bo’shliq belgilari) 
  Us hb u  k ur s   i s hi da   m e n  t an l a sh   va   shartsiz o‘tish  o pe r a t or i   ha qi da  
ha m   m a ’ l u m o t l ar   be r i b  o’ t am an .  T a nl a sh  o per at or i da n  f o yd al an i s hi m i z  
uc hu n   sw i t ch   ka l i t   so 'z i d an  f o yd al an am i z .  U sh bu   op er at or n i  
qo 'l l a m a sd an   sh ar t   op er at or i   da n  f o yd al an sa ng i z  h am  b o' l a di , 
am m o   sw i t ch   an ch a  i sh i n gi z  y en gi l l as ha di
  Odatta shartsiz o’tish operatorini programmangizda ishlatmasligingizni ko’p 
programmistlar maslahat berishadi. Bu gap albatta to’g’ri. Chunki bu shartsiz 
o’tish operatori programmangiz strukturasini buzishi mumkin. Bu programmani 
ishlatib bo’lmaydigan joylar bor bunga misol: shartsiz o’tish operatori orqali qism 
dasturga o’tib bo’lmaydi, sikllarga o’tib bo’lmidi va hokazo bularni o’z 
praktikangiz davomida o’rganib borasiz.
Shartsiz o’tish operatorining umumiy ko’rinishi quyidagicha: 
Goto   <metka>;
4 Goto   operatoridan keyin boshqarilish <metka> ga uzatiladi va 
programmaning bajarilishi shu yerdan davom etadi.
Metkani nishon ham deb aytiladi bu davomida ‘:’ qo’yilgan identifikator.
Misol uchun: metka: ;
Metka har qanday operator oldidan ishlatilishi mumkin, shuningdek shart 
operatori oldidan ham.
I BOB .  Tanlash va o’tish operatorlari
1 . 1   C + +   S w i t c h   ( Ta n l a s h   O p e r a t o r i )
Dasturlash tillarida algoritmlarni dasturini tuzish vaqtida shartlarning qiymatlari
ikki va undan ortiq bo ‘lgan holatlarda dastur tuzuvchilarga bir muncha 
5 qiyinchiliklar tug‘diradi.  Agar shartlar qiymati ikkitadan ortiq holatlarni e‘tiborga 
olish kerak bo ‘lgan holatlarda har bir shart uchun kod yozishga to ‘g‘ri keladi. 
Agar shartlar soni ko ‘p bo‘lgan holatlarda, albatta, biz tanlash operatorlaridan 
foydalanish maqsadga muvofiqdir. C++ dasturlash tilida tanlash jarayonlarini if 
qisqa shartli operator ko ‘rinishda ham ifodalash mumkin. Bunday holatda, albatta,
har bir tanlov uchun shartli kod yoziladi. 
Tanlash jarayonlarini dasturiy ta‘minotini yaratishda doimo qisqa shartli 
operatorlaridan foydalanilsa, dasturning ishlash holat tezligi susayganligi seziladi, 
bunday holatlarda ko’p hollarda tanlash jarayonini  switch  operatoridan foydalanish
maqsadga muvofiq. 
C++ dasturlash tilida tanlash jarayonini tasvirlash uchun switch operatorining 
umumiy ko’rinishi quyidagicha. 
switch(<ifoda>) 
{ case <qiymat1>: <operatorlar1>; break; 
case <qiymat2>: <operatorlar2>; break; 
- - - - - - - - - - - - - - - 
case <qiymatn>: <operatorlarn>; break; 
default: <operatorlarx> 
} 
Tanlash operatorining ishlash jarayoni switch operatori tarkibidagi ifoda 
qiymati  qiymat1  ga teng bo‘lsa  operatorlar1 ,  qiymat2  ga teng bo‘lsa  operatorlar2 
va hakoza  qiymatn  ga teng bo‘lsa  operatorlarn  bajariladi aks holda  default  kalit 
so’zidan keyingi  operatorlar x  bajariladi. 
Tanlash operatorini tanlash sharti natijasining bir nechta qiymati uchun yagona 
qiymat tanlansa, bunday holatlarni ham e’tiborga olish mumkin. Tanlash 
operatorini tanlash sharti natijasining bir nechta qiymati uchun yagona qiymat 
tanlanishini quyidagi masala orqali ko’rib chiqamiz. 
Misol:  Berilgan oy tartib soni qaysi faslga 
tegishli ekanligini aniqlash dasturi.  #include 
<iostream.h> 
6 int main () 
{ int i; 
cout<< ‘‘oy tartib raqamini kiriting’’; 
cin>>i; 
switch(i) 
{ case 1: 
case 2: 
case 12: cout<< ‘‘qish”; break; 
case 3: 
case 4: 
case 5: cout<< ‘‘bahor”; break; 
case 6: 
case 7: 
case 8: cout<< “yoz; break”; 
case 9: 
case 10: 
case 11: cout<< “kuz”; break; 
default: cout<< ‘‘oy tartib raqami emas”; 
} 
return 0; 
} 
Dastur natijasi 
i=2 bo‘lsa qish 
i=7 bo‘lsa yoz 
Yuqoridagi masala shartiga e‘tibor bersak uchta qiymat uchun yagona tanlash 
bajarilyapti. 
Demak tanlash jarayonlarini yuqoridagi holatlarni e‘tiborga olib C++ dasturlash
tilida tasvirlashimiz mumkin.
Tanlash operatori – o’zgaruvchining qiymatiga qarab ko’p tarmoq ichidan 
bittasi tanlanadi. Bu operatorning kurinishi quyidagicha: 
7 switch (ifodayoki o’zgaruvchi) 
{ case1-qiymat: operator(lar); break; 
case 2-qiymat: operator(lar); break; 
casen - qiymat: operator(lar); break; 
default : aks holdagioperator (lar); }
1.2.  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.
Bu operator hech imkon bo’lmay qolgan holda dasturning tabiiy bajarilishini 
buzib, boshqaruvni dasturning ixtiyoriy joyiga uzatish uchun xizmat qiladi.
O’tish operatori quyidagicha beriladi: 
goto nishon(belgi);
bu yerda  goto(..ga o’tish)  - operator nomi,  nishon  – bu belgi bo’lib, u harf, 
harflar yoki harf va sonlar bo’lishi mumkin. Bu operatordan foydalanish uchun 
boshqaruv shartsiz ravishda uzatiladigan operator belgilanadi. Operatorni belgilash
uchun uning oldiga  nishon va :  qo’yiladi:  nishon : operator;  
Masalan:  goto a; 
.................
a: y=x*x+c;
Bu yerda  goto a;  operatori bajarilgandan keyin boshqaruv to’g’ridan-tog’ri 
a:y=x*x+c;  operatorga uzaytriladi.
8 1.3. C++ dasturlash tilida tanlash va takrorlanuvchi jarayonlar
C+ +  d as t u r l as h  t i l i da   m a t e m a t i ka da   qo 'l l a ni l a di ga n  od at i y  m an t i qi y 
sh ar t l ar ni  q o' l l ab  q uv va t l ay di .
 K a m r o q :   a   < b
 K a m   y o k i   t e n g :   a   < =   b
 K a t t a r o q :   a >   b
 K a t t a r o q   y o k i   t e n g :   a >   =   b
 a   = =   b   g a   t e n g
 T e n g   e m a s :   a !   =   b
C  + +  qu yi d ag i  s ha r t l i  i b or al ar g a  e ga :
1 . i f A g a r   b e l g i l a n g a n   s h a r t   r o s t   b o ' l s a ,   b a j a r i l i s h i   k e r a k   b o ' l g a n  
k o d   b l o k i n i   b e l g i l a s h   u c h u n   f o y d a l a n i n g
2 . e l s e A g a r   b i r   x i l   s h a r t   n o t o ' g ' r i   b o ' l s a ,   b a j a r i l i s h i   k e r a k   b o ' l g a n  
k o d   b l o k i n i   b e l g i l a s h   u c h u n   f o y d a l a n i n g
3 . e l s e   i f A g a r   b i r i n c h i   s h a r t   n o t o ' g ' r i   b o ' l s a ,   s i n o v   q i l i s h   u c h u n  
y a n g i   s h a r t n i   b e l g i l a s h   u c h u n   f o y d a l a n i n g
4 . s w i t c h A m a l g a   o s h i r i l a d i g a n   k o ' p l a b   a l t e r n a t i v   k o d   b l o k l a r i n i  
b e l g i l a s h   u c h u n   f o y d a l a n i n g
IF   (Agar)
i f Ag ar  s ha r t  b o' l s a,  b aj ar i l i sh i  k er a k  b o' l g an  C   ++  k od i   bl o ki ni  
be l g i l as h   uc hu n   ba yo nn om ad an   f oy da l a ni ng     t ru e .
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.
Qu yi da gi  m i s ol da ,  1 5  ni ng  1 3  da n  ka t t a  e ka nl i g i n i   an i q l a sh   uc hu n 
i k ki t a  q i y m a t n i   si na b  k o'r am i z ,  a ga r   sh ar t   bo 'l sa   t ru e ,  ba 'z i  m at nl ar n i  
ch op  e t i ng :
9 # 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)
el se   Ag ar  s ha r t  b o' l s a,  b aj ar i l i sh i  k er a k  b o' l g an  k od  b l o ki ni  
be l g i l as h   uc hu n   f oy da l a ni ng   f al se .
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
10 else if   (Aks holda agar)
el se  i f ag ar  a ks   ho l d a  de ga n  m a' no ni   ber i b  b i r i nc hi  y ok i   un da n  yu qor i  
sh ar t l ar  q an oa t l an t i r m a sa  u sh bu   sh ar t   op er at or i  i sh l a t i l a di .
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+ +  d as t u r l as h  t i l i ni  s hu nd ay  bi r   i m k on i y at i   bor ki  b ul ar   bi r i n i  
i m ko ni ya t i  s ha r t  o per at or i ni  q i s qa r t i r i b  .  yo zi sh da n   i b or a t .  Q uy i d ag i  
f or m ul an i   yo d  ol i n g.
o'zgaruvchi = ( shart ) ?   shart to'g'ri bo'lsa :     shart notug'ri bo'lsa ;
Qu yi da gi  k od ga  e ' t i b or   be ri ng .
# include   <iostream>
using   namespace  std;
int   main ()   {
    int  time =  20 ;
11     if  (time <  18 ) {
        cout <<  "Hayirli Kun." ;
  }  else  {
        cout <<  "Hayirli Kech." ;
  }
    return   0 ;
}
Qi s q a   t a r t i b d a   y o z i s h.
#include <iostream>
using   namespace   std ;
int   main ()  {
    int  time =  20 ;
    string  result = (time <  18 ) ?  "Hayirli Kun."  :  "Hayirli Kech." ;
    cout << result;
    return   0 ;
}
Hayirli Kech.
T ak r or l a sh   qa da m i ni  a m a l g a  o sh i r i s h  u ch un   wh i l e   ka l i t   so 'z i d an  
f oy da l a na m i z.   sh ar t   or q al i   t s ki l  h os i l  b o' l a di .  q uy i d ag i   si nt ak si sn i  
o' zi ng i z ga   f or m ul a  s i f at i d a  yo dl ab  q uy i n g.
while   (<Shart>)  {
    // tsikl tanasi
}
Mi so l :   wh i l e   da n  f o yd al an i b  0  d an  7  g ac ha   so nl ar ni  e kr an ga   ch i q ar i sh  
da st ur i n i   t u zi sh .
# include   <iostream>
using   namespace  std;
int   main ()   {
    int  i =  0 ;
    while  (i <=  7 ) {
        cout << i <<  "\n" ;
        i++;
  }
    return   0 ;
}
0
1
12 2
3
4
5
6
7
Do/While   Tsikl
do / wh i l e   va   wh i l e   i k ki si   ha m   t s ki l   hi so bl an ad i .   bi r i n ch i s i n i  
i k ki nc hi si da n  f ar q l i   j i ha t i  s hu nd ak i  b i r i n   do / wh i l e   av va l  s ha r t ni  b aj ar i b 
ke yi n  t e ks hi r a di .   wh i l e   es a   av va l   sh ar t  b aj ar i l a di  a ga r   t o 'g 'r i   bo 'l sa   t s i k l  
t a na si da gi  k od  i sh l a t i l a di .  qu yi da gi   do / wh i l e   si nt ak si si ni   yo dd a 
sa ql as hi ng i z   zar ur  b o' l a di .
do  {
    // tsikl tanasi
}
while   (<Shart>) ;
Yu qor i d ag i   Mi so l d ag i   sh ar t g a  m uaf i q  s hu ni   bi z   do / wh i l e   da  i sh l a b  
ko 'r am i z .
# include   <iostream>
using   namespace  std;
int   main ()   {
    int  i =  0 ;
    do  {
        cout << i <<  "\n" ;
        i++;
  }
    while  (i <=  7 );
    return   0 ;
}
0
1
2
3
4
5
6
13 7
Unutmang!   tskil aylanayotgan vaqtda bog'liq bo'lgan o'zgaruvchini 
o'zgartirishni unutmang. agar qiymatini o'zgartirmasangiz tsikl tugamaydi.
C + +   F o r Ts i k l
for  (shart 1; shart 2; shart 3 )  {
    // for tsikl tanasi
}
Mi so l   ko 'r i b  ch i q am i z .   Ta kr or l a sh  O p er at or i   da  b er i l ga n  m i so l d ag i  
ko dn i   f or   t s ki l d a  y oz am i z .
# include   <iostream>
using   namespace  std;
int   main ()   {
    for  ( int  i =  0 ; i <=  7 ; i++) {
        cout << i <<  "\n" ;
  }
    return   0 ;
}
0
1
2
3
4
5
6
7
Misolni tahlili
1  -  s ha rt :   t s i k l  a yl an i s hi   j ar ay on i d a  b og 'l i q  b o' l g an  o 'z ga r u vc hi  
qi ym at i   ber i l ad i .   i nt  i  =   0;
2  -  s ha rt :   t s ki l n i   ay l a ni sh  d avr i n i   be l g i l ay si z.   bu nd a  a so sa n   bor ad i g an  
so n  b er i l a di .  un ut m a ng  t si kl   qa da m i ga   t e sk ar i   so n  q uy sa ng i z  t sk i l  
t u ga m a y.
3  -  s ha rt :   t s i k l   qa da m i   bo 'l i b  h ar   bi r  a yl an ga n  v aq t d a  t si kl  b o' gl i q  
bo 'l ga n  o 'z ga r u vc hi ni ng  o sh i b   bor ad i g an   qi y m a t i  t us hu ni l a di .
14 Mi so l :   0  da n  10  g ac ha   bo 'l ga n  s on l a r n i   f a qa t   j uf t   so nl ar ni  c hi qar i s h  
da st ur i n i   t u zi sh .
# include   <iostream>
using   namespace  std;
int   main ()   {
    for  ( int  i =  2 ; i <=  10 ; i = i +  2 ) {
        cout << i <<  "\n" ;
  }
    return   0 ;
}
2
4
6
8
10
C + +   B re a k   v a   C o n t i n u e
As sa l o m u  a l a yk um   bu gu n  si z  b i l a n   br ea k   va   co nt i nue   ha qi da  
ga pl as hi b  o l a m i z.   Fun ks i y al ar ,  Sh ar t   op er a t o r l a r i  v a  t a kr o r l a sh  
op er at or l ar i da  k o' p  q o' l l an i l ad i .
C++   break
Si z  al l a qa ch on   br ea k us hb u  d ar sl i k ni ng  o l d i n gi  b obi da   i s hl at i l ga n  
i b or a ni   ko 'r ga ns i z   .   Bu     sw i t ch   da r s l i gi da  k o' r g an  e di ng i z   "s ak r a sh i "  
uc hu n  i s hl at i l ga n   .
break   - yakka holatda o'zi keladi. funksiya, shart operatori yoki tsikl ni ishini 
yakunlash uchun ishlatiladi.
Mi so l :   0  da n  10  g ac ha   t s i k l  h os i l   qi l i n g.  S an as h  j ar ay on i d a  4  -  
t a kr o r l a ni sh da  t si kl ni  y ak un l a ng .
# include   <iostream>
using   namespace  std;
15 int   main ()   {
    for  ( int  i =  0 ; i <  10 ; i++) {
        if  (i ==  4 ) {
            break ;
      }
        cout << i <<  "\n" ;
  } 
    return   0 ;
}
0
1
2
3
C++   continue
continue   - yakka holatda kelib ushbu kalit so'zi kelganda undan keyin kelgan 
kodni o'tkazib yuboradi. tsikl da kelgan vaqtida undan keyin kelgan kodni o'tkazib 
yuborib tsiklni takrorlashni davom etadi.
Mi so l :   0  da n  10  g ac ha   t a kr or l as h  a m a l g a  o sh i r i b  s hu nd a  4  s on i n i  
ch i q ar m a ng .
# include   <iostream>
using   namespace  std;
int   main ()   {
    for  ( int  i =  0 ; i <=  10 ; i++) {
        if  (i ==  4 ) {
            continue ;
      }
        cout << i <<  "\n" ;
  }     
    return   0 ;
}
0
1
2
3
5
6
7
8
9
16 10
Har ikkalasini vaziyatga qarab bir yoki bir necha marta ishlatishingiz 
mumkin.
17 II BOB. Amaliy qism dasturi va algoritm
2 . 1 .   C + +   S w i t c h   d a s t u r l a r d a
Sw i t c h   t a nl as h  o pe r a t or i n i n g  si nt ak si s  k o'r i n i s hi .
switch (qiymat) {
    case  x:
        // code block
        break ;
    case  y:
        // code block
        break ;
    default :
        // code block
}
Bu   quy i da gi ch a  i s hl ay di :
 s w i t c h I f o d a   b i r   m a r t a   b a h o l a n a d i
 I f o d a n i n g   q i y m a t i   h a r   b i r i n i n g   q i y m a t l a r i   b i l a n  
t a q q o s l a n a d i   c a s e
 A g a r   m o s   k e l a d i g a n   b o ' l s a ,   t e g i s h l i   k o d   b l o k i   b a j a r i l a d i
 b r e a k   t a n l a s h   o p e r a t o r i n i   i s h i n i   y a k u n l a y d i
 d e f a u l t k a l i t   s o ' z l a r   i x t i y o r i y   b o ' l g a n   q i y m a t   u c h u n   i s h l a y d i .  
y u q o r i d a g i   b i r o n t a s i   m o s   k e l m a s i   d e m a k   d e f a u l t   i s h l a y d i .
Qu yi da gi  m i s ol da   ha f t a   ku nl ar i  n om i ni  h i s ob l a sh  u ch un   sw i t ch   i s h  
ku ni ni ng  r a qa m i  i sh l a t i l a di :
# include   <iostream>
using   namespace  std;
int   main ()  {
    int  day =  4 ;
    switch  (day) {
    case   1 :
        cout <<  "Dushanba" ;
        break ;
    case   2 :
        cout <<  "Seshanba" ;
        break ;
    case   3 :
18         cout <<  "Chorshanba" ;
        break ;
    case   4 :
        cout <<  "Payshanba" ;
        break ;
    case   5 :
        cout <<  "Juma" ;
        break ;
    case   6 :
        cout <<  "Shanba" ;
      break ;
    case   7 :
        cout <<  "Yakshanba" ;
        break ;
  }
    return   0 ;
}
Payshanba
2.2.  (Goto) operatori  d a s t u r l a r d a
// Ushbu dastur foydalanuvchi tomonidan kiritilgan sonlarning o'rtacha qiymatini 
hisoblab chiqadi.
// Agar foydalanuvchi manfiy sonni kiritsa, u sonni e'tiborsiz qoldiradi va
undan keyin kiritilgan  sonni oladi.
# include <iostream>
using namespace std;
19 int main()
{
    float num, average, sum = 0.0;
    int i, n;
    cout << "Maximum kiritiladigan sonlar: ";
    cin >> n;
    for(i = 1; i <= n; ++i)
    {
        cout << "Enter n" << i << ": ";
        cin >> num;
        
        if(num < 0.0)
        {
           // Dasturni boshqarishga o'tish uchun harakat qilish:
goto o'tish;        } 
        sum += num;
    }
    
jump:
    average = sum / (i - 1);
    cout << "\nAverage = " << average;
    return 0;
}
5 ta musbat sonni o’rta arifmetigini hisobladi:
20 Quyida manfiy sonni hisobga olmasdan o’rta arifmetikni hisoblaganini 
ko’rishingiz mumkin :
21 XULOSA
C++ dasturlash tilidagi shartli algoritmning yana bir turi mavjud ekan, bu 
tanlash asosida algoritmning bajarilishidir. Algoritm tarkibida shartli operatorning 
natijasi ikki va undan ortiq ham bo’lishi mumkin ekanligini kurs ishimda 
ko’rsatishga urundim. Agar shartning natijasi ikki va undan ortiq bo’lsa, bunday 
holatlarda tanlash jarayonlaridan foydalanilishini ham ko’rsatib o’tdim.
Va yana men dasturlash jarayonida ba‘zi bir masalalarni algoritmlari tarkibidagi
buyruqlar bir necha marta bajarilishiga to’g‘ri kelishini ko’rsatib o’tishga ham 
urundim. 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 ekanligini kurs yuqorida ko’rishingiz mumkin.
22 FOYDALINILGAN ADABIYODLAR
1.   Nazarov Fayzullo Maxmadiyarovich .  C++ tilida dasturlash 
a soslari    S amarqand – 2017  146-160-betlar
2.Страуструп Б. Язик программирования С++. Специальное издание. –
Москва 1997. -1055 с. 
3.Фролов А.Б. Фролов Г.Б. Язик С# Самоучитель. Москва 2003.-559 с. 
4.Герберт Ш. С++ Базовый курс. Москва Издательский дом 
―Вильямс .2010.-621 с. ‖
5. Стенли Липпман. Язык программирование С++. Базовой курс. 
Вильямс - М.: 2014. 
6.Никита Культин. Microsoft Visual C++ в задачах и примерах. БХВ-
Петербург - Петербург.:2010. 
7. Б. Страуструп. Язык программирования С++. Специальное издание.-
М.:ООО «Бином-Пресс», 2006.-1104 с. 
8. Павловская Т.А. С++. Программирование на языке высокого уровня 
–СПб.: Питер. 2005.- 461 с. 
9. Подбельский В.В. Язык С++.- М.; Финансы и статистика- 2003 562с. 
10.Павловская Т.С. Щупак Ю.С. С/С++. Структурное 
программирование. Практикум.-СПб.: Питер,2002-240с 
11.Павловская Т.С. Щупак Ю.С. С++. Объектно- ориентированное 
программ-мирование. Практикум.-СПб.: Питер,2005-265с 
12.С++: Учебный курс.- Харьков: Фолио; М.: ООО «Издательство 
АСТ», 2001.-500с. 
13.Ш.Ф. Мадрахимов, С. М. Гайназаров С++ тилида программалаш 
асослари. Т. 2009. 
14.www.Intuit.ru. Интернет-Университет информационных 
технологий.Москва. 
15. Пильшиков В.Н. Упражнения по языку Паскаль-М.: МГУ, 1986. 
16. Абрамов С.А.,Гнезделова Капустина Е.Н.и др. Задачи по программ-
мированию. - М.: Наука, 1988. 
17. Вирт Н. Алгоритмы + структуры данных = программа.-
М.:Мир,1985.-405с. 
18. Eshtemirov S. Nomozov F. C++ dasturlash tili. Uslubiy qo‘llanma. 
Samarqand 2016. -146 b.
19.   https://www.programiz.com/  
21.  https://uzbekdevs.uz/
22.  https://webdastur.uz/
23.  “ C++ tilida dasturlash asoslari” o’quv uslubiy majmua Toshkent 2016
TATU t.f.d. professor A.X. Nishanov 
23 24

“C++ dasturlash tilida switch va goto operatorlarining vazifalari” MUNDARIJA KIRISH......................................................................................................................3 I BOB . Tanlash va o’tish operatorlari …...................................................................7 1.1. C + + S w i t c h ( Ta n l a s h O p e r a t o r i ) .................................................................7 1.2. Shartsiz o‘tish (Goto) operatori ..........................................................................9 1.3. C++ dasturlash tilida tanlash va takrorlanuvchi jarayonlar………………………………….............................................................11 II BOB. Amaliy qism dasturi va algoritm … ……………………..………………21 2.1. C + + S w i t c h d a s t u r l a r d a ………….....…………...………..……………….21 2.2. (Goto) operatori d a s t u r l a r d a ………...……………………..……………….23 XULOSA ................................................................................................................25 FOYDALANILGAN ADABIYOTLAR …………................................................................26 1

K i r i s h 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. C dasturlash tilini Dennis Ritchie B dan keltirib chiqardi va uni 1972 yili uni ilk bor Bell Laboratoriyasida, DEC PDP-11 kompyuterida qo’lladi. C o’zidan oldingi B va BCPL tillarining juda ko’p muhim tomonlarni o’z ichiga olishi bilan bir qatorda o’zgaruvchilarni tiplashtirdi va bir qator boshqa yangiliklarni kiritdi. Boshlanishda C asosan UNIX sistemalarida keng tarqaldi. Xozirda operasion sistemalarning asosiy qismi C++ dasturlash tillarida yozilmoqda. C++ 1980 yillar boshida Bjarne Stroustrup tomonidan C ga asoslangan tarzda tuzildi. C++ juda ko’p qo’shimchalarni o’z ichiga olgan, lekin eng asosiysi u obyektlar bilan dasturlashga imkon beradi. Dasturlarni tez va sifatli yozish xozirgi kunda katta axamiyat kasb etmoqda. 2

Buni ta’minlash uchun obyektli dasturlash g’oyasi ilgari surildi. 70-yillar boshida strukturali dasturlash kabi, dasturlarni xayotdagi jismlarni modellashtiruvchi obyektlar orqali tuzish dasturlash soxasida inqilob qildi desak mubolag’a bo’lmaydi. C++ dasturlash tilidan tashqari boshqa ko’p obyektli dasturlashga yo’naltirilgan tillar paydo bo’ldi. Shulardan eng ko’zga tashlanadigani Xerox ning Palo Altoda joylashgan ilmiy-qidiruv markazida (PARC) tuzilgan Smalltalk dasturlash tilidir. Smalltalk da xamma narsa obyektlarga asoslangan. C++ esa gibrid tildir. C++ funksiya va obyektlarning juda boy kutubxonasiga ega. Ya’ni C++ da dasturlashni o’rganish ikki qismga bo’linadi. Birinchisi bu C++ ni o’zini o’rganish, ikkinchisi esa C++ ning standart kutubxonasidagi tayyor obyekt va funksiyalarni qo’llashni o’rganishdir. 1980 yilda C tilining avlodi C++ dasturlash tili yaratildiki, unda strukturali va obyektga yo’naltirilgan dasturlash texnologiyasiga tayangan xolda dastur yaratish imkoniyati tug’ildi. C++ standarti ayni vaqtda ISO – International Standards Organization (Ctandartlash bo’yicha halqaro tashkilot) standarti deb ham nomlanadi. Tilning tarkibi Ixtiyoriy tabiiy tilning matnida 4 ta asosiy elementni ajratib ko’rsatish mumkin: simvollar, so’zlar, so’z birikmalari va gaplar. Bunga o’xshash elementlarni dasturlash til ham o’z ichiga oladi, faqat so’zlar leksemalar (elementar tuzilmalar) so’z birikmalari - ifodalar, gaplar – operatorlar deb ataladi. Leksemalar simvollarda, ifodalar – leksema va simvollardan, operatorlar – simvollar, ifodalar va leksemalardan iborat Tilning tarkibi : - Til alifbosi, yoki uning simvollari – tildagi barcha matnlari yoziladigan asosiy bo’linmas belgilar. - Leksema, yoki elementar tuzilma – mustaqil ma’noga ega tilning minimal birligi. - Ifoda biror qiymatni hisoblash qoidasida boradi. - Operatorlar biror amalning tugallangan tavsifini beradi. 3

Til alifbosi C++ tilning alifbosi quyidagilarni o’z ichiga oladi: - Katta va kichik lotin xarflar va ta’kidlash ishorasi - 0 dan 9 gacha arab raqamlar - Maxsus belgilar: " { } , ¦ [ ] ( ) + - / % * . \ ' : ? < = > ! & # ~ ; ^ Bo’shliq simvollari: bo’shliq, tabulasiya simvollari, yangi satrga o’tish simvollari. Alifbosi simvollaridan til leksemalari shakllanadi: - identifikatorlar - tayanch (zahiralangan) so’zlar - amallar ishoralari - konstantalar - ajratuvchilar (qavslar, nuqta, vergul, bo’shliq belgilari) Us hb u k ur s i s hi da m e n t an l a sh va shartsiz o‘tish o pe r a t or i ha qi da ha m m a ’ l u m o t l ar be r i b o’ t am an . T a nl a sh o per at or i da n f o yd al an i s hi m i z uc hu n sw i t ch ka l i t so 'z i d an f o yd al an am i z . U sh bu op er at or n i qo 'l l a m a sd an sh ar t op er at or i da n f o yd al an sa ng i z h am b o' l a di , am m o sw i t ch an ch a i sh i n gi z y en gi l l as ha di Odatta shartsiz o’tish operatorini programmangizda ishlatmasligingizni ko’p programmistlar maslahat berishadi. Bu gap albatta to’g’ri. Chunki bu shartsiz o’tish operatori programmangiz strukturasini buzishi mumkin. Bu programmani ishlatib bo’lmaydigan joylar bor bunga misol: shartsiz o’tish operatori orqali qism dasturga o’tib bo’lmaydi, sikllarga o’tib bo’lmidi va hokazo bularni o’z praktikangiz davomida o’rganib borasiz. Shartsiz o’tish operatorining umumiy ko’rinishi quyidagicha: Goto <metka>; 4

Goto operatoridan keyin boshqarilish <metka> ga uzatiladi va programmaning bajarilishi shu yerdan davom etadi. Metkani nishon ham deb aytiladi bu davomida ‘:’ qo’yilgan identifikator. Misol uchun: metka: ; Metka har qanday operator oldidan ishlatilishi mumkin, shuningdek shart operatori oldidan ham. I BOB . Tanlash va o’tish operatorlari 1 . 1 C + + S w i t c h ( Ta n l a s h O p e r a t o r i ) Dasturlash tillarida algoritmlarni dasturini tuzish vaqtida shartlarning qiymatlari ikki va undan ortiq bo ‘lgan holatlarda dastur tuzuvchilarga bir muncha 5