Цикли використовуються для багаторазового повторення деякого набора інструкцій. В С++ є три види циклів:
-
while
– цикл з передумовою;do … while
– цикл з післяумовою;for
– цикл з лічильником або з параметром
Один вид циклу можна замінити іншим. Конкретний вид циклу обирається розробником виходячи з типу задач, які необхідно розв’язати. Інструкції, які необхідно повторити називаються тілом циклу. Одноразове виконання інструкцій циклу називається ітерацією.
Цикл з післяумовою do ... while
Цей вид циклу зручно використовувати, коли необхідно аналізувати вхідні дані. На відміну від циклу while
, тіло циклу виконається хоча б один раз, після чого перевіряється умова, тому цей вид циклу називають циклом з післяумовою.
Існтрукції циклу з післяумовою відповідає блок-схема:
Синтаксис:
1 2 3 |
do { інструкції тіла циклу } while (умова); |
Якщо у тілі циклу тільки одна інструкція, то {} можна опустити.
Інструкція циклу з післяумовою виконується так. Спочатку виконується тіло циклу, потім обчислюється умова. Якщо вона хибна, то цикл завершується, інакше повторюється тіло й знову обчислюється умова.
Приклад. Потрібно з клавіатури ввести ціле число від 1 до 20 . Якщо користувач набрав число за межами цього діапазону, то слід повторити спробу. Отже спочатку треба вводити число, а потім перевіряти умову того, що число знаходиться в діапазоні від 1 до 20.
1 2 3 4 5 |
int k; do { cout << "Введіть число "; cin >> k; } while (!(1<=k && k<=20)); |
Кожен цикл із післяумовою можна замінити циклом з передумовою. Наприклад, попередній приклад можна записати так:
1 2 3 4 5 6 |
// щоб ініціювати введення, присвоїмо змінній k "неправильне" значення int k=0; while (!(1<=k && k<=20)){ cout << "Введіть число"; cin >> k; } |