Tarmoqlanuvchi algoritm; Tarmoqlanuvchi operatorlar



Yüklə 55,79 Kb.
səhifə5/5
tarix28.11.2023
ölçüsü55,79 Kb.
#133040
1   2   3   4   5
2) 3- ma\'ruza matni

Tanlash operatori
switch operatori
Shart operatorining yana bir ko‘rinishi switch tarmoqlanish operatori bo‘lib, uning sintaksisi quyidagicha:
switch ()
{
case :
;
break;
case :
;
break;

default :
;
}
Bu operator quyidagicha amal qiladi: birinchi navbatda qiymati hisoblanadi, keyin bu qiymat case kalit so‘zi bilan ajratilgan bilan solishtiriladi. Agar ular ustma-ust tushsa, ‘:’ belgisidan keyingi break kalit so‘zigacha bo‘lgan bajariladi va boshqaruv tarmoqlanuvchi operatordan keyingi operatorga o‘tadi. Agar birorta ham ifoda bilan mos kelmasa, qurilmaning default nomidagi operatorlar guruhi bajariladi.
Misol uchun, kirish oqimidan “Jarayon davom etilsinmi?” so‘roviga foydalanuvchi tomonidan javob olinadi. Agar ijobiy javob olinsa, ekranga “Jarayon davom etadi!” xabari chop etiladi va dastur o‘z ishini tarmoqlanuvchi operatordan keyin davom ettiradi, aks holda “Jarayon tugadi!” javobi beriladi va programa o‘z ishini tugatadi. Bunda, foydalanuvchining ‘y’,’Y’,’h’,’H’ javoblari jarayonni davom ettirishni bildiradi, boshqa belgilar esa jarayonni tugatishni anglatadi.
#include
using namespace std;
int main()
{
char Javob =’ ’;
cout<<”Jarayon davom etsinmi? (‘y’,’Y’,’h’,’H’): ”
cin>> Javob;
switch (Javob) {
case ‘Y’ :
case ‘y’ :
case ‘h’ :
case ‘H’ :
cout<<”Jarayon davom etadi!\n”;
break;
default :
cout <<”Jarayon tygadi!\n”;
return 0;
}
…. // Jarayon
return 0;
}

Umuman olganda, tarmoqlanuvchi operatorda break va default kalit so‘zlarini ishlatish shart emas. Lekin bu holda operatorning mazmuni buzilishi mumkin. Masalan, default nomi bo‘lmaganda, agar birorta bilan ustma-ust tushmasa, operator hech qanday amal bajarmasdan boshqaruv navbatdagi operatorga o‘tib ketadi. Agar break bo‘lmasa dastur “to‘xtamasdan” keyingi qatordagi operatorlarni bajarishga o‘tib ketadi. Masalan, yuqoridagi misolda break operatori bo‘lmasa va jarayonni davom ettirish haqida ijobiy javob bo‘lgan taqdirda ekranga


Jarayon davom etadi!
Jarayon tugadi!
xabarlari chiqadi va dastur o‘z ishini tugatadi (return 0 operatorini bajarish natijasida).
Tarmoqlanuvchi operator sanab o‘tiluvchi turdagi konstantalar bilan birgalikda ishlatilganda samarali bo‘ladi. Quyidagi dasturda ranglar gammasini toifalash masalasi yechilgan.
#include
using namespace std;
int main()
{
enum Ranglar {Qizil, To‘q_sariq, Sariq, Yashil, Ko‘k, Zangori, Binafsha};
Ranglar Rang;

switch (Rang)
{
case Qizil:
case To‘q_sariq :
case Sariq :
cout << “Issiq gamma tanlandi.\n”;
break;
case Yashil :
case Ko‘k :
case Zangori:
case Binafsha :
cout << “Sovuq gamma tanlandi.\n”;
break;
default :
cout <<”Kamalak bunday rangga ega emas.\n”;
}
return 0;
}
Dastur bajarilishida boshqaruv tarmoqlanuvchi operatorga kelganda, Rang qiymati Qizil yoki To‘q_sariq yoki Sariq bo‘lsa, ‘Issiq gamma tanlandi’ xabari, agar Rang qiymati Yashil yoki Ko‘k yoki Zangori yoki Binafsha bo‘lsa, ekranga ‘Sovuq gamma tanlandi’ xabari, agar Rang qiymati sanab o‘tilgan qiymatlardan farqli bo‘lsa, ekranga ‘Kamalak bunday rangga ega emas” xabari chop etiladi va dastur o‘z ishini tugatadi.


Nazorat savollari

  1. if operatorining nechta turi bor?

  2. Tarmoqlanuvchi operatorlar qanday ishlaydi?

  3. Tarmoqlanuvchi operatorlar qaysi kutubxonalarga murojaat qiladi?

  4. Tanlash operatorlar qanday ishlaydi?

  5. Tanlash operatorlarga qandaydir kutubxona kerakmi?

  6. switch operatori qavs ichiga nimalar yozish mumkin?

  7. Ternar operatori qanday ishlaydi?

  8. case deganda nimani tushunasiz?

  9. default qaysi vaqtda ishga tushadi?

  10. {} figurali bloklar nima uchun kerak?

Yüklə 55,79 Kb.

Dostları ilə paylaş:
1   2   3   4   5




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©www.genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə