Лабораторна робота № 7. Структура повторення

Мета:

Здобути навики використання середовища розробки мови C++, створити проект, що містить програми структур повторення, здобути навички написання таких програм.

Короткі теоретичні відомості до роботи.

Структура повторення for (цикл) містить умову у круглих дужках та операцію (тіло циклу), яка повторюється. Наприклад:

int i; double a=5;

for (i=1; i<5; i++) cout<<a*i;

Виконання робиться так: керуюча змінна i присвоює початкове значення 1 і виконується тіло циклу (на екран виводиться множення a*i, що дорівнює 5); значення i збільшується на 1, здійснюється перевірка умови i<5 і так як i=2, то виконується тіло циклу (на екран виводиться число 10); значення i знову збільшується на 1 і так далі. Процес повторення продовжується, аж поки виконується умова i<5. При i=5 процес повторення закінчується. Останнє число, що виводиться на екран, дорівнює 20.

Коли умова завжди хибна (наприклад: (i=1; i<1; i++)), то виконується тільки один цикл для початкового значення керуючої змінної i.

Коли умова завжди істинна (наприклад: (i=1; i>0; i++)), то цикл виконується нескінченно разів.

Тіло циклу може містити багато операцій та інші структури повторення, тобто цикли можуть бути вкладеними один в іншій.

Розглянемо використання циклу типа for для програми, яка виводить на екран таблицю множення.

Внутрішній цикл повністю виконується для кожного значення керуючої змінної j. Для підрахунку кількості виведених чисел використовується лічильник. Ціла змінна І ініціалізується початковим значенням 0 і далі у внутрішньому циклі змінюється автоматично.

Оператори break та continue (продовжувати) змінюють потік управління. Оператор break пропускає наступну за ним частину структури switch та здійснює вихід із перемикача.


У структурах повторення оператор break достроково перериває цикл і здійснює вихід із структури при дотримані даної умови. Наприклад, у програмі, що розглянута, можна як внутрішній цикл з переходом до крапки М, та і зовнішній – з переходом до крапки М1.

Оператор continue викликає пропуск наступних за ним операцій тіла циклу, тобто скорочує тіло циклу з переходом до крапки М2.

Розглянемо програму зі застосуванням оператора continue у наступній програмі.

Структура повторення while (поки) визначає дію, котра повинна повторюватися, поки деяка умова остається істинною. Наприклад,

Int i=5; while (i>0){cout<<‘ ‘; --I;};

Особливістю цієї структури у тому, що спочатку перевіряється умова, а потім виконуються операції тіла циклу. Коли умова завжди хибна, то операції тіла циклу не виконуються. Розглянемо програму обчислення кількості перестановок (m!) із m елементів. Програма демонструє структуру вибору if/else та циклічну типа while.

По визначеною m! – ціле позитивне число, але змінна Р об’явлена типом double. Це пояснюється тим, що m! – довге число при m, яке не розміщується у форматі unsigned long. Така помилка має назву переповнення. Вона не робить перерву виконання програми, але приводить до невірного результату. Тому застосовується формат double з наступним округленням (у даному випадку арифметичним).

Програму можна розглянути для характерних варіантів: m: = -0.5, 0, 15.

Структура повторення do/while (роби, поки) відрізняється від попередньої тим, що спочатку виконуються операції тіла циклу, а потім робиться перевірка умови. Тому перший цикл виконується, навіть коли умова завжди хибна.

Наприклад,

int i=5; do {cout<<i<<’ ‘; --i}while(i>6);

Робота структури do/while розглядається у наступній програмі, де у циклі виводиться керуюча змінна i.

Оглядові запитання

1. Яку умову містить структура повторення for (цикл)?

2. Яке діє структура повторення for (цикл)?

3. Чи може тіло циклу містити багато операцій та інші структури повторення? Коли – так, то поясніть це на прикладах.

4. Що виконує оператор continue?

5. Яку дію визначає структура повторення while (поки)?

6. Яким оператором закінчується програма?

7. Чим відрізняється структура повторення do/while (роби, поки) від структура повторення while (поки)?

8. Що виконує оператор cout?

9. Що виконує оператор cin?

10. Які типи даних вам знайомі і що вони визначають?



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: