Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab-02.DOC
Скачиваний:
23
Добавлен:
14.02.2016
Размер:
99.33 Кб
Скачать

Цикл типу do — while

Цикл типу do — while є циклом з постумовою і використовується у тих випадках, коли невідома точна кількість повторів, але водночас цикл необхідно виконати не менше одного разу. Цикл типу do — while дуже схожий на цикл типу while; різниця тільки в тому, що перевірка істинності виразу в циклі do — while має місце після виконання тіла циклу. Цей цикл має наступну форму запису:

do оператор; while (вираз);

Приклад 3. Цикл типу do — while.

Необхідно вгадати задане у програмі число. Один з варіантів реалізації:

do cin>>r;

while (r!=13);

cout<<"Bи вгадали число.";

В цьому прикладі користувач вводить числа до тих пір, поки не буде введено число 13. Після цього видається повідомлення про те, що ви вгадали.

Керуючі оператори в циклах

Існують ще три оператора, призначених для керування порядком виконання програми на мові С++.

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

Приклад 4. Використання оператора break.

Треба вгадати число з 10 спроб.

i=1;

while( i++<=10 )

{

cin>>rez;

if (rez==15) break;

cout<<"\nПощастить наступного разу.";

}

if ( i!=12 ) cout<<"\nBи вгадали!.";

В цьому прикладі завершення виконання циклу відбувається за допомогою оператора break.

Оператор continue може використовуватися тільки серед операторів тіла циклу. Цей оператор призводить до переходу до наступної ітерації без завершення поточної.

Приклад 5. Використання оператора continue.

Вводяться числа місяця для обробки. Необхідно здійснити перевірку коректності вводу. Число 31 буде кінцем обробки.

while(den!=31)

{

cin>>den;

if (den<1||den>31) continue;

… // Обробка числа den

}

В даному прикладі неправильне введення значення призводить до пропуску частини ітерації, призначеної для обробки цього значення.

Оператор goto (перехід на задану мітку) в мові С++ є поганим засобом. Його використання призводить до значних ускладнень логіки програми .

Існує лише один випадок, коли програмісти-професіонали допускають використання goto, — це вихід з вкладеного набору циклів при виявленні помилок (break дає можливість виходу лише з одного циклу).

Цикл типу for

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

Цикл for має наступну форму запису:

for (вираз1; вираз2; вираз3) оператор;

Вираз1 обчислюється першим. Зазвичай тут виконується ініціалізація лічильників циклів і змінних. Цей вираз обчислюється один раз, коли цикл fоr починає виконуватися. Далі обчислюється вираз2. Він служить для перевірки умови. Якщо значення виразу2 не є нуль, то виконується оператор (тіло циклу). Якщо ж значення виразу2 рівне нулю, то цикл завершується. Вираз3 обчислюється в кінці кожного виконання тіла циклу.

В якості оператора може використовуватися простий оператор або сукупність операторів, об’єднаних у блок дужками {}.

Приклад 6. Цикл типу fоr.

Підрахувати yТ. Можливий варіант розв’язання цієї задачі має вигляд:

for ( i=1, rez=1; i<=Т; i++ ) rez=rez*y;

cout<<"rez="<<rez;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]