Оператор выбора альтернатив switch
оператором выбора в С# является оператор switch, который обеспечивает многонаправленное ветвление программы. Следовательно, этот оператор позволяет сделать выбор среди нескольких альтернативных вариантов дальнейшего выполнения программы. Несмотря на то, что многонаправленная проверка может быть организована с помощью последовательного ряда вложенных операторов if, во многих случаях более эффективным оказывается применение оператора switch. Этот оператор действует следующим образом. Значение выражения последовательно сравнивается с константами выбора из заданного списка. Как только будет обнаружено совпадение с одним из условий выбора, выполняется последовательность операторов, связанных с этим условием.
Ниже приведена общая форма оператора switch.
switch(выражение) {
case константа1:
последовательность операторов break;
case константа2:
последовательность операторов break;
caseконстантаЗ:
последовательность операторов break;
default:
последовательность операторов break;
}
Заданное выражение в операторе switch должно быть целочисленного типа (char, byte, short или int), перечислимого или же строкового. А выражения других типов, например с плавающей точкой, в операторе switch не допускаются. Зачастую выражение, управляющее оператором switch, просто сводится к одной переменной
30. Составление циклических алгоритмов. Операторы цикла с предусловием и с постусловием.Практически все алгоритмы решения задач содержат циклически повторяемые участки. Цикл это одно из фундаментальных понятий программирования. Под циклом понимается организованное повторение некоторой последовательности операторов.Для организации циклов используются специальные операторы. Любой цикл состоит из кода цикла, т.е. тех операторов, которые выполняются несколько раз, начальных установок, модификации параметра цикла и проверки условия продолжения выполнения цикла. Один проход цикла называется итерацией. Проверка условия выполняется на каждой итерации либо до кода цикла (с предусловием), либо после кода цикла (с постусловием). Перечень разновидностей операторов цикла:- оператор цикла с предусловием;- оператор цикла с постусловием;- оператор цикла с предусловием и коррекцией.Цикл с “предусловием” используется для программирования процессов, в которых число повторение оператора цикла неизвестно, а задается некоторое условие его окончания. Выполнение оператора цикла с “предусловием” начинается с проверки условия, записанного после слова while. Если оно соблюдается, то выполняется <тело цикла>, а затем вновь проверяется условие и так далее. Как только на определенном шаге окажется, что условие не соблюдается, то выполнение<тела цикла> прекратится. Вид оператора: While<проверяемое условие>do
begin
<оператор 1>;
…
<оператор n>;
end.
Цикл с постусловием — цикл, в котором условие проверяется после выполнения тела цикла. Отсюда следует, что тело всегда выполняется хотя бы один раз. Си — do…while.
do
{
<тело цикла>
}
while(<условие продолжения цикла>)
31.Оператор цикла с предусловием и коррекцией forОбщий вид оператора:
for (выражение1; выражение2; выражение3) код_цикла;
Цикл for эквивалентен последовательности инструкций:
выражение1;
while (выражение2)
{
код_цикла ...
выражение3;
}
здесь выражение1 - инициация счетчика (начальное значение), выражение2 -условие продолжения счета, выражение3 - увеличение счетчика. Выражения 1,2 и 3 могут отсутствовать (пустые выражения), но символы «;» опускать нельзя.
Например, для суммирования первых N натуральных чисел можно записать:
sum = 0;
for ( i=1; i<=N; i++) sum+=i;
32. Операторы передачи управления (break, continue, return, goto).В языке Си предусмотрен оператор goto, хотя в большинстве случаев можно обойтись без него. Общий вид оператора:
goto< метка >;
Он предназначен для передачи управления на оператор, помеченный меткой. Метка представляет собой идентификатор, оформленный по всем правилам идентификации переменных с символом «двоеточие» после него, например, пустой помеченный оператор:
m1:;
Область действия метки - функция, где эта метка определена. В случае необходимости можно использовать блок.Наиболее характерный случай использования оператора goto - выполнение прерывания (выхода) во вложенной структуре при возникновении грубых неисправимых ошибок во входных данных.Оператор continueЭтот оператор может использоваться во всех типах циклов, но не в операторах переключателя switch. Наличие оператора continue вызывает пропуск "оставшейся" части итерации и переход к началу следующей, т.е. досрочное завершение текущего шага и переход к следующему шагу.Оператор break производит экстренный выход из самого внутреннего цикла или оператора-переключателя switch, к которому он принадлежит, и передает управление первому оператору, следующему за текущим оператором. Оператор return; производит досрочный выход из текущей функции. Он, так же возвращает значение результата функции: return<выражение>;