Циклы. Оператор for

Циклы. Оператор for

Часть 1. Простые Циклы.

Представим, что нас нужно вывести какое-нибудь число не один, а десять раз. Это можно сделать при помощи циклического оператора for.

for(int i = 0; i < 10; i++) {
cout << a;
}

Например если a = 5, то в выходном файле мы увидим

5555555555

Рассмотрим оператор for поподробней.

for(, , ) {
}

В круглых скобках указывается условие, при котором цикл будет выполняться, а в фигурных скобках сами действия.

В круглые скобках находятся три параметра.

Первый — это начальное значения некоторой переменной, наша отправная точка. В примере мы прямо в цикле объявляем переменную i целочисленного типа int. Если бы переменная была объявлена раньше, то параметр начало выглядел бы так: i = 0.

Второй параметр это — условие при котором будет выполняться цикл. В нашем примере это i < 10 — т.е. пока i будет меньше 10 цикл будет работать.

И последний параметр это изменение значения переменной. Здесь переменная i будет увеличиваться на 1 за одну итерацию. i++ означает, что i увеличивается на 1. С тем же успехом можно написать i = i + 1;

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

1) Программа, увеличивающая некоторое значение n на 5 три раза подряд. После выполнения цикла получим

n = 15.

int n = 0;
for(int i = 0; i < 3; i++) {
n = n + 5;
}

2) Программа, 5 раз выводящая слово Hello. Каждый раз слово появляется в новой строке. Это происходит из-за команды endl, которая и переводит строку. Сама команда endl, как нетрудно догадаться, расшифровывается как end line. Если её убрать то в выходном файле получим

HelloHelloHelloHelloHello

for(int j = 0; j < 5; j++) {
cout << «Hello» << endl;
}

Часть 2. Вложенные циклы.

Теперь поговорим о несколько более сложной конструкции — о вложенных циклах. Что будет если один цикл поместить в другой? Например вот так:

int n = 0;
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 5; j++) {
n = n + 2;
}
}

Вложенные циклы можно сравнить, например, с календарем. Год — это цикл из 12 месяцев. А в каждом месяце есть вложенный цикл в виде дней. То есть что бы пройти один круг на внешнем цикле нужно сначала полностью отмотать внутренний цикл. Рассмотрим программу, написанную выше.

Здесь внешний цикл — это тот, в котором принимает участие переменная i. Внутренний цикл соответственно с переменной j. Сначала, при i = 0, j пробежит по всем своим значениям от 0 до 4. Потом i перейдет на 1, а j вновь начнет нарезать круги с 0 до 4. И так, пока не закончится внешний цикл. То есть всего будет 3 * 5 = 15 итераций. А n в конце будет равно 30.

Примеры с вложенными циклами:

  1. Программа, выводящая строку «01234» три раза подряд, в три разные строки. Внутренний цикл будет увеличивать значение j и выводить эту переменную, а после завершения внутреннего цикла следует перевод строки, который повторится 3 раза.

for(int i = 0; i < 3; i++) {
for(int j = 0; j < 5; j++) {
cout << j;
}
cout << endl;
}

2) Необязательно должно быть так, чтобы был только один вложенный цикл. Можно во вложенный цикл вложить еще один, тогда у нас появится как бы еще один внутренний круг. В этом примере у нас три цикла, а значение n принимает значения от 0 до 999

int n = 0;
for(int i = 0; i < 10; i++){
for(int j = 0; j < 10; j++) {
for(int k = 0; k < 10; k++) {
n++;
}
}
}

Нет комментариев

Оставить комментарий