Цикли в С++. Цикл while

Цикли використовуються для багаторазового повторення деякого набора інструкцій. В С++ є три види циклів:

Один вид циклу можна замінити іншим. Конкретний вид циклу обирається розробником виходячи з типу задач, які необхідно розв’язати. Інструкції, які необхідно повторити називаються тілом циклу. Одноразове виконання інструкцій  циклу називається ітерацією.

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

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

Інструкції циклу з передумовою відповідає блок-схема:

Синтаксис:

Якщо  у тілі циклу тільки одна інструкція, то {} можна опустити.

Інструкція циклу виконується так. Спочатку обчислюється умова в заголовку. Якщо вона істинна, то виконується тіло циклу та знов обчислюється умова. Якщо вона істинна, то все повторюється. Виконання циклу закінчується, коли значення умови стає хибним. В останньому  циклі тільки обчислюється умова, а тіло не виконується. Якщо при першому обчисленні умова хибна, то тіло циклу не виконається жодного разу.

Приклад 1. Вивести на екран числа від 1 до N. N >1 вводиться з клавіатури.

За допомогою циклу while легко створити «вічний цикл», для цього достатньо написати умову, яка ніколи не буде виконана. Наприклад, якщо в попередньому прикладі «забути» про збільшення і:

Ці програма буде працювати вічно, тому що і завжди дорівнюватиме 1. Щоб зупинити виконання програми необхідно  натиснути Shift+F5 у вікні Visual Studio.

Щоб уникнути ситуації з “вічним циклом”  від розробника вимагається формулювати умову виходу з циклу. Добитися цього можна, якщо в тілі циклу запрограмувати зміну значень змінних, що впливають  на умову. Найчастіше в якості такої змінної виступає лічильник. Якщо лічильник на кожному кроці циклу збільшується або зменшується на одиницю, то застосовується операція інкременту або декременту. (Докладніше про ці операції за посиланням)

Тобто попередній приклад можна переписати наступним чином:

1+

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *