Циклы в программировании
Представим ситуацию, когда нам надо вывести на экран одно и тоже слово, допустим слово "HELLO", 10 раз. Как нам поступить?
Можно взять и 10 раз написать
cout << "HELLO";
А что если, надо не 10 раз, а 20, 30, 40 раз?, а если 200 раз? В этом случае копирование займет очень много времени. А если, необходимо, чтобы пользователь сам выбирать сколько раз ему вывести на экран информацию?
Чтобы справиться с этой задачей, нам поможет специальная конструкция, которая называется
цикл.
Цикл - это алгоритмическая конструкция, в которой некоторая последовательность команд повторяется несколько раз.
В языке программирования С++, есть два вида циклов: цикл с переменной (
for
) и цикл с условием (
while
и
do...while
)
Начнем знакомство с циклами с первого вида.
Цикл с переменной (for)
Очень часто бывает, что мы знаем число повторений каких-либо действий или же можем вычислить число повторений через известные нам данные. В некоторых языках программирования есть команда, которая на русском языке звучит как
повтори(число раз)
, указывая в скобках точное число повторений.
Интересно проследить как работает этот цикл на машинном уровне:
1. в памяти выделяется определенная ячейка памяти и в нее записывается число повторений;
2. когда программа выполняет тело цикла один раз, содержимое этой ячейки (счетчик) уменьшается на единицу;
3. выполнение цикла заканчивается, когда в этой ячейке будет нуль.
В языке программирования C++ нет такой конструкции, но есть конструкция
for
.
Общая форма записи оператора цикла for выглядит следующим образом:
for (/*выражение1*/; /*выражение2*/; /*выражение3*/ )
{
/*один оператор или блок операторов - тело цикла*/;
}
Данная конструкция требует, чтобы мы:
1. явно выделили ячейку памяти, которая будет являться счетчиком и задали ей начальное значение;
2. прописали условие, при котором тело цикла будет выполняться;
3. указали, как будет менять значение в данной ячейке.
В практической части мы попробуем вывести на экран слово "
Hello
"
10 раз. А в дальнейших задачах разберем данную конструкцию подробнее.