Хелпикс

Главная

Контакты

Случайная статья





break; . switch (ocenka). stipendia=2000;. stipendia=1000;. stipendia=10;



break;   

case значение2: < операторы 2>

break;   

 ……

case значение N: < операторы N>

break;   

default: < операторы>;

};

 

В данной записи оператор состоит из N+1 ветки. Переменная в заголовке оператора switch должна быть целочисленной (или приводиться к целому). Оператор break необязателен. Ветка default также необязательна.

Смысл оператора switch. Переключатель анализирует значение переменной. Если оно совпадает с каким-либо значениемk, то выполняются < операторыk>. После этого выполнение оператора switch заканчивается, если ветка k заканчивалась оператором break. Если этого оператора не было, то выполняются все последующие ветки до первого появившегося break или до конца оператора switch(до закрывающей скобки «}»). Операторы, помеченные меткой default, выполняются в случае, если значение переменной не совпало ни с одним из перечисленных в case значений.

Например:

 

switch (ocenka)

 {case 5:    

stipendia=2000;

break;

case 4:   

stipendia=1000;

break;

case 3:

stipendia=10;

break;

case 2:

stipendia=0;

}

 

1. 1. 4. Циклы.

Цикл означает повторяющийся набор действий. Например, суммируется набор из 20-ти чисел, вводимых с клавиатуры. Действия: «ввести число» и «добавить его к сумме» будут повторяться 20 раз. В задаче: складывать числа, вводимые с клавиатуры, до тех пор, пока не встретится 0, эти действия будут повторяться столько раз, сколько выполняется (истинно) условие: «введенное число не равно нулю». Для обозначения повторений в записи алгоритмов используют конструкции, называемые циклами: цикл спараметром (счетчиком), цикл спредусловием и цикл спостусловием. Цикл с предусловием является наиболее общей конструкцией: этого оператора достаточно, чтобы записать любые циклические действия в алгоритмах.

Повторяющаяся группа действий называется телом цикла, однократное выполнение этой группы – шагом цикла. Часть конструкции, в которой определяется, продолжать выполнение цикла или нет, называют заголовком цикла. Заголовок, как правило, содержит условие, истинность или ложность которого требует повторения операторов тела цикла. Если условие задано так, что оно выполняется всегда, например, 4< 7, то повторения будут длиться «вечно», тогда говорят, что программа зациклилась. Если, наоборот, условие никогда не выполнится, например, 2< 0, то операторы цикла не исполняются, вся конструкция игнорируется исполнителем алгоритма, и управление передается следующим за оператором цикла действиям.

Цикл с предусловием. Заголовок этого цикла содержит условие, которое проверяется всякий раз перед очередным исполнением тела цикла. Если условие истинно, тело исполняется, если ложно, управление передается следующему за циклом оператору в алгоритме. Таким образом, тело цикла исполняется столько раз, сколько раз истинно условие цикла.  

Циклы с предусловием называют обычно циклами типа while или циклами ПОКА (работает, пока условие выполняется). Синтаксис этих циклов в С++:

 

while (< условие> ) { < тело цикла> };

 

 

Блок-схема этого оператора:

 

 

Например, исполнение фрагмента программы:

a = 7;

while (a> 0) { a = a- 1; };

даст в результате значение а=0, так как тело цикла – присваивание a=a–1 выполнялось столько раз, сколько выполнялось условие a> 0. Последний раз оно выполнилось, когда a=1, в результате a=1–1=0. Проверка условия (0> 0) показала «ложь» и управление передалось операторам, следующим за закрывающей тело фигурной скобкой (граница цикла while ). Таким образом, значение а осталось равным 0. Если заменить первый оператор фрагментаa=7 на a=0, то цикл не выполнится ни разу, так как условие a> 0 ложно.

 

G Проверьте, что в теле цикла while естьоперации, которые способны изменить значение условия цикла, иначе он будет выполняться вечно, программа зациклится! Примерыбесконечныхциклов:

 

a=7; b=2; while(a> 0) { b = a + b; };

a=1; while(a> 0)a++;

 

Тело цикла не исполнится ни разу, если условие не выполняется уже вначале. В некоторых задачах необходимо, чтобы тело цикла хотя бы раз отработало. Можно, конечно, операторы тела цикла «продублировать», написав их еще раз до оператора цикла, тогда они исполнятся независимо от истинности условия. Но, если их много, программа выглядит громоздко. Для таких случаев удобно использовать цикл с постусловием.

 

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

Циклы с постусловием называют do…while(или do/while)-циклами. Синтаксис этих циклов в C++:

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.