Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
+ООП_Навч_посібник.doc
Скачиваний:
8
Добавлен:
01.07.2025
Размер:
6.58 Mб
Скачать

4.4.4. Використання настанови break для виходу з циклу

Настанова break дає змогу негайно вийти з циклу.

За допомогою настанови break можна організувати негайний вихід з циклу, знехтувавши виконанням коду програми, що залишився в його тілі, і перевірку умовного виразу. Завдяки виявленню усередині циклу настанови break цикл завершується, а керування передається настанові, що є наступною після циклу. Розглянемо простий приклад.

Код програми 4.17. Демонстрація механізму використання настанови break для виходу з циклу

#include <iostream> // Для потокового введення-виведення

using namespace std; // Використання стандартного простору імен

int main()

{

int t;

// Цикл працює для значень t від 0 до 9, а не до 100!

for(t=0; t<100; t++) {

if(t==10) break;

cout << t << " ";

}

getch(); return 0;

}

Ця програма виведе на екран числа від 0 до 9, а не до 100, оскільки настанова break при значенні t, що дорівнює 10, забезпечує негайний вихід з циклу.

Настанова break зазвичай використовується в циклах, у яких під час створення особливих умов необхідно забезпечити негайне їх завершення. Такий фрагмент містить приклад ситуації, коли після натиснення клавіші виконання циклу зупиняється:

for(i=0; i<1000; i++) {

// Якісь дії.

if(kbhit()) break;

}

Настанова break призводить до виходу з самого внутрішнього циклу. Розглянемо приклад.

Код програми 4.18. Демонстрація механізму використання настанови break для виходу з внутрішнього циклу

#include <iostream> // Для потокового введення-виведення

using namespace std; // Використання стандартного простору імен

int main()

{

int t, pm;

for(t=0; t<100; t++) {

pm = 1;

for(;;) {

cout << pm << " ";

pm++;

if(pm==10) break;

}

cout << "\n";

}

getch(); return 0;

}

Ця програма 100 разів виводить на екран числа від 0 до 9. Під час кожного виконання настанови break керування передається назад в зовнішній цикл for.

Варто знати! Настанова break, яка завершує виконання настанови switch, впливає тільки на настанову switch, а не на цикл, що містить її.

На прикладі попередньої програми Ви переконалися в тому, що у мові програмування C++ за допомогою настанови for можна організувати нескінченний цикл1. Для виходу з нескінченного циклу необхідно використовувати настанову break. Безумовно, настанову break можна використовувати і для завершення нескінченного циклу.

4.4.5. Організація вкладених циклів

Як було продемонстровано на прикладі попередньої програми, один цикл можна вкласти в іншій. У мові програмування C++ дозволено використовувати до 256 рівнів вкладення. Вкладені цикли використовуються для вирішення завдань найрізноманітнішого профілю. Наприклад, у наведеному нижче коді програми вкладений цикл for дає змогу знайти прості числа в діапазоні від 2 до 1000.

Код програми 4.19. Демонстрація виведення простих чисел у діапазоні від 2 до 1000

#include <iostream> // Для потокового введення-виведення

using namespace std; // Використання стандартного простору імен

int main()

{

int i, j;

for(i=2; i<1000; i++) {

for(j=2; j<=(i/j); j++)

if(!(i%j)) break; // Якщо число має множник, значить|означає|

// воно не просте.

if(j>(i/j)) cout << i << " – просте число\n";

}

getch(); return 0;

}

Ця програма визначає, чи є простим число, яке міститься в змінній i, шляхом послідовного його ділення на значення, розташоване між числом 2 і результатом обчислення виразу i/j2. Якщо залишок від ділення i/j дорівнює нулю, то це означає, що число i не є простим. Але, якщо внутрішній цикл завершиться повністю (без дострокового завершення роботи з використанням настанови break), то це означає, що поточне значення змінної i дійсно є простим числом.