Оператор прерывает выполнение не только
оператора switch, но
циклов. Управление передается следующему за циклом оператору.
Пример.
Программа вычисляет значение гиперболического синуса вещественного аргумента х
с заданной погрешностью eps с
помощью разложения в бесконечный ряд.
sh х = x + х3/3! + х5/5! + х7/7!
+ ...
Вычисление
заканчивается, когда абсолютная величина очередного члена ряда, прибавляемого к
сумме, станет меньше заданной погрешности. В программе предусмотрено прерывание
цикла с помощью оператора break , если ряд
расходится.
const int MaxIter = 500;
// ограничитель количества итераций
double x, eps;
cout « RUS("\nВведите аргумент и точность:
");
cin >> x >> eps;
bool flag = true; // признак успешного
вычисления
double у = x, ch
= x; // сумма и первый член ряда
for (int n = 0; fabs(ch) > eps; n++)
{
ch *= x * x
/(2 * n + 2)/(2 * n + 3);
// очередной член ряда
у += ch;
if (n > MaxIter){
cout << RUS("\nРяд расходится!");
flag = false; break;}
}
if (flag) cout << RUS("\nЗначение функции: ") <<у;
Оператор перехода к следующей итерации
цикла. При его выполнении все операторы следующие за ним в теле цикла не
выполняются, а управление передается на начало следующей итерации.
Пример:
for(int j=2;
j<i; j++)
{
if(i%j) continue;
else
{dev=true; break;}
}
Если остаток от деления i на j не равен нулю, осуществляется продолжение цикла по оператору continue. Если остаток от
деления равен нулю, выполняется выход из цикла по оператору break с установкой признака деления в логической
переменной dev.
|