Оператори циклу. Цикли з лічильником
За навчальною програмою 2017 року
Урок 59
8
teach-inf.com.ua
Запитання
Розділ 6 § 6.10
8
© Вивчаємо інформатику teach-inf.com.ua
Команда циклу з лічильником
Розділ 6 § 6.10
Ви вже знаєте, що в багатьох алгоритмах одна або кілька команд повинні повторюватися багато разів поспіль. Недоцільно включати в алгоритм ці команди стільки разів, скільки вони повинні повторюватися, тому що кількість разів повторення може бути дуже велика або навіть заздалегідь невідома.
У таких випадках потрібно в алгоритмах використовувати цикли. Нагадаємо, що цикл в алгоритмі – це фрагмент алгоритму, який може повторюватися поспіль більше ніж один раз.
8
© Вивчаємо інформатику teach-inf.com.ua
Команда циклу з лічильником
Розділ 6 § 6.10
У мовах програмування є кілька команд, які можуть реалізувати цикл. Одна з них – команда циклу з лічильником.
Її доцільно використовувати в тих випадках:
коли кількість повторень команд тіла циклу відома ще до початку виконання циклу.
8
© Вивчаємо інформатику teach-inf.com.ua
Команда циклу з лічильником
Розділ 6 § 6.10
Загальний вигляд команди циклу з лічильником у мові Python такий:
for <ім’я змінної> in range (<кількість повторень>):
<команди тіла циклу>
Рядок заголовка команди циклу з лічильником
Змінна - лічильником циклу
Функція, що утворює (генерує) набір послідовних цілих чисел, перше з яких 0, а останнє - на 1 менше від заданої кількості повторень (усього чисел стільки, скільки задано кількість повторень).
8
© Вивчаємо інформатику teach-inf.com.ua
Команда циклу з лічильником
Розділ 6 § 6.10
Наприклад, функція:
for i in range(3):
генерує набір чисел:
0, 1, 2, усього 3 числа.
Змінна-лічильник i циклу послідовно набуває значень із цього набору чисел.
8
© Вивчаємо інформатику teach-inf.com.ua
Команда циклу з лічильником
Розділ 6 § 6.10
Блок-схему команди циклу з лічильником у Python
8
© Вивчаємо інформатику teach-inf.com.ua
Команда циклу з лічильником
Розділ 6 § 6.10
Виконується команда циклу з лічильником так:
8
© Вивчаємо інформатику teach-inf.com.ua
Команда циклу з лічильником
Розділ 6 § 6.10
Продовження…
8
© Вивчаємо інформатику teach-inf.com.ua
Команда циклу з лічильником
Розділ 6 § 6.10
У записі команди циклу з лічильником усі команди тіла циклу повинні бути записані з однаковим відступом від першої літери слова for.
Для ілюстрації виконання команди циклу з лічильником розглянемо проєкт, у якому обчислюється сума 12 + 22 + З2 + 42.
s=0
for i in range(4):
s = s + (i + 1)*(i + 1)
print('Сума дорівнює', s)
8
© Вивчаємо інформатику teach-inf.com.ua
Команда циклу з лічильником
Розділ 6 § 6.10
Виконаємо цей проєкт.
Команда
Результат виконання
У наборі ще є невикористані числа
s = 0
s = 0
0, 1, 2, 3
range(4)
True
i = 0
Змінна і набуває першого значення з набору невикористаних чисел
8
© Вивчаємо інформатику teach-inf.com.ua
Команда циклу з лічильником
Розділ 6 § 6.10
Продовження…
Команда
Результат виконання
s = 0+(0+1)*(0+1)= 1
s = s + (i + 1) * (i + 1)
True
У наборі ще є невикористані числа
i = 1
Змінна і набуває першого значення з набору невикористаних чисел
s = 1+(1+1)*(1+1)= 5
s = s + (i + 1) * (i + 1)
8
© Вивчаємо інформатику teach-inf.com.ua
Команда циклу з лічильником
Розділ 6 § 6.10
Продовження…
Команда
Результат виконання
True
У наборі ще є невикористані числа
i = 2
Змінна і набуває першого значення з набору невикористаних чисел
s = 5+(2+1)*(2+1)= 14
s = s + (i + 1) * (i + 1)
True
У наборі ще є невикористані числа
8
© Вивчаємо інформатику teach-inf.com.ua
Команда циклу з лічильником
Розділ 6 § 6.10
Продовження…
Команда
Результат виконання
i = 3
Змінна і набуває першого значення з набору невикористаних чисел
s = 14+(3+1)*(3+1)= 30
s = s + (i + 1) * (i + 1)
False
У наборі ще є невикористані числа
Сума дорівнює 30
print('Сума дорівнює', s)
8
© Вивчаємо інформатику teach-inf.com.ua
Для тих, хто хоче знати більше
Розділ 6 § 6.10
Функція:
range(<початок>, <кінець>, <крок>)
у загальному випадку має три аргументи цілого типу:
перше ціле число, яке потрапить до згенерованого набору
початок
ціле число, яке не ввійде до згенерованого набору і яке більше за всі числа з набору, якщо крок > 0, і менше від всіх чисел з набору, якщо крок < 0
кінець
різниця між кожними двома сусідніми цілими числами в згенерованому наборі чисел.
крок
8
© Вивчаємо інформатику teach-inf.com.ua
Для тих, хто хоче знати більше
Розділ 6 § 6.10
Наприклад, функція:
range(3, 9, 2)
згенерує такий набір чисел:
Наступне число 7 + 2 = 9 не увійде в набір чисел, оскільки воно не менше, ніж другий аргумент функції.
З
3 + 2 = 5
5 + 2 = 7
8
© Вивчаємо інформатику teach-inf.com.ua
Тестування проєкту із циклом з лічильником
Розділ 6 § 6.10
1 раз
2 рази
3 рази
5 разів
іншу кількість разів
Під час тестування проєкту, що містить цикл з лічильником, доцільно підбирати такі набори вхідних даних, щоб тіло циклу виконувалося різну кількість разів:
8
© Вивчаємо інформатику teach-inf.com.ua
Розгадайте ребус
«Ребуси українською» © rebus1.com
Лічильник
Розділ 6 § 6.10
8
© Вивчаємо інформатику teach-inf.com.ua
Дайте відповіді на запитання
Розділ 6 § 6.10
8
© Вивчаємо інформатику teach-inf.com.ua
Домашнє завдання
Проаналізувати
§ 6.10, с. 235-240
Розділ 6 § 6.10
8
© Вивчаємо інформатику teach-inf.com.ua
Працюємо за комп’ютером
Розділ 6 § 6.10
Сторінка
239
8
© Вивчаємо інформатику teach-inf.com.ua
Дякую за увагу!
За навчальною програмою 2017 року
Урок 59
8
teach-inf.com.ua