Tayanch so’z va iboralar: shart, if operatori, if-else konstruksiyasi, switch-case konstruksiyasi, ternar operator 6.1. if-else konstruksiyasi(if operatori). Tarmoqlanuvchi jarayonlar hisoblash jarayonini biror shartga ko‘ra ikki tomonga tarmoqlanishini ta’minlaydi. Tarmoqlanuvchi jarayonning strukturali sxemasi bizlarga blok-sxemalardan tanish (6.1-rasm).
6.1-rasm. Tarmoqlanuvchi jarayonning strukturali sxemasi
Tarmoqlanuvchi jarayonlarni hisoblash operatorlaridan biri bu if-operatoridir.
Sintaksisi:
If(shart) {1-blok. agar shart bajarilsa bajariluvchi operator(lar);} [else] {2-blok. agar shart bajarilmasa bajariluvchi operator(lar);} Bunda birinchi navbatda shart o‘rnida qo‘llaniluvchi mantiqiy ifoda tekshiriladi. Agar ushbu shart bajarilsa, 1 blokdagi operator(lar) bajariladi, aks holda 2 blokdagi operatorlar bajariladi. If operatorining o‘zi yetarli bo‘lsa, else – qismi yozilmasligi ham mumkin.
Agar shart bajarilganda yoki bajarilmaganda bajariluvchi opertor bitta bo‘lsa, blok qavslari{}ni ishlatmasa ham bo‘ladi.
Masalan:
...
int i=16;// if (i>10) // Agar i 10 dan katta bo‘lsa --i; //i=i-1 else //Aks xolda i++ // i=i+1 ...
Agar shart tekshirilayotgan o‘zgaruvchi(yoki o‘zgarmas) sonli tip bo‘lsa, va uni 0 dan farqliligi tekshirilsa, u xolda quyidagicha yozish mumkin.
...
if (i) // Agar i<>0 bo‘lsa i++; //i=i+1 else //Aks xolda i-- // i=i-1 ... Agar tekshiriluvchi shartning inkori bajarilish lozim bo‘lsa, quyidagicha yoziladi:
...
if !(i>10) // Agar i 10 dan katta bo‘lmasa i--; //i=i-1 else //Aks xolda i++ // i=i+1 ...
Agar tekshiriluvchi shartlar bir nechta bo‘lsa, ularni mantiqiy shartli amallar bilan bir-biriga bog‘lash lozim. Masalan:
...
if(a&&(a>d||a==0)) b++; else{ b*=a; a=0; } ...
Nishonga otilgan o‘qlar bo‘yicha to‘plangan ochkolarni ularning kordinatasiga nisbatan hisoblash dasturini ko‘rib chiqaylik(6.1.2-rasm).