3-маъруза шартли операторлари


Download 308.29 Kb.
bet1/2
Sana19.06.2023
Hajmi308.29 Kb.
#1608212
  1   2
Bog'liq
3.uz


3-МАЪРУЗА
ШАРТЛИ ОПЕРАТОРЛАРИ
Ушбу маърузада биз C# дастурлаш тилида шартли операторлар синтаксиси ва уларнинг қўлланилиши билан танишамиз. Шартли операторларнинг қуйидаги турлари мавжуд:

  • if ();

  • switch
    case
    break;

Шартли оператор баъзи бир шартнинг бажарилиши ёки бажарилмаслигига қараб турли хил буйруқлар блокларини бажаришга имкон беради, умантиқий турдаги қийматга эга ифода ҳисобланади. У қуйидагича ишлайди: биринчидан, қандайдир мантиқий ифоданинг (шартнинг) қиймати ҳисобланади. Ифоданинг қиймати рост бўлса, (шарт бажарилса), кўрсатилган буйруқлар блоки бажарилади. Ифоданинг қиймати ёлғон бўлса (шарт бажарилмаса), бошқа буйруқлар блоки бажарилади.

3.1-расм. Шартли операторни бажариш тамойиллари

Шартли оператор жуда содда тасвирланган: if калит сўзи ёзилади, ундан кейин текширилиши керак бўлган шарт қавс ичида ёзилади. Шарт бажарилганда амалга оширилиши керак бўлган буйруқлар шартдан кейин дарҳол фигурали қавс ичида кўрсатилади (if-блок). Шарт бажарилмаган тақдирда бажариш учун мўлжалланган буйруқлар else (else-блок) калит сўзидан кейин фигурали қавс ичида кўрсатилади. Шартли оператор андозаси қуйида кўрсатилган:


if(шарт){


// шарт бажарилганда амалга ошириладиган командалар
}
else{
// шарт бажарилмаганда амалга ошириладиган командалар
}

3.1-расмда тасвирланган шартли операторнинг ишлаш принципи 3.2-расмда кўрсатилган.





3.2-расм. Шартли операторнинг соддалаштирилган шаклдаги ижроси

Агар блок фақат битта буйруқдан иборат бўлса, у ҳолда блокни ажратиб кўрсатиш учун фигурали қавсларни олиб ташлаш мумкин.


Шартли оператор else блокига эга бўлмаган, соддалаштирилган шаклга ҳам эга. Агар шундай бўлса, у ҳолда оператор қуйидагича бажарилади: шарт текширилади, агар у рост бўлса, if блокидаги буйруқлар бажарилади. Агар шарт ёлғон бўлса, унда ҳеч нарса содир бўлмайди - шартли оператордан кейинги буйруқ бажарилади. Шартли операторни соддалаштирилган шаклда тавсифлаш учун қуйидаг андоазадан фойдаланилади:

If (шарт) {


// агар шарт бажарилса амалга ошириладиган командалар


}

Соддалаштирилган шаклдаги шартли оператор қандай бажарилиши 3.2-расмдаги диаграммада кўрсатилган.


Шартли операторнинг ишлашини кўрсатадиган кичик мисол 3.1 листингда кўрсатилган.

Листинг 3.1. Шартли оператордан фойдаланиш


using System.Windows.Forms;


using Microsoft.VisualBasic;

namespace Lecture3


{
internal class Using_If_Demo
{
static void Main(string[] args)
{
//Пиктограмма турини аниқлаш учун ўзгарувчи:
MessageBoxIcon icon;
// Ҳабар матни, ойна титули ҳамда фойдала-
// нувчи исмини аниқлаш учун ўзгарувчи,:
string msg, title, name;
//Фойдаланувчи исмини сўраш:
name = Interaction.InputBox(
//Киритиш ойнаси матни:
"Исмингиз нима?",
//Ойна титули:
"Танишув"
);
// Киритилган исмни текшириш:
if (name == "") {//Исм киритилмаган бўлса,
//Хато пиктограммаси:
icon = MessageBoxIcon.Error;
// Хабар матни:
msg= "Афсуски таниша олмадик!";
// Ойна титули:
title = "Танишув амалга ошмади";
}
else {// Исм киритилган бўлса,
// Информацион пиктограмма
icon = MessageBoxIcon.Information;
//Хабар матни:
msg = "Хурсандман, " + name + "!";
//Ойна титули:
title = "Знакомство состоялось";
}
// Хабарни чиқариш (аргумент - хабар
// матни, ойна титули, кнопка, пиктограмма):
MessageBox.Show(msg,title,MessageBoxButtons.OK,icon);
}
}
}
Дастур оддий: киритиш майдони бўлган ойна кўрсатилади ва фойдаланувчидан у ерда исм киритиш сўралади. Кейин фойдаланувчи исмни киритган бўлса, бу исмни ўз ичига олган хабар билан янги диалог ойнаси пайдо бўлади. Бироқ, биринчи ойнадаги фойдаланувчи бекор қилиш тугмасини босиши ёки «Х» белгиси билан тизим ойнани ёпиши мумкин. Бу шартли оператор томонидан ҳал қилинадиган ҳолат. Яъни, агар фойдаланувчи матн киритмасдан кириш майдони билан ойнани ёпса, мос келадиган усул бўш матн қаторини қайтаришидан фойдаланамиз. Дастур кодининг қандай ташкил этилганлигини тушунишни осонлаштириш учун дастурни бажариш натижасини кўриб чиқамиз. Биринчидан, қуйидаги ойна пайдо бўлади. (3.3-расм).

3.3-расм. Фойдаланувчи номини киритиш майдони бўлган диалог ойнаси

Агар киритиш майдонига матн киритсак ва ОК тугмасини боссак, кейинги маълумот белгиси (кўк доирадаги i ҳарфи) билан ойна пайдо бўлади. Ойнадаги хабар матни олдинги босқичда киритилган исмни ўз ичига олади. Вазият 3.4-расмда кўрсатилган.



3.4-расм. Фойдаланувчи номини киритганида кўрсатиладиган ойна

Аммо матн киритиш майдони бўш қолса ёки киритиш майдони бўлган ойнада ОК тугмаси ўрнига Бекор қилиш тугмаси ёки ойнани ёпиш белгиси босилса, 3.5-расмдаги каби ойна пайдо бўлади.



3.5-расм. Фойдаланувчи исмни киритмаганда кўрсатиладиган ойна

Ойнада хабар, хато белгиси (қизил доирадаги оқ “Х” белгиси) ва "Танув муваффақиятсиз" номи мавжуд. Шунга эътибор қаратишлозимки, бундай ойнанинг пайдо бўлиши хато натижаси эмас, балки дастурнинг бажарилиши натижасидир.





Download 308.29 Kb.

Do'stlaringiz bilan baham:
  1   2




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