Операторы continue, break
Следует понимать, что любая циклическая операция может быть описана любым из рассмотренных операторов цикла. Выбор того или иного оператора определяется удобством применения и симпатиями программиста.
Эти операторы используются в операторе множественного выбора swith( ) и в телах операторов цикла.
Оператор continue позволяет досрочно завершать тело цикла и переходить к следующему шагу. Включается он в работу только при возникновении определенной ситуации, отображаемой каким–то условием. Это иллюстрируется ниже фрагментом блок – схемы и соответствующим ему фрагментом программ.
Из приведенного примера видно, что при значении х = 0 производить вычисление функции у невозможно в связи с возникновением операции деления на нуль. Поэтому логично пропустить этот шаг вычислений и перейти к новому шагу, где х не равен нулю. В приведенном фрагменте программы переход к следующему шагу вычислений производится с помощью оператора continue;
х = хн;
while (x <= xк )
if ( x == 0 )
_ {
x += h;
+ continue;
}
– else
{
+ y = a*sin(x)/x;
x += h;
}
Оператор break позволяет досрочно завершать цикл. Этот оператор уже встречался в операторе множественного выбора switch. Там он также досрочно завершал работу этого оператора, совершая выход из него.
Суть применения оператора break в цикле можно понять из фрагмента блок–схемы и, отвечающего ему, фрагмента программы.
х = хн ;
while ( x <= xк )
– if ( x > b ) break;
+ else
+ {
– y = a*sqrt ( b – x );
x += h;
}
Из блок – схемы видно, что при всех x <= b вычисления возможны и цикл может работать. При достижении х своего первого значения, превышающего значение b, и при всех последующих значениях работа цикла становится невозможной, так как подкоренное выражение приобретает отрицательное значение. Поэтому будет логично досрочно завершить работу цикла. Это и осуществляется оператором break.