Вложенные циклы
Do
Оператор цикла с постусловием (do while)
Формат оператора: Графическая интерпретация оператора
![]() |
оператор;
while(выражение);
Работа оператора
Сначала выполняется простой или составной оператор, составляющий тело цикла, а затем вычисляется выражение (условие). Если оно истинно (не равно false), тело цикла выполняется еще раз. Цикл завершается, когда выражение станет равным false или в теле цикла будет выполнен какой-либо оператор передачи управления. Тип выражения должен быть арифметическим или приводимым к нему.
Замечания:
- последовательность инструкций между doи while всегда будет выполнена хотя бы один раз;
- для того, чтобы цикл завершился, необходимо, чтобы в теле циклаизменялись значения переменных, входящих в условие.
Отличие оператора цикла while
от оператора цикла do..while
В операторе while тело цикла может не выполняться ни разу, если логическое выражение сразу окажется ложным.
Пример:Вывести на экран числа от 1 до 100.
![]() | //Schet_ot_1_do_100; #include <conio.h> #include <iostream> using namespace std; int main(){ setlocale(LC_ALL,"Rus"); cout<<"\nЧисла от 1 до 100:\n "; int i=1; //начальное значение параметра цикла do{ cout<<" "<<i<<" "; // вывод на экран значения i i++; // Увеличение параметра цикла на 1 } while (i<=100) // перебираем первые 100 чисел _getch(); return 0; } |
Тело цикла может содержать любой оператор, в том числе и оператор цикла. Структура цикла, содержащая вложенный цикл, называется кратным циклом. Число вложений может быть произвольным. Если цикл содержит один вложенный цикл, то он называется двойным циклом (рис. 4.2).
Рисунок 4.2–Блок-схемынекоторых из возможных вариантов реализации двойного цикла
Цикл, который содержит вложенный цикл, называется внешним. В двойном цикле вложенный цикл называется внутренним. На рисунке 4.2.a предложена блок-схема алгоритма, в котором для реализации и ввнешнего и внутреннего циклов использован оператор цикла с параметром (for). Такой вид двойного цикла используется при работе с двумерными массивами (таблицами). На рисунке 4.2.b для реализации внешнего цикла использован оператор цикла с предусловием (while), а внутреннего цикла – оператор цикла с параметром (for). На рисунке 4.2.c ввнешний цикл представлен оператором цикла с параметром (for), а внутренний – оператором цикла с предусловием (while).
Переменная внутреннего цикла всегда меняется быстрее, чем внешнего. Это означает, что для каждого значения внешней переменной цикла меняются все значения внутренней переменной.
Внешний и внутренний циклы могут использовать любой вид операторов цикла C++ (while, do while, for) (рис. 4.2).
Пример.Дано число вида , где
Вывести на экран все числа
.