Умова виконання циклу
Ініціалізуючий вираз
Цикл for
Цикли
Дія циклу полягає в послідовному повторенні певної частини нашої програми певну кількість раз. Повторення продовжеється доти, доки виконується відповідна умова. Коли значення виразу, що задає умову, стає хибним, виконання циклу припиняється, а керування передається оператору, що розміщується безпосередньо після циклу.
В С++ існує три види циклів: for, while, do.
Цей цикл вважають найлегшим для розуміння. Всі елементи, що контролюють його виконання, зібрані в одному місці, тоді як у циклах інших типів вони розкидані всередині циклу, що часто утруднює розуміння логіки його роботи.
Цикл for організує виконання фрагменту програми фіксоване число раз. Як правило (хоч і не завжди), цей тип циклу використовується тоді, коли число разів повторення фрагменту відоме зарані.
Далі приведена програма, що виводить на екран квадрати цілих чисел від 0 до 14.
#include <iostream>
using namespace std;
int main()
{int j;
for (j=0;j<15;j++)
cout <<j*j<<” “;
cout<<endl;
return 0;
}
Яким чином працює ця програма? Оператор for управляє циклом. Він складається з ключового слова for, після якого йдуть круглі дужки, що містять три вирази, розділені крапкою з комою ;
for (j=0;j<15;j++)
Перше з трьох виразів називають ініціалізуючим, друге – умовою перевірки, третє – інкрементуючим.
Ці три вирази, як правило (а не завжди) містять одну змінну, яку називають лічильником циклу. В попередній програмі лічильником циклу є змінна j. Вона визначається до того, як почне виконуватися тіло циклу.
Під тілом циклу розуміють ту частину коду, яка періодично виконується в циклі. В нашому прикладі тіло циклу складається з одного оператора:
cout <<j*j<<” “;
Звернемо увагу на те, що після оператора for відсутня крапка з комою. Це пояснюється тим, що насправді оператор for разом з тілом циклу становить один оператор. Якщо поставити після заголовку оператора for знак ; то компілятор сприйме це як відсутність тіла циклу і результат роботи програми буде відрізнятися від задуманого.
Розглянемо, яким способом три вирази, що стоять в круглих дужках, впливають на роботу циклу.
Ініціалізуючий вираз обчислюється лише один раз – на початку виконання циклу. Обчислене значення ініціалізує лічильник циклу. В нашому прикладі
for (j=0;j<15;j++)
змінна j одержує початкове значення 0.
Як правило, умова виконання циклу містить в собі операцію відношення. Умова перевіряється кожен раз перед виконанням тіла циклу і визначає, потрібно виконувати цикл ще раз чи ні. Якщо умова виконується, то відповідний вираз істинний і тіло циклу виконується ще раз. В іншому випадку управління передається тому оператору, який записаний після циклу.. В нашій програмі після завершення циклу управління передається оператору
cout<<endl;