Выражения, имеющие тип с плавающей точкой не разрешены

Инструкции выбора switch, case

Или

Else

Else

Else

{

Блок инструкций 2; //несколько действий

}

Фраза else может отсутствовать, т.к. это не обязательная часть инструкции if.

Если условие выполняется, то исполняется Блок инструкций 1, в противном случае исполняется Блок инструкций 2.

Фигурные скобки записываются в случае, если в блоке более, чем одна инструкция.

Выполняется инструкция if следующим образом:

1. Вычисляется значение условия (правда или ложь?);

2. Если условие истинно (true), то выполняются инструкции1.На этомвыполнение инструкций if завершается, инструкции, следующие за словом else, не будут выполнены. Если условие ложно (false), то выполняются инструкции, следующие за словом else, а инструкции за словом if игнорируются.

Задача. Поиск максимального числа из двух чисел x и y.

// 1-й вариант решения

int y, x, max;

x=12; y=5;

if (x>y) max=x;

else max=y;

Console.WriteLine("Максимальное "+ max);

Сокращенный формат if

Сокращенная форма используется для усеченного алгоритма, когда ветвь с альтернативным решением отсутствует.

if (условие) инструкция;

// 2-й вариант решения задачи поиска

максимального числа их двух чисел:

int y, x, max;

x=12; y=5;

max=x;

if(x<y) max=y;

Console.WriteLine("Максимальное "+ max);

Вложенные инструкции if; else …

Применяются для множественного ветвления. Синтаксис инструкции:

if (условие_1)

{

Блок инструкций 1;

}

if (условие_2)

{

Блок инструкций 2;

}

{

Блок инструкций 3;

}

Фраза else может отсутствовать, т.к. т.к. это не обязательная часть инструкции if.

Если условие1 выполняется, то исполняется Блок инструкций 1, в противном случае проверяется условие2. Если оно выполняется, то исполняется Блок инструкций 2, в противном случае Блок инструкций 3.

В случае, если в какой-либо ветви необходимо выполнить одну инструкцию, то блочная инструкция в виде фигурных скобок { } в этой ветви не нужна.

Пример.

Задача. Вычислить значение функции:

Ответы решения задачи:

           
   
 
     
 
 


При помощи логических операторов & («И») и | («ИЛИ») из простых условий можно строить сложные.

Например:

1) 2)

Примеры записи условия:

if (x<a | x>b) <выражение C2>; else <выражение C1>;
if(x<=b & x>=a) <выражение C1>; else <выражение C2>;

Применяется для множественного ветвления на произвольное число направлений.

С его помощью можно выбрать вариант из множества альтернатив.

Если в условии задачи имеется сложный набор условий, то использование вложенных инструкций ifelse приводит к громоздкому коду. Для упрощения кода лучше воспользоваться инструкцией switch (переключение)

Инструкция switch выбирает нужное действие из списка возможных, размещенных во фразах выбора case ( выбор ).

Общий формат записи:

switch (выражение)

{

case константа_1: инструкция действия; инструкция прерывания;

case константа_2: инструкция действия; инструкция прерывания;

……..

default:: инструкция действия; инструкция прерывания;

}

Выполняются инструкции следующим образом:

1. Сначала вычисляется значение выражения.

2. Полученное значение выражения последовательно сравнивается с константами из списка констант секций case.

3. Если значение выражения (или переменной) совпадает с константой из списка, то выполняется соответствующая этому списку группа инструкций в секции case до тех пор, пока не встретиться инструкция прерывания.

4. Если значение выражения (или переменной) не совпадает ни с одной константой из списка, то, выполняется последовательность инструкций, следующая за default.

Синтаксис инструкций switch, case позволяет не писать default и соответствующую последовательность инструкций. В этом случае, если значение выражения не совпадает ни с одной константой из всех списков, то выполняется следующая за case инструкция программы.

Элемент выражения (помещено в круглые скобки) возвращает константу. Должен быть целочисленного типа (например, char, byte, int), значение которого определяет дальнейший ход выполнения программы.

Иногда в качестве управляющего switch – выражения используется просто переменная.

Case – константы должны быть литералами, тип которых совместим с типом заданного выражения. При этом никакие две case – константы в одной switch конструкции не могут иметь идентичных значений.

В качестве инструкции прерывания действия используют break, которая прерывает выполнение инструкции switch. Альтернативой может быть и инструкции goto, которую обычно применяют для перехода в другое место программы.

Пример. Программа запрашивает день недели. В зависимости от введенного номера выводится строка из списка с комментарием.

using System;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

int d;

Console.Write("Введите день недели ");

d= Convert.ToInt16(Console.ReadLine());//преобразует вводимое с клавиатуры число в виде строки в целый тип данных

switch (d)

{

case 1: Console.WriteLine("Понедельник - рабочий день"); break;

case 2: Console.WriteLine("Вторник - рабочий день"); break;

case 3: Console.WriteLine("Среда - рабочий день"); break;

case 4: Console.WriteLine("Четверг - рабочий день"); break;

case 5: Console.WriteLine("Пятница - рабочий день"); break;

case 6: Console.WriteLine("Суббота - самоподготовка"); break;

case 7: Console.WriteLine("Воскресенье - выходной день"); break;

default: Console.WriteLine("Неверный ввод данных. Введите 1<=d<=7"); break;

}

Console.ReadKey();

}

}

}

Результаты работы программы:

       
 
   
 


...

           
 
   
 
 
   



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: