Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_пособие_ПЯВУ_C#+КР.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.87 Mб
Скачать

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

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

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

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

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

{

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

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

……..

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

}

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

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

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

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

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

5.12. Операторы цикла

Алгоритмы решения многих задач являются циклическими, т.е. для достижения результата определенная последовательность действий должна быть выполнена несколько раз. Циклом называется группа инструкций, повторяющихся многократно с разными данными. Например, программа контроля знаний. Для циклов применяются инструкции: goto, for, while, do while.

5.12.1. Инструкция goto

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

Инструкция goto используется следующим образом: в коде программы создается метка с именем (например, M). Организуется переход на эту метку инструкцией goto M.

Имя метки M в коде обязательно должно заканчиваться двоеточием (:). Оно указывает на точку в программе, с которой будет выполняться программа после использования инструкции goto.

Обычно инструкция goto привязывается к условию.

Пример программы с использованием инструкция goto, когда в консоль выводится последовательность чисел.

public static int Main()

{

int i = 0;

M : Console.WriteLine("i= {0} ", i);

i = i + 1;

if (i < 10) goto M;

Console.ReadKey();

}

}

Решение циклических задач можно организовать на основе структуры ветвление или с помощью инструкций циклов.

5.12.2. Инструкция for

Служит для организации циклов с заранее известным числом повторений. Циклы, в которых количество повторений заранее определено, называются регулярными.

В цикле изменение индекса цикла заложено в инструкцию. Задаются - начальное значение индекса (инициализация), условие выполнения, правило изменения индекса после итерации. Разделители для параметров инструкции for – точка с запятой (;).

Ф ормат записи цикла for для повторного использования одной инструкции имеет вид:

for (инициализация; условие выполнения; итерация) инструкция;

Если цикл предназначен для повторного выполнения программного блока, то его формат имеет вид:

for (индекс цикла = начало; условие выполнения; изменение индекса)

{

Инструкции тела цикла;

}

Существует 2 варианта записи инструкции:

  • Инкрементный вариант:

П ример, когда программа использует цикл, в котором в консоль выводится последовательность чисел от 0 до 9 (шаг = 1).

static void Main(string[] args)

{

for (int i = 0; i < 10; i++) // шаг = 1

Console.WriteLine("i = {0} ", i);

Console.ReadKey();

}

  • Декрементный вариант:

Пример, когда программа использует цикл, в котором в консоль выводится последовательность чисел от 10 до 1 (шаг = -1).

static void Main(string[] args)

{

for (int i = 10; i > 0; i) // шаг = 1

Console.WriteLine("i = {0} ", i);

Console.ReadKey();

}