Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПОС.doc
Скачиваний:
4
Добавлен:
02.05.2019
Размер:
555.52 Кб
Скачать

2.9 Організація циклів

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

Оператор while

Оператор while є циклом з передумовою. Нижче наведений синтаксис оператора:

while(умова)

оператор

Умовою має бути булевий вираз. Внутрішній оператор циклу (тіло циклу) виконується до тих пір, поки значенням умова буде істина. Звичайно цикл охоплює декілька операторів, тоді їх потрібно об’єднати в блок.

Наприклад, наведений далі фрагмент програми дозволяє визначити суму всіх парних чисел від 4 до 56.

int S=0,i=4;

while(i<=56)

{

S+=i;

i+=2;

}

Оператор do-while

Цикл do-while є циклом з постумовою. Нижче наведений синтаксис цього оператора.

do

оператор

while(умова)

Умова має бути булевого типу. Одне виконання оператора do-while завжди забезпечене. Подальші виконання визначаються значенням умови. Якщо воно істинне, то цикл виконується. Інакше виконання циклу завершується. Аналогічно іншим операторам управління як внутрішній оператор можна використовувати блок.

Для виконання попередньої задачі відповідний фрагмент програми з застосуванням оператора do-while має такий вигляд.

int S=0,i=4;

do

{

S+=i;

i+=2;

}

while(i<=56)

Оператор for

Цикли while і do-while можуть реалізувати всі запити користувача по організації циклічних обчислень. Проте в тих випадках, коли відома кількість повтореньциклу зручно віикористовувати цикл for. З циклом for звичайно зв’язане поняття управляючої змінної циклу, яка набуває початкового значення при вході в цикл, змінюється згідно із законом, визначеним у заголовку циклу після кожного його виконання і порівнюється з деяким межовим значенням для вироблення рішення про продовження обчислень або їх завершення. Нижче наведений синтаксис циклу.

for(ініціалізація_управляючої_змінної;

перевірка_умови_закінчення_циклу;

зміна_значення_управляючої_змінної)

оператор

Як управляюча змінна використовуються змінні будь-яких числових типів.

Наприклад, наведений далі фрагмент програми дозволяє визначити суму всіх парних чисел від 2 до 38:

int i, S=0;

for(i=2; i<=38;i+=2)

S+=i;

2.10 Оператор break

Оператор break використовується у таких випадках:

  • для виходу з оператора switch;

  • для виходу з циклу;

Перший варіант використовування оператора break вже розглянуто у підрозд. 2.8.

Для виходу з циклу оператор break розтошовують у циклі як внутрішній оператор умовного оператора if, як це зроблено у наступному прикладі, де оператор break дозволяє запобігти ділення на 0.

for(i=0;i<x;i++)

{

if(b==i)

break;

Y=a/(b-i);

}

2.11 Оператор continue

Оператор continue використовується тільки в циклах. Він перериває виконання операторів, що складають тіло циклу і повертає управляння заголовку циклу. При цьому заголовок працює так, ніби чергова ітерація завершилася. Конкретно в циклах while і do-while управляння передається умові, а в циклі for – третьому елементу заголовка, змічуючому управляючу змінну. У наступному прикладі, якщо b==i, обчислення Y не відбудеться, але виконання циклу буде продовжено.

for(i=0;i<x;i++)

{

if(b==i)

continue;

Y=a/(b-i);

}