Тилига кириш услубий қўлланма


Download 1.05 Mb.
bet22/86
Sana28.10.2023
Hajmi1.05 Mb.
#1730826
1   ...   18   19   20   21   22   23   24   25   ...   86
Bog'liq
C qo`llanma

Муносабат операторлари.


Бундай операторлар иккита қийматни тенг ёки тенг эмаслигини аниқлаш учун ишлатилади. Таққослаш ифодаси доимо true (рост) ёки false (ёлғон) қиймат қайтаради. Муносабат операторларининг кўлланилишига оид мисол 4.1. жадвалда келтирилган.
4.1.жадвал. Муносабат операторлари.

Номи

Оператор

Мисол

Қайтарадиган қиймат

Тенглик

==

100==50
50==50

false
true

Тенг эмас

!=

100!=50
50!=50

true
false

Катта

>

100>50
50>50

true
false

Катта ёки тенг

>=

100>=50
50>=50

true
true

Кичик

<

100<50
50<50

true
false

Кичик ёки тенг

<=

100<=50
50<=50

false
true

if oператори


Одатда дастур сатрма–сатр тартиб билан бажарилади. If оператори шартни текшириш (масалан, икки ўзгарувчи тенгми) ва унинг натижасига боғлиқ равишда дастурни бажарилиш тартибини ўзгартириш имконини беради. If операторининг оддий шакли қуйидаги кўринишдадир:
if (шарт)
ифода;
Қавс ичидаги шарт ихтиёрий ифода бўлиши мумкин. Агарда бу ифода false қийматини қайтарса ундан кейинги ифода ёки блок тушириб қолдирилади. Агарда шарт true қиймат қайтарса навбатдаги ифода бажарилади. Қуйидаги мисолни қараймиз:

If (kattaSon>kichikSon)


KattaSon=kichikSon;

Бу ерда kattaSon ва kichikSon ўзгарувчилари таққосланаяпти. Агарда kattaSon ўзгарувчиси қиймати катта бўлса, бу навбатдаги қаторда унга қиймат сифатида kichikSon ўзгарувчисининг қиймати ўзлаштирилади.


if операторида фигурали қавс ичига олинган ифодалар блокини ҳам ишлатиш мумкин.
If (шарт)
{

    1. - ифода

    2. - ифода

    3. - ифода

}

Қуйида ифодалар блокининг қўлланилишига оид мисол келтирилган


if(kattaSon>kichikSon)


{ kattaSon=kichikSon
cout<<”kattaSon:”<cout<<”kichikSon:”<}

Бу ҳолда kattaSon ўзгарувчисига нафақат kichikSon ўзгарувчиси ўзлаштирилаяпти, балки экранга бу ҳақида ахборот ҳам чиқарилаяпти.


4.3. – листинг. Муносабат операторининг қўлланилиши орқали тармоқланишга мисол



  1. // 4.3. – листингда муносабат оператори

  2. // билан биргаликда if инструкциясининг

  3. // кўлланилиши намойиш этилган

  4. # include

  5. int main( )

  6. {

  7. int BuxoroGol, PaxtakorGol;

  8. cout<<“Buxoro komandasi kiritgan to`plar”

  9. << “sonini yozing:”;

  10. cin >> BuxoroGol;


  11. cout<<“Paxtakor komandasi kiritgan”

  12. << “to`plar sonini yozing:”;

  13. cin >> PaxtakorGol;


  14. cout << “\n”;


  15. if ( BuxoroGol>PaxtakorGol)

  16. cout << “Yashasin Buxoro!\n”


  17. if (BuxoroGol < PaxtakorGol)

  18. {

  19. cout << “Yashasin PaxtakorGol \n”

  20. cout << “Bugun Toshkentda bayram!\n”;

  21. }


  22. if (BuxoroGol==PaxtakorGol)

  23. {

  24. cout << “Durrangmi? Yo-oq? Bo`lishi”<<

  25. “ mumkin emas \n”;

  26. cout <<“Paxtakorning kiritgan to`plari”

  27. << “haqida ma`lumotni qaytadan yozing\n”

  28. cin >> PaxtakorGol;


  29. if (BuxoroGol>PaxtakorGol)

  30. {

  31. cout<<“Buxoro yutishini oldindan bilgan”

  32. <<“ edim! Shuning uchun qayta so`radim\n”;

  33. cout<< “Yashasin Buxoro!”;


  34. if (BuxoroGol

  35. {

  36. cout<<“Paxtakor yutishini oldindan bilgan”

  37. <<“ edim! Shuning uchun qayta so`radim\n”;

  38. cout<< “Yashasin Paxtakor!”;

  39. cout << “Bugun Toshkentda bayram!\n”;


  40. if (BuxoroGol==PaxtakorGol)

cout<<“Qoyil! Haqiqatan ham during ekan\n”;

  1. }


cout<<“\n Ma`lumotingiz uchun rahmat\n”;

  1. return 0;

}

НАТИЖА:


Buxoro komandasi kiritgan to`plar sonini yozing:3
Paxtakor komandasi kiritgan to`plar sonini yozing:3
Durrangmi? Yo-oq? Bo`lishi mumkin emas

Paxtakorning kiritgan to`plari haqida ma`lumotni qaytadan yozing: 2


Buxoro yutishini oldindan bilgan edim! Shuning uchun qayta so`radim


Yashasin Buxoro!


else калит сўзи


Дастурларда кўп ҳолларда бирор бир шартнинг бажарилишига (яъни бу шарт true қиймат қайтарса) боғлиқ равишда бир блок, унинг бажарилмаслигига асосан эса (яъни бу шарт false қиймат қайтарса) бошқа бир блокнинг бажарилиши талаб қилинади. 4.3. – листингда биринчи текшириш (BuxoroGol>PaxtakorGol) true қиймат қайтарса экранда бир хабар, false қийматида эса бошқа бир хабар чиқарилади.


Бундай масалаларни юқорида кўрсатилган усул, яъни қатор шартларни текшириш учун бир нечта if операторини қўллаш орқали ҳал қилиш мумкин, лекин бу тушуниш учун бироз мураккаброқдир. Дастурнинг соддалигини таъминлаш учун else калитли сўзидан фойдаланиш мумкин.

If (шарт)


Ифода;
Else
Ифода;


4.4. – листинг. else калитли сўзининг ишлатилиши.

  1. // 4.4. Листинг. If ва else калит сўзларини

  2. // ишлатилишига оид мисол


  3. # include

  4. int main()

  5. {

  6. int BirinchiSon, IkkinchiSon;

  7. cout << “Katta sonni kiriting:

  8. cin >> BirinchiSon;

  9. cout<<“\n Kichik sonni kiriting:”;

  10. cin >> IkkinchiSon;

  11. if (BirinchiSon > IkkinchiSon)

  12. cout << “\n Rahmat! \n”;

  13. else

  14. cout << “\n Ikkinchisi katta son-ku!”;

  15. return 0;

  16. }

НАТИЖА:


Katta sonni kiriting: 10
Kichik sonni kiriting: 12
Ikkinchisi katta son - ku!

if оператори орқали мураккаб конструкцияларни ҳосил қилиш


Ifelse конструкциясида ифодалар блокида ихтиёрий операторларни ишлатишда ҳеч қандай чегара йўқ. Шу жумладан, ифодалар блоки ичида яна ifelse операторларини ишлатиш мумкин. Бу ҳолда бир нечта if операторидан иборат ичма – ич конструкция ҳосил бўлади.
if (1–шарт)
{
if (2–шарт)
1–ифода
else
{
if (3–шарт)
2–ифода
else
3–ифода
} }
else
4–ифода;
Ушбу бир нечта if операторидан ташкил топган конструкция қуйидаги тартибда ишлайди: агарда 1–шарт ва 2–шарт рост бўлса 1–ифода бажарилади. Агарда 1–шарт рост ва 2–шарт ёлғон натижа қайтарса, у ҳолда 3–шарт текширилади ва агарда бу шарт рост бўлса 2–ифода, ёлғон бўлса эса 3–ифода бажарилади. Ва энг охири, агарда 1–шарт ёлғон бўлса 4–ифода бажарилади. Бундай мураккаб конструкцияга мисол 4.5 – листингда келтирилган.
4.5. – листинг. if оператори ички бўлган мураккаб конструкция

  1. // 4.5. – Листинг. If оператори ички

  2. // бўлган мураккаб конструкцияга мисол

  3. # include < iostream.h>

  4. {

  5. // Иккита сон киритамиз.Уларни BirinchiSon

  6. //ва IkkinchiSon ўзгарувчиларига beramiz

  7. //Агарда KattaSon киймати KichikSon

  8. // кийматидан катта бўлса катта сон

  9. //кичигига колдиксиз бўлинишини текшира-

  10. // миз. Агарда у колдиксиз бўлинса улар

  11. //тенг ёки тенг эмаслигини текширамиз.

  12. int BirinchiSon, IkkinchiSon;

  13. cout<<“Ikkita son kiriting.\n Birinchisi: ”;

  14. cin >> BirinchiSon;

  15. cout << “\n Ikkinchisi:

  16. cin >> IkkinchiSon;;

  17. cout << “\n\n;


  18. if (BirinchiSon>=IkkinchiSon;)

  19. if ( (BirinchiSon%IkkinchiSon)==0)

  20. {

  21. if (BirinchiSon==IkkinchiSon;)

  22. cout<< “Ular bir – biriga teng!\n”;

  23. else

  24. cout<< “Birinchi son ikkinchisiga”<<

  25. “karrali!\n”;

  26. }

  27. else

  28. cout<<“Ikkinchi son katta!\n”

  29. return 0;

  30. }

НАТИЖА
Ikkita son kiriting


Birinchisi: 9
Ikkinchisi: 3
Birinchi son ikkinchisiga karrali!

Download 1.05 Mb.

Do'stlaringiz bilan baham:
1   ...   18   19   20   21   22   23   24   25   ...   86




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