if шартты операторы есептеу жолының екі бағытта тармақталуын жүзеге асырады.
Оператор форматы:
if (өрнек) 1-оператор; [else 2-оператор;]
Шартты оператордың құрылымдық схемасы:
Өрнек?
1-оператор
2-оператор
+
-
-
оператор
+
Өрнек?
if және else конструкциялары С тіліндегідей түрде қабатталып та қолданыла береді:
if (a == 5)
{
…
}
else if (a < 5)
{
…
}
else
{
…
}
if ( а < 0) b = 1; // 1
if ( а < b && ( а > d || a == 0 )) b++;
else { b *= a; a = 0; } // 2
if ( a
if ( a < c ) m = a;
else m = c;
else
if ( b < с ) m = b;
else m = c; // 3
if ( b > a ) max = b;
else max = a; //4
Санның тақ немесе жұп екенін анықтау
using System;
namespace Chet_nechet
{
class Class1
{
static void Main(string[] args)
{ int k = Int32.Parse(Console.ReadLine());
if (k%2==0)
{ Console.WriteLine("Четное число"); }
else
{ Console.WriteLine("Нечетное число"); }
Console.ReadLine();
}
}
}
Қабатталған шартты операторлар
if ((age > 0) && (age <7)) period = 1;
else if ((age >= 7) && (age <17)) period = 2;
else if ((age >= 17) && (age <22)) period = 3;
else if ((age >= 22) && (age <27)) period = 4;
else if ((age >= 27) && (age <37)) period = 5;
else if ((age >= 37) && (age <57)) period = 6;
else period = 7;
1 : child
2 : schoolboy
3 : student
4 : junior researcher
5 : senior researcher
6 : professor
: не определен
switch (period)
{ case 1:
status = "child";
break;
case 2:
status = "schoolboy";
break;
case 3:
status = "student";
break;
case 4:
status = "junior researcher";
break;
case 5:
status = "senior researcher";
break;
case 6:
status = "professor";
break;
default :
status = "не определен";
break;
}
Console.WriteLine("Имя = {0}, Возраст = {1}, Статус = {2}",
name, age, status);
Мысалы:
using System;
namespace Listing4_1
{ class Class1
{ static void Main( )
{ Console.WriteLine( "Введите координату х: " );
string buf = Console.ReadLine();
double x = Convert.ToDouble( buf );
Console.WriteLine( "Введите координату у: " );
buf = Console.ReadLine();
double у = double.Parse( buf );
int kol = 0;
if ( x * x + у * у < 1 ) kol = 2;
else if ( x * x + у * у < 4 ) kol = 1;
Console.WriteLine( "Результат = {0} очков", kol );
}
}
}
4-сурет. Нысана
y
x
2 ұпай
1 ұпай
1
2
Екінші мысал
using System;
namespace If_else1
{
class Program
{ static void Main()
{ int value1 = 50;
int value2 = 5;
if ( value1 > value2 )
Console.WriteLine ("value1: {0} больше чем value2: {1}",value1,value2);
else
Console.WriteLine("value2: {0} больше или равно value1: {1}",value2,value1);
//устанавливаем второе значение больше первого
value2 = 60;
if ( value1 < value2 )
Console.WriteLine("value2: {0} больше чем
value1: {1}", value2, value1);
//делаем значения одинаковыми
value1 = value2;
if (value1 == value2)
Console.WriteLine("value1 и value2 равны: {0}=={1}", value1, value2);
}
}
}
Қабатталған шартты операторлар
class Example4_3
{ public static void Main()
{
int reactorTemp = 1500;
string emergencyValve = "закрыт";
if (reactorTemp <= 1000)
System.Console.WriteLine("Температура в реакторе нормальная");
else
{
System.Console.WriteLine("Слишком высокая температура в реакторе!");
if (emergencyValve == "закрыт")
System.Console.WriteLine("Реактор в процессе плавления!");
}
}
}
3. Switch операторы
switch (ауыстырғыш) операторы есептеу процесін бірне-ше тармаққа бөліп жібереді. Оның алгоритмдік схемасы келесі слайдта көрсетілген. Оператор форматы:
switch ( өрнек )
{
case 1_тұрақты_өрнек: [1_операторлар_тізімі]
case 2_тұрақты_өрнек: [2_операторлар_тізімі]
...
case n_тұрақты_өрнек: [n_операторлар_тізімі]
[default: операторлар ]
}
Оператордың құрылымдық схемасы суретте көрсетілген.
Қарапайым 4 амалды орындайтын калькулятор жұмысын атқаратын программа: