Лабораторная работа №4. Алгоритмы и программы циклических структур. Простые циклы
1 Цель работы
Изучить операторы циклов, используемые для организации повторяющихся процессов в программах.
2 Порядок выполнения работы
Получить задание на выполнение лабораторной работы согласно своему варианту. Разработать и отладить программу. Составить отчет о лабораторной работе и защитить его у преподавателя.
3 Содержание отчета
наименование и цель работы;
задание на лабораторную работу согласно варианту;
схема алгоритма, текст программы на алгоритмическом языке;
результаты работы программы.
4 Краткая теория
Оператор цикла задает повторное выполнение определенных операторов.
4.1 Оператор цикла for
Предположим, нам нужно вычислить сумму всех целых чисел от 0 до 100. Для этого воспользуемся оператором цикла for:
int sum = 0;
for (int i = 1; i <= 100; i++) //заголовок цикла
sum += i; // тело цикла
Оператор цикла состоит из заголовка цикла и тела цикла. Тело цикла – это оператор, который будет повторно выполняться (в данном случае – увеличение значения переменной sum на величину переменной i). Заголовок – это ключевое слово for, после которого в круглых скобках записаны три выражения, разделенные точкой с запятой. Первое выражение вычисляется один раз до начала выполнения цикла. Второе – это условие цикла. Тело цикла будет повторяться до тех пор, пока условие цикла истинно. Третье выражение вычисляется после каждого повторения тела цикла.
Оператор for реализует фундаментальный принцип вычислений в программировании – итерацию. Тело цикла повторяется для разных, в данном случае последовательных, значений переменной i. Повторение иногда называется итерацией. Мы как бы проходим по последовательности значений переменной i, выполняя с текущим значением одно и то же действие, тем самым постепенно вычисляя нужное значение. С каждой итерацией мы подходим к нему все ближе и ближе.
Любое из трех выражений в заголовке цикла может быть опущено (в том числе и все три). То же самое можно записать следующим образом:
int sum = 0;
int i = 1;
for (; i <= 100; )
{
sum += i;
i++;
}
Заметим, что вместо одного оператора цикла мы записали несколько операторов, заключенных в фигурные скобки – блок. Другой вариант:
int sum = 0;
int i = 1;
for (; ;)
{
if (i > 100)
break;
sum += i;
i++;
}
В последнем примере мы опять встречаем оператор break. Он завершает выполнение цикла. Еще одним вспомогательным оператором при выполнении циклов служит оператор продолжения continue. Этот оператор заставляет пропустить остаток тела цикла и перейти к следующей итерации (повторению). Например, если мы хотим найти сумму всех целых чисел от 0 до 100, которые не делятся на 7, можно записать это так:
int sum = 0;
for (int i = 1; i <= 100; i++)
{
if ( i % 7 == 0)
continue;
sum += i;
}
Еще одно полезное свойство цикла for: в первом выражении заголовка цикла можно объявить переменную. Эта переменная будет действительна только в пределах цикла.
