Tarmoqlanuvchi jarayonlarni dasturlash
Tarmoqlanuvchi jarayonlarni dasturlash Reja: 1. Tarmoqlanuvchi jarayonlarni dasturlash. 2. Qisqa, to‘liq va so‘roq shartli operatorlari va ularning ishlash mexanizmlari asosida dastur yaratish.
Programmalash t ili operatorlari yech i layotgan masala algor i tmini am a lga oshirish uchun ishlatiladi . Operatorlar chiziqli va boshqaruv operatorlariga bo’linad i . Aks a riyat holatlarda opera t orlar « nuqta - vergul » (‘;’) belg i si bilan tugallanadi va u kompilyator tomonidan aloh i da operator deb qabul qilinadi (for operat o rining qavs ichida t urgan ifodal a ri bundan mustasno ). Bunday operator ifo d a operato r i dey i ladi . Qiym a t berish amallari guruhi , xususan , qiymat berish operat o rlari ifoda operatorlari hisoblanadi : I++; --j; k+= I ; Programma tuzish amaliyotida bo’sh ope r a t or - ‘;’ ishlatilad i . Garchi bu operator hech nima bajarmasa ham , hiso b lash ifodalar i ni til qurilma l ariga mos kelishini ta’m i nlaydi . Ayr i m hollarda yuza g a ke lgan « bo sh i berk » h o latlar d an chiqib ketish imkonini beradi . O’zgaruvchilarni e’lon qilish ham operator hisoblanadi va ular g a e’lon operatori deyiladi . Shart operatori. Oldingi mavzularda misol tariqasida kel t irilgan programmal a rda amallar yozilish tartibida ket m a - ket va faqat b i r marta bajariladigan holatlar , ya’ni chiziqli algoritmlar kelt i rilgan . Amalda esa kamdan - kam masalal a r shu tari q a ye ch il i shi mumkin . Aksariyat ma s alalar yu za g a keladigan turli hola t larga bog’l i q ravishda mos qa r or qabul q ilishni ( yechimni ) talab etad i . C++ tili progr a m maning alohida bo’laklarining bajarilish t artibini boshqa r ishga i m kon beru v chi qurilmalarning yetarlicha katta majmua s iga ega . Masala n , progr a m m a bajarilishining birorta qadami d a qandaydir shartni tekshirish natijasiga k o’ra boshqaruvni progr a m maning u yoki bu bo’lagiga uzatish mumkin
( tarmoqlanuvchi algoritm ). Tarmoqlanishni a m alga o sh irish uchun sh a r t li ope r atordan foydalanila d i . if operato r i. if operat o ri qandaydir shartni rostli k ka teksh i rish natijasiga ko’ra programmada tarmoqlani sh ni a m alga oshiradi : if (< shar t > )< oper a t o r >; Bu yerda < shart > har qa n day ifoda bo’lishi mumki n , odatda u taqqos l a sh amali bo’ladi . Ag a r shart 0 qiymati d an farqli yoki rost (true) bo’lsa , < operator > bajariladi , aks holda , ya’ni shart 0 yoki yolg’on (false) bo’lsa , hyech qanday amal b ajarilmaydi va boshqaruv if o pe ratori d an keyingi o peratorga o’tadi ( agar u mavjud bo’l s a ). Ushbu holat 4.1- rasmda ko’rsatilgan . 1 - rasm . if() shart opera t or i ning bl o k sxemasi C++ t ilini n g qurilmalari operatorlar n i blok k o’rin i shida tashkil qi l ishga imkon beradi . Blok - ‘{‘ va ‘ } ’ be l gi oralig’iga olin g an o peratorlar ketma - ketligi bo’lib , u ko m pilyator tomonid a n yaxlit biroperator ha (true) shart-ifoda Yo ’q (false)
operator de b qabul qilinad i . Blok ich i da e’lon operatorlari ham bo’l i shi mumkin va ularda e’lon qilingan o’zgaruvchilar faqat sh u blok ichida ko’rinadi ( amal qiladi ), blo k dan tashqarida k o’ rinmayd i . Blokdan keyin ‘;’ be l gisi qo’yilma s ligi mumkin , lekin blok ich i dagi har bir ifoda ‘;’ belgisi bilan yakunlanishi shart . Quyida keltirilgan programmada if operatoridan foyd a lan i sh ko’rsatilgan . #in c lude <io s tre a m.h> int m ain ( ) { int b ; cin > >b; if ( b >0) { // b > 0 shart baj a ril g an h o lat ... cou t <<“b - mu s bat son ” ; ... } if ( b <0) cou t <<“b - ma n fiy son ” ; // b <0 shart baj a ril g an h o lat ret u rn 0; } Programma baj a rili sh i jarayonida butun tu r dagi b o’z g aruvchi e’lon qilinadi va un i ng qiymati klaviaturadan o’qiladi . Keyin b qiymatini 0 sonidan katt a ligi te kshiriladi , a g ar shart bajarilsa (true) , u holda ‘{‘ va ‘ } ’ belg i lar ichidagi operatorlar bajariladi va ekranga “b - musbat son ” xabari chiqadi . Ag a r sh art bajarilmasa , bu operatorlar cheklab o’tilad i . N a vbatdagi sha r t operatori b o’z g aru v chi qiymati manfiyli k ka tekshiradi , a gar shart ba j arilsa , yago n a c o ut ko’rsatmasi bajariladi va ekranga “b - man f iy son ” xabari ch i qadi .
if - else oper a t o r i. Shart operatorini n g if - else ko’rinishi quyidagicha : if (< shart - i f o da >) < ope r ato r 1 >; else < o per a tor 2 > ; Bu yerda < shart - ifoda > 0 qiymatidan fa r qli yoki true bo’lsa , < ope r a - tor 1 >, aks holda < operator 2 > bajariladi . if-else shart operatori maz - muniga ko’ra algoritmning tarmoqlanuvchi blokini ifodalaydi : < shart - ifoda > - sh a rt bloki ( ro m b ) va < operator 1 > blokning « ha » shox i ga , < operator 2 > esa blo k ning « yo’q » sh oxiga mos keluvchi amallar bloklari deb qarash mumkin (2- ra s m ). 2- rasm . if(); else sh art operat o ri n ing bl o k sxemasi Misol tariqasida diskriminantni hisoblash usuli yordamida ax 2 +bx+c=0 ko’rinishidagi kvadrat tenglama ildizlarini topish masalasi n i ko’raylik : #in c lude <io s tre a m.h> #in c lude <ma t h.h> int m ain ( ) operator 1 operator 2 shart-ifodaha (true) yo’q (false)