Назад
Зміст
Вперед
Структура оператору циклу з параметром
Цикл, це повторення однакових дій. Він складається з заголовка та тіла циклу.
// Заголовок
for (дія до початку циклу;
умова продовження циклу;
дія наприкінці кожного витку циклу)
// Тіло
{
оператор1;
оператор2;
…
операторN;
}
|
Тіло циклу – це оператори, які повторюються. Вони пишуться у фігурних дужках.
В заголовку вказується скільки разів будуть повторюватись оператори тіла циклу.
Приклади заголовків:
| Заголовок |
for (i=start; i<=finish; i++)
|
for (i=start; i<=finish; i+=h)
|
for (i=start; i>=finish; i--)
|
for (i=start; i>=finish; i-=h)
|
Порядок роботи циклу:
- До початку роботи циклу параметру (і) присвоюється початкове значення
- Потім обчислюється та перевіряється умова продовження циклу
- Якщо умова невірна, то цикл завершується, якщо умова вірна, то виконуються оператори тіла циклу, у фігурних дужках
- Змінюється (збільшується або зменшується) параметр циклу на крок h (або на 1)
- Виконується перехід на п.2
Термінологія
- Параметр циклу (у прикладі i), будь-яка змінна цілого типу.
- Початкове значення параметру (у прикладі start) – стала, змінна або вираз того ж типу, що й параметр.
- Кінцеве значення параметру (у прикладі finish) – стала, змінна або вираз того ж типу, що й параметр.
- Заголовок циклу указує, скільки разів буде виконуватись тіло циклу.
- Кількість витків циклу (кількість ітерацій) – кількість повторень тіла циклу.
| Програма | Результат роботи | Кількість ітерацій (витків циклу) |
for (i=1; i<=5; i++)
{
cout<<i<<" ";
}
|
1 2 3 4 5 | 5 |
for (i=2; i<=8; i+=2)
{
cout<<i<<" ";
}
|
2 4 6 8 | 4 |
for (i=3; i>=1; i--)
{
cout<<i<<" ";
}
|
3 2 1 | 3 |
for (i=6; i>=2; i-=2)
{
cout<<i<<" ";
}
|
6 4 2 | 3 |
Зауваження
- Параметр циклу автоматично по черзі приймає цілі значення від start до finish з кроком h
- Скільки значень прийме параметр циклу від start до finish, стільки разів виконається тіло циклу.
- В операторі з параметром, що збільшується, щоб виконувалось тіло циклу потрібно, щоб start<=finish. Якщо start >finish, то помилки не буде але тіло циклу виконуватись не буде.,
| Фрагмент програми | Результат роботи |
for (i=5; i<=10; i++)
{
cout<<"*";
}
| ****** |
for (i=10; i<=5; i++)
{
cout<<"*";
}
| Такий фрагмент програми нічого не виведе на екран. |
- В операторі з параметром, що зменшується, щоб виконувалось тіло циклу потрібно, щоб start>=finish.
Якщо start < finish, то помилки не буде але тіло циклу виконуватись не буде.
| Фрагмент програми | Результат роботи |
for (i=10; i>=5; i--)
{
cout<<"*";
}
| ****** |
for (i=5; i>=10; i--)
{
cout<<"*";
}
| Такий фрагмент програми нічого не виведе на екран. |
- Параметр циклу не можна змінювати у тілі циклу. Програма може зациклитись або деякі вітки циклу виконуватись не будуть.
Наприклад:
| Фрагмент програми | Результат роботи |
for (i=1; i<=3; i++)
{
cout<<i<<" ";
i++;
}
|
1 3
|
Назад
Зміст
Вперед