Оператор цикла
Оборудование: Персональный компьютер, компилятор языка С#.
Цель работы: Ознакомиться с операторами цикла и научиться применять их в С#-программах.
Циклическая управляющая структура применяется для организации многократного выполнения некоторого оператора. Оператор цикла включает <заголовок цикла> и <тело цикла>. Заголовок определяет количество повторений цикла, а тело - повторяемые операторы.
В C реализовано три вида оператора цикла.
(1) Цикл while
while <условие>
<тело цикла>
Условие - это логическое выражение булевского типа.
Тело цикла - это оператор, или последовательность операторов, заключенная в операторные скобки { }. Алгоритм выполнения цикла while
1. Вычисляется значение условия.
2. Если условие истинно, то выполняются операторы тела цикла и повторяется шаг 1.
3. Если условие ложно, то цикл завершается и происходит переход к следующему за while оператору.
(2) Цикл do while
do{
<тело цикла>
}
while (<условие>);
Условие - это выражение булевского типа.
Тело цикла - это оператор, или последовательность операторов, разделенная символом ";".
Алгоритм выполнения цикла do while
1. Выполняются операторы тела цикла.
2. Вычисляется значение условия.
3. Если условие ложно, то повторяется шаг 1.
4. Если условие ложно, то цикл завершается и происходит переход к следующему за do оператору.
Замечания.
1. Оператор do while , в отличии от оператора while, обязательно выполнится по крайней мере один раз.
2. Выйти из цикла можно минуя вычисление условия с помощью оператора go, однако это не соответствует принципам структурного программирования.
3. Если операторы тела цикла не влияют на значение условия и условие истинно перед выполнением цикла while и после выполнения цикла do while, то цикл будет выполняться бесконечно (эффект "зацикливания").
(3) Оператор for
Оператор for - это наиболее общий способ организации цикла. Он имеет следующий формат:
for ( выражение 1 ; выражение 2 ; выражение 3 ) тело
Выражение 1 обычно используется для установления начального значения переменных, управляющих циклом. Выражение 2 - это выражение, определяющее условие, при котором тело цикла будет выполняться. Выражение 3 определяет изменение переменных, управляющих циклом после каждого выполнения тела цикла.
Схема выполнения оператора for:
1. Вычисляется выражение 1.
2. Вычисляется выражение 2.
3. Если значения выражения 2 отлично от нуля (истина), выполняется тело цикла, вычисляется выражение 3 и осуществляется переход к пункту 2, если выражение 2 равно нулю (ложь), то управление передается на оператор, следующий за оператором for.
Существенно то, что проверка условия всегда выполняется в начале цикла. Это значит, что тело цикла может ни разу не выполниться, если условие выполнения сразу будет ложным.
Пример:
int main()
{ int i,b;
for (i=1; i<10; i++)
b=i*i;
return 0;
}
В этом примере вычисляются квадраты чисел от 1 до 9.
Другим вариантом использования оператора for является бесконечный цикл. Для организации такого цикла можно использовать пустое условное выражение, а для выхода из цикла обычно используют дополнительное условие и оператор break.
Пример:
for (;;)
{ ...
... break;
... }
Так как согласно синтаксису языка С# оператор может быть пустым, тело оператора for также может быть пустым. ............