Очень часто возникает необходимость выполнить одну и ту же последовательность
действий несколько раз: например, для вычисления выражения an необходимо
выполнить n-1 раз умножение на величину a.
Для этого используются циклы. В данном листочке речь пойдет о цикле for
,
который, как правило, используется для повторения определенной последовательности действий
заданное количество раз.
Рассмотрим задачу вычисления суммы всех натуральных чисел от 1 до n.
Для этого заведем переменную Sum
и к ней будем прибавлять значение переменной
i
, где i
будет принимать все значения от 1 до n.
На языке C++ это можно сделать при помощи цикла for
следующим образом:
int n, Sum, i; cin >> n; Sum = 0; for (i = 1; i <= n; ++i) { Sum = Sum + i; } cout << Sum << endl;
В этом примере последовательность инструкций в блоке, то есть инструкция s = s + i
будет выполнена многократно для всех значений переменной i
от 1 до n
,
то есть в результате переменная s
будет равна сумме всех натуральных чисел
от 1
до n
.
При использовании цикла for
необходимо задать три выражения-параметра
(в круглых скобках через точку с запятой).
Первый параметр – начальное значение переменной, задается в виде
присваивания переменной значения, в нашем случае – i = 1
.
Более формально — первый параметр содержит произвольное выражение, которое вычисляется один
до выполнения тела цикла, и как правило первый параметр используется для инициализации переменной цикла.
Первый параметр может отсутствовать, тогда вместо него ничего не пишется, а просто ставится точка с запятой.
Второй параметр – конечное значение переменной, задается в виде условия на значение
переменной, в нашем случае условие i <= n
означает,
что переменная i
будет принимать значения до n
включительно.
Более формально — второй параметр содержит произвольное выражение. Цикл будет исполняться,
пока значение второго параметра истинно (или ненулевое, если это — целочисленное выражение).
Третий параметр – шаг изменения переменной. Запись ++i
равнозначна записи i = i + 1
и
означает, что переменная i
будет увеличиваться на 1
с каждым новым исполнением цикла,
запись --i
равнозначна записи i = i - 1
и
означает, что переменная i
будет уменьшатся на 1
.
Более формально, третий параметр — это произвольное выражение, которые вычисляется после выполнения
тела цикла, но до проверки условия его окончания. Как правило, в третьем параметре изменяется значение переменной,
записанной в первых двух параметрах. Если хочется, чтобы значение переменной в цикле менялось не на 1, а на большую величину, то это можно сделать, например, так:
i = i + 2
или i = i - 3
.
В нашем примере мы могли бы сделать цикл, в котором переменная i
принимала бы все значения от n
до 1
, уменьшаясь при этом:
for (i = n; i > 0; --i)