Цикл с параметром (for)
Самая простая конструкция цикла - цикл с параметром. Применяется тогда, когда заранее известно число итераций, которое надо выполнить. В общем виде синтаксис оператора цикла с параметром представлен ниже.
Замечания.
1) Областью действия переменных, объявленных в части инициализации цикла, является цикл;
2) Инициализация выполняется один раз в начале исполнения цикла;
3) Выражение определяет условие выполнения цикла: если его результат, приведенный к типу bool, равен true, цикл выполняется. Цикл с параметром реализован как цикл с предусловием. 4) Модификации выполняются после каждой итерации цикла и служат обычно для изменения параметров цикла. В части модификаций можно записать несколько операторов через запятую. Простой или составной оператор представляет собой тело цикла. Любая из частей оператора for может быть опущена (но точки с запятой надо оставить на своих местах!).
Пример. Вычислить сумму чисел от 1 до 100.
Пример. Найти все делители целого положительного числа.
Совет 1. Цикл while можно привести к эквивалентному циклу for и наоборот по схеме:
Совет 2. Чтобы не делать ошибок в циклах следует:
• проверить, всем ли переменным, встречающимся в правой части операторов присваивания в теле цикла, присвоены до этого начальные значения (а также возможно ли выполнение других операторов);
• проверить, изменяется ли в цикле хотя бы одна переменная, входящая в условие выхода из цикла;
• предусмотреть аварийный выход из цикла когда достигнуто заданное число итераций;
• если в теле цикла требуется выполнить более одного оператора - заключайте их в фигурные скобки.
Совет 3.
• Оператор do while используют, когда цикл надо выполнить хотя бы раз;
• Оператором while используйте, когда число итераций заранее не известно, или параметров цикла нет или модификацию параметров удобнее записывать не в конце тела цикла.
• Оператор for используйте в остальных случаях (для циклов со счетчиками).
for (инициализация; выражение; модификации) оператор;Инициализация используется для объявления и присвоения начальных значений величинам, используемым в цикле. В этой части можно записать несколько операторов, разделенных запятой (операцией 'последовательное выполнение'), к примеру, так:
for (int 1 = 0. j = 2; ... int к, m; for (k = 1, m = 0; ...
1) Областью действия переменных, объявленных в части инициализации цикла, является цикл;
2) Инициализация выполняется один раз в начале исполнения цикла;
3) Выражение определяет условие выполнения цикла: если его результат, приведенный к типу bool, равен true, цикл выполняется. Цикл с параметром реализован как цикл с предусловием. 4) Модификации выполняются после каждой итерации цикла и служат обычно для изменения параметров цикла. В части модификаций можно записать несколько операторов через запятую. Простой или составной оператор представляет собой тело цикла. Любая из частей оператора for может быть опущена (но точки с запятой надо оставить на своих местах!).
Пример. Вычислить сумму чисел от 1 до 100.
for (int i=1,s=0; i<=100; i++) s+=1;Пример. Вывести таблицу значений функции \(y=x^{2}\) в заданном диапазоне.
#inclucleint main(){ float Xn,Xk,Dx,X; printf("Введите диапазон и шаг аргумента: "); scanf("%f%f%f", &Хn, &Хк, &Dx); printf('| X | Y |\n"); for (X=Xn;X<=Xk;X+=Dx) printf("| %5.2f | %5.2f |\n",X,X*X+1); return 0; }
#includeint main(){ int num, half, div; cout << "\nВведите число : "; cin >> num; for (half=num/2, div=2; div<=half; div++) if (!(num % div))cout << div << "\n"; return 0; }
for (b1;b2;b3) оператор b1; while (b2){ оператор; b3;}
• проверить, всем ли переменным, встречающимся в правой части операторов присваивания в теле цикла, присвоены до этого начальные значения (а также возможно ли выполнение других операторов);
• проверить, изменяется ли в цикле хотя бы одна переменная, входящая в условие выхода из цикла;
• предусмотреть аварийный выход из цикла когда достигнуто заданное число итераций;
• если в теле цикла требуется выполнить более одного оператора - заключайте их в фигурные скобки.
Совет 3.
• Оператор do while используют, когда цикл надо выполнить хотя бы раз;
• Оператором while используйте, когда число итераций заранее не известно, или параметров цикла нет или модификацию параметров удобнее записывать не в конце тела цикла.
• Оператор for используйте в остальных случаях (для циклов со счетчиками).