Tanlash (switch) operatorlari



Download 76,53 Kb.
bet1/2
Sana22.10.2022
Hajmi76,53 Kb.
#855326
  1   2
Bog'liq
Tanlash (switch) operatorlari

Tanlash (switch) operatorlari


Shartli operator. Shartli operator ikki ko`rinishda ishlatilishi mumkin:

Kengaytirilgan variant

Qisqartirilgan varianti
If (ifoda)
1- operator;
Else
2- operator;

If (ifoda)
1-operator;



Shartli operator bajarilganda avval ifoda hisoblanadi ; agar qiymat rost ya`ni noldan farqli bo`lsa 1- operator bajariladi. Agar qiymat yolg`on ya`ni nol bo`lsa va else ishlatilsa 2-operator bajariladi. Else qism har doim eng yaqin if ga mos qo`yiladi. Masalan,
if( n>0)
if(a>b)
Z=a;
else
Z=b;
Agar else qismni yuqori if ga mos qo`yish lozim bo`lsa, figurali qavslar ishlatish lozim.

if( n>0) {
if(a>b)
z=a;
}
else
z=b;
Misol tariqasida uchta berilgan sonning eng kattasini aniqlash dasturini ko`ramiz:

6b-listing.

Output:

#include
void main( )
{ float a,b,c,max);
cout <<“\n a=”; cin>>a;
cout <<“\n b=”; cin>>b;
cout <<“\n c=”; cin>>c;
if (a>b)
if (a>c) max=a; else max=c;
else
if (b>c) then max=b; else max=c;
cout <<“\n” <

max

Misol tariqasida kiritilgan ball va maksimal ball asosida baho aniqlanadi:

7-listing.

Output:

#include
void main( )
{ float ball,max_ball,baho,d;
cout<< “\n ball=”; cin>>ball;
cout<<“\n max_ball=”; cin>>max_ball;
d=ball/max_ball;
if (d>0.85) baho=5; else
if (d>75) baho=4; else
if (d>0.55) then baho=3; else baho=2;
cout<<“\n” << baho; }

baho

Switch operatori. if-else-if yordami bilan bir necha shartni test qilishimiz mumkin. Lekin bunday yozuv nisbatan o`qishga qiyin va ko`rinishi qo`pol bo`ladi. Agar shart ifoda butun son tipida bo`lsa yoki bu tipga keltirilishi mumkin bo`lsa, biz switch (tanlash) ifodalarini ishlata olamiz. Switchning umumiy ko`rinishi:
Switch() {
Case <1-qiymat>:<1-operator>

break;

default:

case: ; }
Oldin qavs ichidagi butun ifoda hisoblanadi va uning qiymati hamma variantlar bilan solishtiriladi. Biror variantga qiymat mos kelsa shu variantda ko`rsatilgan operator bajariladi. Agar biror variant mos kelmasa default orqali ko`rsatilgan operator bajariladi. Break operatori ishlatilmasa shartga mos kelgan variantdan tashqari keyingi variantdagi operatorlar ham avtomatik bajariladi. Default; break va belgilangan variantlar ixtiyoriy tartibda kelishi mumkin. Default yoki break operatorlarini ishlatish shart emas. Belgilangan operatorlar bo`sh bo`lishi ham mumkin.
Switch strukturasi bir necha case etiketlaridan (label) va majburiy bo`lmagan default etiketidan iboratdir. Etiket bu bir nomdir. U dasturning bir nuqtasida qo`yiladi. Programmaning boshqa yeridan ushbu etiketga o`tishni bajarish mumkin. O`tish yoki sakrash goto bilan amalga oshiriladi, switch blokida ham qo`llaniladi.
5 lik sistemadagi bahoni so`zlik bahoga o`tkizadigan blokni yozaylik. 

8-listing.

Output:

int baho = 4;
switch (baho) {
case 5: cout << "A`lo"; break;
case 4: cout << "Yaxshi"; break;
case 3: cout << "Qoniqarli"; break;
case 2:
case 1: cout << " Qoniqarsiz"; break;
default: cout << "Baho xato kiritildi!"; break; }

Yaxshi

Switch ga kirgan o`zgaruvchi (yuqorigi misolda baho) har bir case etiketlarining qiymatlari bilan solishtirilib chiqiladi. Shartdagi qiymat etiketdagi qiymat bilan teng bo`lib chiqqanda ushbu case ga tegishli ifoda yoki ifodalar bloki bajariladi. So`ng break sakrash buyrug`i bilan switch ning tanasidan chiqiladi. Agar break qo`yilmasa, keyingi etiketlar qiymatlari bilan solishtirish bajarilmasdan ularga tegishli ifodalar ijro ko`raveradi. default etiketi majburiy emas. Lekin shart chegaradan tashqarida bo`lgan qiymatda ega bo`lgan hollarni tahlil qilish uchun kerak bo`ladi.
case va etiket orasida bo`sh joy qoldirish shartdir. Chunki, masalan, case 4: ni case4: deb yozish oddiy etiketni vujudga keltiradi, bunda sharti test qilinayotgan ifoda 4 bilan solishtirilmay o`tiladi.
Misol tariqasida bahoni son miqdoriga qarab aniqlash dasturini ko`ramiz.

9-listing.

Output:

Include
void main( )
{ int baho; cin>> baho;
switch(baho)
{case 2:cout <<“\n yomon”;break;
case 3:cout <<“\n o`rta”;break;
case 4:cout <<“\n yaxshi”;break;
case 5:cout <<“\n a`lo”;break;
default: cout <<“\n baho no`to`gri kiritilgan”; };}




Misol tariqasida kiritilgan simvol unli harf ekanligi aniqlanadi:

10-listing.

Output:

#Include
void main( )
{char c;
cin >> c;
switch(c)
{case `a`:
case `u`:
case `o`:
case `i`:
cout <<“\n Kiritilgan simvol unli harf” ;break;
default: cout <<“\n Kiritilgan simvol unli harf emas”;} ; }




Sizga o'tgan darslarimdan birida IF shart operatori haqida  ma'lumot berib o'tgandim. Xuddi shunga o'xshash vazifani (aynan shu vazifani desak ham bo'ladi) bajaruvchi operatorimiz tanlash operatori - Switch hisoblanadi . Endi sizga Switch va If .. else orasidagi farqni aytib o'tadigan bo'lsak. Quyidagi Weather dasturi kodini ko'rib chiqamiz.
int weather; //ob-havo nomli o'zgaruvchi yaratdik(ingliz tilida)


cin>> weather; //foydalanuvchi o'zgaruvchiga qiymat beradi


if(weather=="rainy")
{
cout<<" Take an umbrella ";
}
Yuqoridagi misolda biz If shart operatoridan foydalandik ya'ni agar ob-havo yomg'irli bo'lsa foydalanuvchiga "Soyabon oling" degan matn chiqaradi buni tushunib oldingiz degan umiddaman. Demak, bizda ikkita shart bo'lsachi , albatta , biz If dan yana foydalana olamiz
int weather;


cin>> weather;


if(weather=="rainy")
{
cout<<"Take an umbrella";
}
if(weather=="sunny")
{
cout<<"Take the cap";
}
Ko'rib turganingizdek bizga yana If yordam berdi ammo bilamizki ob-xavomiz juda turli tuman biz har bir ko'rinish uchun aloxida kiyim kiyamiz .Endigi kodni If orqali bajarishimiz mumkin albatta ammo ko'rib turganingizdek kodlarimiz juda ko'p bo'lib qoldi:
int weather;


cin>> weather;


if(weather=="rainy")
{
cout<<"Take an umbrella";
}
if(weather=="sunny")
{
cout<<"Take the cap";
}
if(weather=="snowly")
{
cout<<"Take boots";
}
if(weather=="fog")
{
cout<<"Take hat";
}
if(weather=="hail")
{
cout<<"Take leather jacket";
}
if(weather=="downpour")
{
cout<<"Stay at home";
}
Ammo Dasturchi qisqa kod orqali ko'proq narsani yozishni o'rganishi kerak. Shuning uchun biz Switch operatoridan foydalanamiz. Yuqoridagi kodni Switch orqali yozadigan bo'lsak:
int weather;


cin>> weather;


switch(weather)
{
case "rainy":
cout<<"Take an umbrella";
break;
case "sunny":
cout<<"Take the cap";
break;
case "snowly":
cout<<"Take boots";
break;
case fog:
cout<<"Take hat";
break;
case hail:
cout<<"Take leather jacket";
break;
case downpour:
cout<<"Stay at home";
break;
}
Ko'rib turganizdek juda chiroyli kod va qiziqarli dastur yozdik.Endi esa Switch haqida to'liqroq ma'lumotga ega bo'lamiz.

Switch operatori.



Switch

Download 76,53 Kb.

Do'stlaringiz bilan baham:
  1   2




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish