Лабораторная работа №3 Подготовка и решение на пк задач с использованием циклов
Цель лабораторной работы – приобретение практических навыков по подготовке, отладке и выполнению циклических программ.
Перед выполнением лабораторной работы студент должен знать: основы применения стандартных операторов цикла: while, do while, for.
После выполнения лабораторной работы студент должен уметь: разрабатывать типовые циклические программы на языке С++.
4.1. Краткие теоретические сведения
Операторы цикла служат для выполнения некоторого фрагмента программы несколько раз. В редких случаях фрагмент выполняется в каждом последовательном шаге цикла без изменений; чаще каждый шаг цикла несколько отличается от предыдущего. Цикл может выполняться заданное заранее число шагов, а может завершаться при наступлении некоторого условия.
Существует три вида циклов: while, for и do.
Оператор цикла while называется циклом с предусловием и имеет следующий формат:
while (выражение) тело цикла;
Оператор while реализует алгоритм, представленный на рис. 21.
Рис.21. Алгоритмы работы оператора while
В качестве выражения допускается использовать любое выражение языка С++, а в качестве тела любой оператор, в том числе пустой или составной. Схема выполнения оператора while следующая:
1. Вычисляется выражение.
2. Если выражение false, то выполнение оператора while заканчивается и выполняется следующий по порядку оператор. Если выражение true, то выполняется тело цикла.
3. Процесс повторяется с пункта 1.
Тело цикла выполняется до тех пор, пока значение выражения равно true. Выражение вычисляется перед каждым выполнением оператора.
Цикла for имеет следующую формат:
for (выражение1; выражение2; выражение3;) тело цикла;
Оператор for реализует алгоритм, представленный на рис. 22.
Рис.22. Алгоритмы работы оператора for
Выражение1 обычно используется для установления начального значения переменных, управляющих циклом. Выражение2 - это выражение, определяющее условие, при котором тело цикла будет выполняться. Выражение3 определяет изменение переменных, управляющих циклом после каждого выполнения тела цикла.
Схема выполнения оператора for:
1. Вычисляется выражение1.
2. Вычисляется выражение2.
3. Если значения выражения2 отлично от нуля (true), выполняется тело цикла, вычисляется выражение3 и осуществляется переход к пункту 2, если выражение2 равно нулю (false), то управление передается на оператор, следующий за оператором for.
Существенно то, что проверка условия всегда выполняется в начале цикла. Это значит, что тело цикла может ни разу не выполниться, если условие выполнения сразу будет ложным.
Цикл for является удобной сокращенной записью для цикла while вида
выражение1;
while (выражение2) {
тело цикла;
выражение3;
}
Выражение1 служит для задания начальных условий выполнения цикла, выражение2 обеспечивает проверку условия выхода из цикла, а выражение3 модифицирует условия, заданные выражением1. Любое из выражений может быть опущено. Если опущено выражение2, то по умолчанию вместо него подставляется значение true. Например, цикл for
for (;выражение2; ) тело цикла;
с опущенными выражением1 и выражением3 эквивалентен циклу
while (выражение2) тело цикла;
Цикл for
for (;;) тело цикла;
со всеми опущенными выражениями эквивалентен циклу
while (true) тело цикла;
т.е. эквивалентен бесконечному циклу. Такой цикл может быть прерван только явным выходом из него с помощью операторов break, goto или return, содержащихся в теле цикла.
Оператор цикла do while называется оператором цикла с постусловием и используется в тех случаях, когда необходимо выполнить тело цикла хотя бы один раз. Формат оператора имеет следующий формат:
do тело цикла while (выражение);
Схема выполнения оператора do while :
1. Выполняется тело цикла (которое может быть составным оператором).