Урок #5

Цикли і оператори управління циклами

Доволі часто нам доводиться писати програми з повторенням якихось певних операцій. Наприклад, піднесення до степеня. Як нам відомо, піднесення будь-якого числа до натурального степеня робиться за допомогою багаторазового множення числа на саме себе. Або ж факторіал – множення всіх чисел від 1 до n. Без циклів тут не обійтися.

Цикл while

Почнемо з самого простого циклу: “поки умова істинна, виконувати якісь дії; як тільки воно стало хибним – вийти з циклу». А описується цей цикл так:

while (умова) {оператор}

Як ми бачимо, все гранично просто. Є єдине «але»: умова і оператор повинні бути такими, щоб результат умови міг стати хибним. В іншому випадку цикл ніколи не припиниться.

Простий приклад програми з циклом, яка обчислює 2 в заданому користувачем степені:

5
32
Для продовження натисніть будь-яку клавішу…

Зверніть увагу, що тип int майже завжди 4-х бітний, тому максимальне значення в цьому типі – 2 ^ 24. Для отримання результату до 2 ^ 64 можна скористатися типом unsigned long long.

Спробуйте самі написати код для обчислення факторіала числа.

Цикл do while

Назва циклу говорить сама за себе: “Робити, поки”. Тобто спочатку виконується оператор, а потім вже перевіряється умова. Він дуже схожий на while, але з деякою особливістю. Цикл while може так і не виконуватися (наприклад, умова не виконується вже на етапі перевірки умови), а цикл do while обов’язково виконуватися принаймні один раз. Краще це розглянути на конкретному прикладі:

2
Для продовження натисніть будь-яку клавішу…

Найкрутіший цикл: for

Даний цикл є найпотужнішим циклом з усіх інших. Йому притаманні три блоки: блок ініціалізації, блок умови і блок зміни змінної. У першому блоці ми надаємо початкові значення змінним і, за необхідності, оголошуємо їх як нові. У другому блоці умова виходу з циклу. У третьому – змінюється значення змінної циклу.

Ви вже написали обчислення факторіала числа за допомогою циклу while. Давайте ж перепишемо програму з використанням циклу for.

5
120
Для продовження натисніть будь-яку клавішу…

Спеціальні оператори управління циклом

У C++ існують два спеціальних оператора управління циклом. Це break і continue. Інколи необхідно, зупинити виконання циклу прямо під час його роботи. Наприклад, будемо нескінченно вводити натуральні числа і рахувати їх суму. Як тільки буде введено від’ємне число – закінчити введення і вивести результат на консоль. Для цього нам знадобиться оператор break. Він безжально і безцеремонно припиняє роботу циклу. Дана програма написана нижче:

2
1
6
-1
9
Для продовження натисніть будь-яку клавішу…

Оператор continue використовується не так часто. Якщо програма зустрінеться з цим оператором, вона повернеться до початку циклу. При цьому всі інструкції, які будуть розміщені в циклі після continue, будуть пропускатися. Наступний код наочно демонструє застосування цього оператора.

4
2
9
3
81
9
-1
Для продовження натисніть будь-яку клавішу…

Зверніть увагу, що функція sqrt() знаходиться в бібліотеці cmath. Тому перед її використанням варто підключити потрібну бібліотеку.

Можливі питання за темою:

Питань ще нема

Додавайте свої питання в коментарі. Кращі потраплять до статті 🙂


Урок #4 Урок #6