СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Лекция №9 иштер

Категория: Информатика

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«Лекция №9 иштер»

Switch тандоо оператору

Switch тандоо оператору бир нече багыттар боюнча эсептөө процессин бутактандыруу үчүн арналган. Оператордун форматы:



switch ( )

{

case :

[]; ;

case :

[]; ;

...

case n:

[n]; ;

[default: ; ]

}



Эскертүү. Квадраттуу кашаага жазылган туюнтмалар switch операторунда милдеттүү эмес элементи б.э. Эгер ал жок болсо, анда өтүү оператору да жок болот.

Switch ачкычтык сөзүнөн кийинки туюнтма арифметикалык, символдук, жолчолук жана көрсөткүчтүү (указательный) типтерге ээ болушу керек. Бардык константалуу туюнтмалар түрдүү мааниге ээ болушу керек, бирок алардын типтери switch сөзүнөн кийинки туюнтманын тиби менен дал келиши керек. Case ачкычтык сөзүн жана андан кийин жайгашкан константалуу туюнтмаларын case белгиси деп дагы аташат.

Оператордун аткарылышы switch ачкычтык сөзүнөн кийин жайгашкан туюнтманы эсептөө менен башталат. Алынган жыйынтык case белгиси менен салыштырылат. Эгерде туюнтманын жыйынтыгы case белгисине дал келсе, анда бул белгиден кийин турган оператор аткарылат, андан кийин break, goto өтүү операторлору сөссүз болушу зарыл.

Break операторун колдонууда башкаруу switch операторунан чыгат жана башкаруу switch операторунан кийинки операторго берилет. Эгерде goto оператору колдонулса, анда башкаруу goto дон кийин турган белги менен белгиленген операторго берилет.

Мисал. Арифметикалык амалдар (кошуу, кемитүү, көбөйтүү жана бөлүү) жана 2 операнд берилген. Экранга берилген амалдын операндга колдонулган жыйынтыгын чыгаруу керек.

static void Main()

{

Console.Write("OPER= ");

char oper=char.Parse(Console.ReadLine());

bool ok=true;

Console.Write("A= ");

int a=int.Parse(Console.ReadLine());

Console.Write("B= ");

int b=int.Parse(Console.ReadLine());

float res=0;

switch (oper)

{

case '+': res = a + b; break; //1

case '-': res = a - b; break;

case '*': res = a * b; break;

case ':': if (b != 0)

{

res = (float)a / b; break;

}

else goto default;

default: ok = false; break;

}

if (ok) Console.WriteLine("{0} {1} {2} = {3}", a, oper, b, res);

else Console.WriteLine("error");

}



Программанын аткарылыш жыйынтыгы: oper x y rez

+ 4 5 9

: 4 0 error

% 4 3 error



Тапшырма

1. Биринчи жолчодогу оператор break ти, оператор goto case '-' ке алмаштыргыла жана кошуу амалын колдонсок кандай болорун көргүлө

2. if шарттуу операторунда else бутагын алып салгыла жана эмне болорун көргүлө.

Эгерде түрдүү белгилер үчүн бирдей аракет аткарылышы зарыл болсо, анда белгилер кош чекит аркылуу эсептелишет. Мисалы:



switch (oper)

{

case '+': res = a + b; break;

case '-': res = a - b; break;

case '*': res = a * b; break;

case '/': case ':': if (b != 0) // белгилерди эсептөө

{

res = (float)a / b; break;

}

else goto default;

default: ok = false; break;

}