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