Цикл с предусловием (while)

Цикл с предусловием реализует структурную схему, приведенную на рис. 3.1, а, и имеет вид:

while (выражение) оператор

Выражение определяет условие повторения тела цикла, представленного простым или составным оператором. Выполнение цикла начинается с вычисления выражения. Если оно истинно (не равно false), выполняется оператор цикла. Если при первой проверке выражение равно false, цикл не выполнится ни разу. Тип выражения должен быть арифметическим или приводимым к нему. Выражение вычисляется перед каждой итерацией цикла. Когда выражение оказывается ложным, управление передается следующему после цикла оператору.

Тело цикла может состоять не из одного оператора, а представлять собой блок.

Пример (программа находит все делители целого положительного числа):

Для краткости изложения начало всех программ этой главы не приводится, но подразумевается

int num;

cout <<RUS("\nВведите число: "); cin>> num;

int div = 2; // кандидат на делитель

while (div <= num)

{if (!(num % div))cout << div <<"\n";

div++;}

Для краткости изложения начало всех программ этой главы не приводится, но подразумевается, что оно включает функцию RUS, известную из предыдущих примеров, а также необходимые директивы и библиотеки.

2.2 Цикл с постусловием (do … while)

Цикл с постусловием реализует структурную схему, приведенную на рис. 3.1, б, и имеет вид:

do оператор while (выражение);

Сначала выполняется оператор или блок, составляющий тело цикла, а затем вычисляется выражение. Если оно истинно (не равно false), тело цикла выполняется еще раз. Цикл завершается, когда выражение станет равным false или в теле цикла будет выполнен какой-либо оператор передачи управления. Тип выражения должен быть арифметическим или приводимым к нему.

Пример (программа осуществляет проверку ввода):

char answer;

do{cout << RUS("\nКупи слоника! "); cin >> answer; }

while (answer!= 'y');


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: