Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмізація та програмування.docx
Скачиваний:
84
Добавлен:
17.05.2015
Размер:
1.35 Mб
Скачать

Тема 4. Цикли

план:

- Структура цикла

- Цикл з передумовою

- Цикл з параметром

- приклади

      1. Що таке цикл.

Часто виконавцю треба виконати якусь послідовність команд кілька разів. Наприклад, у задачах, подібних For 1 необхідно вивести кілька разів на екран певне число К.

Якщо ці команди треба повторити заздалегідь відоме програмісту число разів (наприклад тільки 7 разів), то можна легко 7 разів написати однакові команди виведення. Але уявіть, що треба зробити однакові операції 1000 або 20000 разів! Крім того існують ситуації коли ми незнаємо заздалегідь скільки разів необхідно виконати ту чи іншу команду, а знаємо тільки умову по якій необхідно закінчити роботу. У програмуванні в таких випадках використовується спеціальна команда (оператор циклу), яка говорить виконавцю, що якусь частину програми треба зробити кілька разів.

  • Цикл - це багаторазове повторення однакових дій

  • Тіло циклу - це команди, які виконуються декілька разів.

  • Крок циклу (Ітерація) - це однократне виконання тіла циклу.

      1. Цикл з умовою

Ми знаємо, що багаторазове виконання групи команд називається циклом. Однак існують випадки, коли число кроків наперед невідомо - воно визначається під час роботи програми.

Тим не менш, є чітка умова, за якою виконавець повинен закінчити роботу. Таким чином, водитися цикл поки виконується умова.

  Для цієї мети служить спеціальний вид циклу - цикл поки (або while, від англійського while - поки). Такий вид циклу називається циклом з умовою, оскільки він закінчується, коли порушується умова в заголовку циклу.

      1. Правило використання циклу поки

  1. Цикл поки використовується тоді, коли кількість повторень циклу заздалегідь невідомо, але обмежена якоюсь умовою.

  2. Оператор циклу починаєтся заголовком циклу - ключовим словом поки, за яким у дужках вказується логічна команда - умова, при якійвиконується цикл.

  3. Якщо умова перестає бути вірною(істинною), виконання циклу закінчується і виконавець переходить до наступної команді.

  4. Умова перевіряється на початку циклу, тобто якщо перед виконанням циклу умова помилкова, то цикл не виконається жодного разу.

  5. У циклі виконуються всі оператори, укладені у фігурні дужки; Якщо тіло циклу включає всього один оператор, дужки можна не ставити.

  6. Для того, щоб легше розбиратися в програмі, всі команди, що входять до циклу, зміщують праворучна 2-3 символа- це дозволяє відразу бачити, де починається і де закінчується цикл.

Приклад. При такій програмі цикл не виконається жодного разу, так як, умова не виконується.

Main {

i=5;

while (i==0) {

i=i+1;

}

}

Важливо пам'ятати, що умова не перевіряється всередині тіла циклу, а тільки тоді, коли виконується команда в заголовку циклу.

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

Приклад. Ця програма призводить до зациклення, так як умова виконується завжди.

main {

i=5;

while (i==5) {

printf(“%d”,i);

}

}

Використання циклу поки дозволяє нам вирішувати завдання, в яких деякі дані невідомі на етапі написання програми, а вводяться користувачем в процесі її виконання.

Приклад. Вивести N раз число K.

For1 {

введення N, K;

i=0;

поки (i<N) {

виведення (K);

i=i+1;

}

}

Нерідко для вирішення завдань доводитися використовувати вкладені цикли.

  • Вкладений цикл - це такий цикл, який знаходиться всередині іншого циклу.

      1. Цикл з параметром

Для спрощення виду програми при вирішенні завдань і збільшення надійність коду використовується модифікований вид циклу - так званий цикл з параметром або з автоінкрементом. Справа в тому, що в більшості циклів, перебираються деякі елементи - ряди чисел, множини, масиви і т.д. При цьому існує ймовірність того, що програміст забуде або переплутає присвоєння початкового значення змінної-індексом (i = 0;) або збільше її в тілі циклу (i = i +1;). Щоб зосередити всі операції з цієї змінної i (вона називається параметром циклу) в одному місці, використовують третій вид циклу, який так і називається - цикл для або for (від англійського "​​для"), який дозволяє замінити цикл поки.

for (i = 0; i <n; i = i +1) {

}

Як видно з цієї програми, всі операції зі змінною тепер згруповані в заголовку циклу for між круглими дужками. Три частини відділяються знаком «;», так само як і кінець команди:

  1. початкова умова i=1 виконується один раз перед початком циклу;

  1. Умова продовження i<n говорить про те, за якої умови цикл буде виконуватися (якщо в початку ця умова невірна, то цикл не виконається жодного разу);

  2. Зміна змінної циклу i=i+1 - цей оператор виконується кожен раз в кінці чергового проходу тіла циклу.

      1. Завдання

For: 1,2,3, 10, 13