C/C++ tilida dasturlash




Download 1,39 Mb.
Pdf ko'rish
bet12/18
Sana18.01.2024
Hajmi1,39 Mb.
#140543
1   ...   8   9   10   11   12   13   14   15   ...   18
Bog'liq
c kurs ishii

 
if STRUKTURASI 
Biz shartga ko'ra bir necha harakat yo'lidan bittasini tanlaymiz. Misol uchun 
agar bolaning yoshi 7 ga teng yoki katta bo'lsa u maktabga borishi mumkin bo'lsin. 
Buni C++ da if ni qo'llab yozaylik. 
if (yosh >= 7)
maktab(); 
Bu yerda shart bajarilishi yoki bajarilmasligi mumkin. Agar yosh 
o'zgaruvchisi 7 ga teng yoki undan katta bo'lsa shart bajariladi va maktab() 
funksiyasi chaqiriladi. Bu holat true (to'g'ri) deyiladi. Agar yosh 7 dan kichik bo'lsa, 
maktab() tashlab o'tiladi. Yani false (noto'g'ri) holat yuzaga keladi. Biz shart qismini 
mantiqiy operatorlarga asoslanganligini ko'rib chiqqan edik. Aslida esa shartdagi 


22 
ifodaning ko'rinishi muhim emas – agar ifodani nolga keltirish mumkin bo'lsa false 
bo'ladi, noldan farqli javob bo'lsa, musbatmi, manfiymi, true holat paydo bo'ladi va 
shart bajariladi. 
Bunga qo'shimcha qilib o'tish kerakki, C++ da mahsus bool tipi mavjud. Bu 
tipdagi o'zgaruvchilarning yordamida bul (mantiqiy) arifmetikasini amalga oshirish 
mumkin. bool o'zgaruvchilar faqat true yoki false qiymatlarini olishlari mumkin. 
if/else STRUKTURASI 
if ni qo'llaganimizda ifoda faqat shart haqiqat bo'lgandagina bajariladi, 
aksholda tashlanib o'tiladi. if/else yordamida esa shart bajarilmaganda(false natija 
chiqqanda) else orqali boshqa bir yo'ldan borishni belgilashmumkin. Misolimizni 
takomillashtirsak. Bola 7 yosh yoki undan katta bo'lsa maktabga, 7 dan kichkina 
bo'lsa bog'chaga borsin. 
if (yosh >= 7) 
maktab(); //nuqta-vergul majburiydir 
else 
bogcha(); 
Yuqorida if ga tegishli bo'lgan blok bitta ifodadan (maktab()) iborat. Shu 
sababli nuqta-vergul qo'yilishi shart. Buni aytib o'tishimizning sababi, masal 
Pascalda hech narsa qo'yilmasligi shart. C++ da bitta ifosa turgan joyga ifodalar 
guruhini {} qavslarda olingan holda qo'ysa bo'ladi. Masalan: 
if (yosh >= 7){ 
console.writeline("Maktabga!\n"); 
maktab(); 
} else{ 
console.writeline( "Bog'chaga!\n" ); 
bogcha();

Aslida har doim {} qavslarni qo'yish yahshi odat hisoblanadi; keyinchalik bir 
ifoda turgan joyga qo'shimcha qilinganda qavslardan biri unutilib qolmaydi. 


23 
Strukrurali dasturlashning yana bir harakterli joyi shundaki tabulyatsiya, bo'sh joy 
va yangi satrlar ko'p qo'llaniladi. Bu programmani o'qishni osonlashtirish uchun 
qilinadi. C++ uchun bo'sh joyning hech ahamiyati yo'q, lekin dasturni tahrir 
qilayatgan odamga buyruqlar guruhini, bloklarni tabulyatsiya yordamida ajratib 
bersak, unga katta yordam bo'ladi. Yuqoridagini quyidagicha ham yozish mumkin: 
if(yosh>=7){ console.writeline ("Maktabga!\n");maktab()}else{ console.writeline 
("Bog'chaga!\n");bogcha()};
Biroq buni o'qish ancha murakkab ishdir. C++ da if/else strukturasiga 
o'hshash ?: shart operatori (conditional operator) ham bordir. Bu C++ ning bittagina 
uchta argument oluvchi operatori. Uch operand va shart operatori shart ifodasini 
beradi. Birinchi operand orqali shartimizni beramiz. Ikkinchi argument shart true 
(haqiqat) bo'lib chiqqandagi butun shart ifodasining javob qiymatidir. Uchinchi 
operand shartimiz bajarilmay (false) qolgandagi butun shart ifodasining qiymatidir. 
Masalan: 
bool bayroq; 
int yosh = 10; 
bayroq = ( yosh >= 7 ? true : false ); 
Agar yosh 7 ga teng yoki katta bo'lsa, bool tipidagi o'zgaruvchimiz true 
qiymatini oladi, aks taqdirda false bo'ladi. Shart operatori qavslar ichida bo'lishi 
zarur, chunki uning kuchi katta emas. Javob qiymatlar bajariladigan 
funksiyalar ham bo'lishi mumkin: 
yosh >= 7 ? maktab() : bogcha(); 
if/else strukturalarini bir-birining ichida yozishimiz mumkin. Bunda ular bir-biriga 
ulanib ketadi.

Download 1,39 Mb.
1   ...   8   9   10   11   12   13   14   15   ...   18




Download 1,39 Mb.
Pdf ko'rish