Вложенные циклы

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).

Пример.Дано число вида , где Вывести на экран все числа .