Урок 5.8. Оператор цикла do while

5.8. Оператор цикла do while

Оператор цикла do while имеет следующую форму записи:

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

Оператор do while работает следующим образом: сначала выполняется <оператор>, а затем вычисляется значение <выражение> . Если значение <выражение> истинно, то <оператор> выполняется повторно, если <выражение> ложно, то выполнение цикла завершается. Алгоритмическая схема выполнения do while представлена на рис. 5.5.Fig5.4

Рис. 5.5. Алгоритмическая схема выполнения do while.

Оператор do while определяет цикл с постусловием, поскольку проверка на необходимость повторного выполнения <оператор> осуществляется после отработки тела цикла и, таким образом, тело цикла всегда выполняется, по меньшей мере – единожды. Аналогично, как и для цикла while, программист должен позаботиться о завершении цикла путем изменения переменной(условия) цикла либо в теле цикла, либо в <выражение> для while.

Примеры, приведенные в предыдущем разделе 5.7, перепишем с использованием оператора do while.

// 1. Изменение переменной цикла в <выражение>:
int n = 1; 
float y = 0;
 
do
    y +=n/(n+5.0);
while (++n <= 50);
 
// 2. Изменение переменной цикла в <оператор>:
int n = 1; 
float y = 0;
 
do
{ 
  y += n/(n + 5.0); 
  ++n;
} while (n <= 50);
 
// 3. Внесение <оператор> в состав <выражение>:
int n = 1; 
float y = 0;
 
do
   ; /* тело цикла - пустой оператор */
 
while (y += n/(n + 5.0), ++n, n <= 50);
 
// 4. Вложенные циклы:
int i = 1, j;
double y = 0;
 
do
{
  j = 1; 
  do
  {
     y += 1/(i + sqrt((double)j));
  }while (++j <= 50);
}while (++i <= 100);

 


// 5. Прерывание выполнения цикла оператором break; :
float sum;
int N;
sum = 0,N = 1;
 
do
  {   
     sum += N/(N + 1.0);
     if (sum > 25.0) break;
     N++;
  } while (N <= 100);

 


Таким образом, оператор do while действует точно так же, как и оператор while, за исключением того, что тело цикла всегда выполняется хотя бы один раз.

рассказать друзьям и получить подарок

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Translate Переводчик

Подписка на новости

SmartResponder.ru
Ваш e-mail: *
Ваше имя: *

Хостинг для Wordpress сайтов