Инструкция
Цикл с параметром. Цикл for
Операторы циклов
Различают:
1) итерационные циклы;
2) арифметические циклы.
Группа действий, повторяющихся в цикле, называется его телом.
Однократное выполнение цикла называется его шагом.
В итерационных циклах известно условие выполнения цикла.
Цикл for имеет следующий формат:
for (инициализирующее выражение; условие; модифицирующее выражение)
Пример 37. Вычислить квадраты чисел от 1 до 9.
int main() { int i, b; for (i =1; i<10; i++) { b = i * i; cout<<“\ni=”<<i<<” b=”<<b; } return 0; }
Алгоритмическая структура, соответствующая этому оператору, показана на рис. 3.1.
Рис. 3.1. Алгоритмическая структура выполнения оператора for
Другим вариантом использования инструкции for является бесконечный цикл. Для организации такого цикла можно использовать пустое условное выражение, а для выхода из цикла обычно используют дополнительное условие и инструкцию break. Например:
for (;;)
{
...
break;
...
}
Цикл for может быть заменен циклом while следующим образом:
инициализирующее выражение; while (условие) { инструкция модифицирующее выражение; }
Тело цикла for может быть пустой инструкцией. Такая форма цикла может быть использована для организации поиска:
Пример 38.Поиск первого значения t[i]>=10
for (i = 0; t[i]<10; i++);
Пример 39. Использования цикла с параметром.
1) Уменьшение параметра:
for ( n=10; n>0; n--)
{ <тело цикла>}
2) Изменение шага корректировки:
for ( n=2; n<60; n+=13)
{ <тело цикла>}
3) Возможность проверять условие отличное от условия, которое налагается на число итераций:
for ( num=1;num*num*num<216; num++)
{ <тело цикла>}
4) Коррекция может осуществляться не только с помощью сложения или вычитания:
for ( d=100.0; d<150.0;d*=1.1)
{ <тело цикла>}
for (x=1; y<=75; y=5*(x++)+10)
{ <тело цикла>}
5) Можно использовать несколько инициализирующих или корректирующих выражений:
for (x=1, y=0; x<10; x++, y+=x)
{ <тело цикла>}
1. Цикл с предусловием. Цикл while:
Используется в тех случаях, когда число повторений цикла заранее не известно. Этот цикл имеет следующий формат: