Теоретичні відомості
У програмах С++ може бути передбачене послідовне повторюване виконання певної частини програми декілька разів. Оператори, що реалізують подібні повторення, називають операторами повторення чи операторами циклу.
Повторення продовжується до тих пір, поки виконується відповідне умова. Коли значення виразу, що задає умову, стає помилковим, виконання циклу припиняється, а управління передається оператору, що слідує за циклом.
Цикл for
Цикл for використовується тоді, коли заздалегідь відомо скільки разів повинно повторитися виконання фрагмента програми. Тобто, цикл for організовує виконання фрагмента програми фіксовану кількість разів.
Синтаксис структури for такий:
for (вираз1 ; вираз2 ; вираз3)
{
інструкція;
…………… // Тіло цикла з кількох операторів – блок
інструкція;
}
Зверніть увагу! Після оператора for та після закриваючої фігурної дужки крапка з комою не ставиться.
Цикл for управляється керуючою змінною, яку називають лічильником циклу. Вона має бути визначена до того, як почне виконуватися тіло циклу.
Вираз1 – слугує для ініціалізації керуючої змінної. Він являє собою інструкцію присвоювання, яка ініціалізує лічильник циклу, т. б. встановлює керуючу змінну в деяке початкове значення. Вираз обчислюється тільки один раз.
Вираз2 – умова виконання циклу. Являє собою умовний вираз (містить в собі операцію відношень), в якому тестується значення керуючої змінної. Умова перевіряється кожен раз перед виконанням тіла циклу і визначає, чи потрібно виконувати цикл ще раз чи ні. Якщо умова істинна, то цикл виконується ще раз. У протилежному випадку виконання циклу припиняється, а управління передається оператору, що слідує за структурою циклу.
Вираз3 – інкремент керуючої змінної – вираз, що визначає як змінюється значення керуючої змінної після кожного проходження тіла циклу.
Переривання циклу: оператори break, сontinue, return.
У деяких випадках буває необхідно перервати повторення циклу.
Один із способів розв’язання цієї задачі – використання оператору break. Він призначений для передчасного виходу з тіла циклу. Оператор break перериває виконання тіла будь-якого циклу (for, do чи while) та передає управління наступному за циклом оператору. При цьому умова виходу з циклу перевіряється в будь-якому його місті.
Ще один спосіб переривання циклу – використання оператору goto, що передає управління певному оператору за межами тіла циклу.
Для переривання циклів, розміщених у функціях, можна використати оператор return. На відміну від оператору break, оператор return перериває не лише виконання циклу, але й виконання тієї функції, у якій розміщений цикл.
Розглянуті способи переривали виконання циклу. Але є ще процедура сontinue, яка перериває лише виконання поточної ітерації, поточного виконання тіла циклу та передає управління на наступну ітерацію. Тобто виконання оператора continue призводить до пропускання операторів, що слідують за ним у тілі циклу.
Приклад програми
Завдання: Написати програму, яка виводить на екран зображений шаблон:
*******
******
*****
****
***
**
*
#include <iostream>
#include <conio.h>
using namespace std;
void main()
{
setlocale (LC_ALL, “Russian”);
int n, i, j;
cout<<”Введіть розмір шаблона”;
cin>>n; // n=7
clrscr(); // очищення екрану
for (i=0; i<n; i++)
{
for (j = n - i; j > 0; j--)
cout <<”*”;
for (j = i; j < n; j++)
cout << “ ”;
cout<<endl;
}
getch();
}
