Назад Зміст Вперед

Структура оператору циклу з параметром

Цикл, це повторення однакових дій. Він складається з заголовка та тіла циклу.
 // Заголовок
 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)

Порядок роботи циклу:

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

Термінологія

  1. Параметр циклу (у прикладі i), будь-яка змінна цілого типу.
  2. Початкове значення параметру (у прикладі start) – стала, змінна або вираз того ж типу, що й параметр.
  3. Кінцеве значення параметру (у прикладі finish) – стала, змінна або вираз того ж типу, що й параметр.
  4. Заголовок циклу указує, скільки разів буде виконуватись тіло циклу.
  5. Кількість витків циклу (кількість ітерацій) – кількість повторень тіла циклу.
Програма Результат роботи Кількість вітків циклу
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

Зауваження

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

    Назад Зміст Вперед