Основні теоретичні відомості

Цикл — це група операторів, що виконуються багаторазово.

Оператор while визначає операції, які циклічно виконуються до того моменту, поки вираз, що стоїть після while, стане хибним. Цей оператор називається оператором циклу з передумовою: спочатку перевіряються умови, і якщо умови виконуються, то потім виконується тіло оператору. Тому можлива ситуація, коли тіло циклу може бути не виконаним жодного разу. Форма запису оператора наступна:

while (вираз) оператор; або while (вираз) {група операторів}

де вираз – це умова виконання тіла циклу.

Наприклад:

const n=25;

int i=0;

while (i<n) i++;

При організації циклу, коли його тіло повинно бути виконане фіксовану кількість разів необхідно реалізувати три операції: ініціювання лічильника, порівняння його з повним значенням межі і збільшення (зменшення) лічильника при кожному проходженні циклу. В С є спеціалізований оператор циклу типу for, в якому органічно поєднано організацію цих трьох операцій.

В операторі for використовуються три вирази, що керують роботою цикла. Вони розділені символом ; . Початковий вираз обчислюється тільки один раз до початку виконання одного з операторів циклу. Якщо вираз-перевірка буде істинним (не рівним нулю), тіло циклу виконається один раз. Потім обчислюється величина виразу коректування і визначається знову величина виразу-перевірки. Оператор циклу for - оператор з передумовою, отже знову ж може трапитися, що тіло циклу не виконається жодного разу. Він має таку форму:

for (ініціювання; умова_виконання; вирази_корекції) оператор

ініціювання_циклу – послідовність визначень та виразів, розділених комами. Всі вирази, що входять до ініціалізації циклу розраховуються тільки один раз при вході до цикла;

вирази_корекції – розраховуються на кожній ітерації після виконання операторів тіла циклу і до наступної перевірки умови_виконання.

Наприклад:

int i;

for (i=0; i<n; i++) cout<<i;

Тіло цикла виконується так довго, поки вираз-перевірка не стане хибним (рівним нулю).

Якщо умова_виконання не змінюється або відсутня, то цикл нескінченний.

Наприклад:

for ( ; ; ); // нескінченний цикл

for ( ;1; ); // нескінченний цикл

Для багатьох обчислювальних задач корисним є використання циклу з постумовою (умовою на виході). В цьому випадку тіло циклу обов`язково виконається як мінімум один раз. В С такий оператор циклу реалізується конструкцією do while. Взагалі цикл має вигляд:

do оператор while (вираз);

Проілюструємо його виконання таким прикладом:

do

{ ch=getchar();

putchar(ch);

} while (ch!=`\n`);

Прикладом використання циклів може стати алгоритми розрахунку сум, добутку та ін.

 

Алгоритм розрахунку суми

Крок 1. Ініціалізація змінної суми (s=0) та змінної циклу (i=0).

Крок 2. Якщо зміна циклу більше кількості ітерацій, перехід на крок 4, інакше перехід на крок 3.

Крок 3. Накопичуємо суму. Збільшуємо оператор циклу (і++), перехід на крок 2.

Крок 4. Кінець

Приклад: Розрахувати

int s, i;

s=0;

for (i=0; i<20; i++) s+=i;