Оператор цикла с параметром (for)

Циклы

Результат работы программы

Введите номер месяца: 5

Май


Цикл - вид конструкции, используемый для вычислений, повторяющихся многократно.

Блок, ради которого и организуется цикл, называется телом цикла. Остальные операторы служат для управления процессом повторения вычислений: это начальные установки, проверка условия продолжения цикла и модификация параметра цикла (рис.1). Один проход цикла называется итерацией.

Рисунок 4.1Структурные схемы выполнения цикла

Начальные установки служат для того, чтобы до входа в цикл задать значения переменных, которые в нем используются.

Проверка условия продолжения цикла выполняется на каждой итерации либо до тела цикла (тогда говорят о цикле с предусловием, рис. 4.1а), либо после тела цикла (цикл с постусловием, рис 4.1б). Разница между ними состоит в том, что тело цикла с постусловием всегда выполняется хотя бы один раз, после чего проверяется надо ли его выполнять еще раз. Проверка необходимости выполнения цикла с предусловием делается до тела цикла, поэтому возможно, что он не выполнится ни разу.

Параметром цикла называется переменная, которая используется при проверке условия цикла и принудительно изменяется на каждой итерации, причем, как правило на одну и туже величину. Если параметр цикла целочисленный, он называется счетчиком цикла.

Для реализации циклических вычислений предусмотрены три оператора: цикл с предусловием, цикл с постусловием, цикл с параметром. Первые два оператора используются в том случае, когда число повторений цикла неизвестно. Если же число повторений цикла может быть определено перед его началом, то используется оператор цикла с параметром.

Цикл с параметром (цикл со счетчиком, арифметический цикл, цикл «для») – это цикл с заранее известным числом повторений. Подходит только для программирования таких циклических фрагментов, в которых до выполнения цикла известны начальное и конечное значения счетчика повторений цикла.

Формат оператора:

for (инициализация; выражение; модификации) оператор;

Графическая интерпретация оператора цикла for

 
 

Инициализация используется для объявления и присвоения начальных значений величинам, используемым в цикле. В этой части можно записать несколько операторов, разделенных запятой.

Например, так:

for (int i = 0, j = 2; …

или

int k, m;

for (k = 1, m = 0 …

Областью действия переменных, объявленных в части инициализации цикла, является цикл. Инициализация выполняется один раз в начале исполнения цикла.

Выражение определяет условие выполнения цикла: если его результат, приведенный к типу bool, равен true, цикл выполняется. Цикл с параметром реализован как цикл с предусловием.

Модификации выполняются после каждой итерации цикла и служат обычно для изменения параметров цикла. В части модификации можно записать несколько операторов через запятую. Простой или составной оператор представляет собой тело цикла. Любая из частей оператора for может быть опущена (но точки с запятой надо оставить на своих местах!).

Значение переменной-счетчика можно использовать в теле цикла; изменение его значения тоже допускается, но считается плохим стилем программирования.

Замечание. Цикл с параметром не вызывает зацикливания, так как предполагает конечное число повторений.

Для всех операторов цикла выход из цикла осуществляется как вследствие естественного окончания оператора цикла, так и с помощью операторов перехода (goto – безусловный переход, continue – переход к следующей итерации) и выхода (break – выход из цикла).


Пример: Вывести на экран таблицу квадратов первых пяти чисел.

//numbers_and_them_squares #include <conio.h> #include <iostream> using namespace std;   int main(){ setlocale(LC_ALL,"Rus"); cout<<"\nЧисла и их квадраты:\n "; for (int i=1;i<6;i++) { int s=i*i; cout<<"\n"<<i<<"^2 = "<<s; } _getch(); return 0; }