Translate

Оператор циклу while

У мові C ++ існує три види циклів: цикл while c передумовою, цикл while з умовою поста, цикл for.

Цикл while ( "поки") з передумовою

Цикл while з передумовою дозволяє виконати одну і ту ж послідовність дій поки що перевіряється умова істинно. При цьому умова записується до тіла циклу і перевіряється до виконання тіла циклу.

При виконанні циклу while спочатку перевіряється умова. Якщо воно помилкове, то цикл не виконується і управління передається на наступну інструкцію після тіла циклу while. Якщо умова істинно, то виконується інструкція, після чого умова перевіряється знову і знову виконується інструкція. Так триває до тих пір, поки умова буде істинно. Як тільки умова стане помилково, робота циклу завершиться і управління передасться наступної інструкції після циклу.

Синтаксис циклу while ( "поки") c передумовою такої:

while (умова)
     {
         блок інструкцій
     }

Наступний фрагмент програми надрукує на екран квадрати всіх цілих чисел від 1 до 10:

     int i = 1;
     while (i <= 10)
     {
         cout << i * i << endl;
         ++ i;
     }

У цьому прикладі змінна i всередині циклу змінюється від 1 до 10. Така змінна, значення якої змінюється з кожним новим проходом циклу, називається лічильником. Зауважимо, що після виконання цього фрагмента значення змінної i дорівнюватиме 11, оскільки саме при i == 11 умова i <= 10 вперше перестане виконуватися.

Цикл while ( "поки") з післяумовою

Цикл "поки" з умовою поста відрізняється від циклу з передумовою тим, що спочатку виконується блок циклу, а потім перевіряється умова. Якщо умова істинно, то цикл буде виконано ще раз, і так до тих пір, поки умова буде істинно. Синтаксис циклу з умовою поста такий (зверніть увагу на обов'язкову крапку з комою після умови):

     do
     {
         блок інструкцій
     }
     while (умова);

Оскільки умова перевіряється після виконання тіла циклу, то блок циклу з умовою поста завжди буде виконаний хоча б один раз, незалежно від істинності умови. Це може привести до помилок, тому використовувати цикл while з умовою поста слід тільки тоді, коли це дійсно спрощує алгоритм.

Немає коментарів:

Дописати коментар