Основы программирования на C++, PASCAL
for(n=l,S=0;1.0/n>eps && n<INT_MAX;n++) S+=1.0/n;
И наконец, эта же самая задача с пустым телом цикла:
for(n=l,S=0;1.0/n>eps && n<INT_MAX;S+=1.0/n++);
Следующий фрагмент программы на Си++ содержит два вложенных цикла for. В нем запрограммировано получение на экране таблицы умножения.
for(x=2;х<=9;х++)
for(y=2;y<=9;y++)
cout<<"\n"<<x<<"*"<<y<<"="<<x*y;
На экране будет получен следующий результат:
2*2=4
2*3=6
. . .
9*8=72
9*9=81
Оператор continue. Если выполнение очередного шага цикла требуется завершить до того, как будет достигнут конец тела цикла, используется оператор continue. Следующий фрагмент программы обеспечивает вывод на экран всех четных чисел в диапазоне от 1 до 100.
for(i=l;i<=100;i++)
{if(i%2) continue; cout<<"\t"<<i;}
Для нечетных значений переменной i остаток от деления на 2 будет равен единице, этот результат воспринимается как значение «истина» в условии ветвления, и выполняется оператор continue. Он завершит очередной шаг цикла, выполнение цикла перейдет к следующему шагу.
Оператор goto. Оператор безусловного перехода goto существует в языке Си, как и во всех других языках программирования высокого уровня. Однако с точки зрения структурного подхода к программированию его использование рекомендуется ограничить. Формат оператора:
goto метка;
Метка представляет собой идентификатор с последующим двоеточием, ставится перед помечаемым оператором.
Одна из ситуаций, в которых использование goto является оправданным — это необходимость «досрочного» выхода из вложенного цикла. Вот пример такой ситуации:
for(...)
{ while (...)
{ for(...)
{... goto exit ...}
}
}
exit: cout<<"Bыход из цикла";
При использовании оператора безусловного перехода необходимо учитывать следующие ограничения:
• нельзя входить внутрь блока извне;
• нельзя входить внутрь условного оператора (if ...else...);
• нельзя входить внутрь переключателя;
• нельзя входить внутрь цикла.
Упражнения
1. Используя циклы while, do - while и for, написать три варианта программы получения на экране таблицы синусов для значений аргумента в диапазоне от 0 до π/2 с заданным числом шагов.
2. Вычислить и вывести все члены числового ряда
значение которых превышает 10-5.
3. Напечатать в возрастающем порядке все трехзначные числа, в десятичной записи которых нет одинаковых цифр.
4. Дано целое n > 2. Напечатать все простые числа из диапазона [2, n].
5. Составить программу перевода целого десятичного числа в двоичную систему счисления.
6. Составить программу перевода целого десятичного числа в шестнадцатеричную систему счисления.