1 of 22

Оператори циклу. Цикли з лічильником

За навчальною програмою 2017 року

Урок 59

8

teach-inf.com.ua

2 of 22

Запитання

Розділ 6 § 6.10

  1. Які процеси називають циклічними? Наведіть приклади.
  1. Що таке цикл в алгоритмі? Що таке тіло циклу?
  1. Який вигляд має команда циклу з лічильником у мові програмування? Як вона виконується?

8

© Вивчаємо інформатику teach-inf.com.ua

3 of 22

Команда циклу з лічильником

Розділ 6 § 6.10

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

У таких випадках потрібно в алгоритмах використовувати цикли. Нагадаємо, що цикл в алгоритмі – це фрагмент алгоритму, який може повторюватися поспіль більше ніж один раз.

8

© Вивчаємо інформатику teach-inf.com.ua

4 of 22

Команда циклу з лічильником

Розділ 6 § 6.10

У мовах програмування є кілька команд, які можуть реалізувати цикл. Одна з них – команда циклу з лічильником.

Її доцільно використовувати в тих випадках:

коли кількість повторень команд тіла циклу відома ще до початку виконання циклу.

8

© Вивчаємо інформатику teach-inf.com.ua

5 of 22

Команда циклу з лічильником

Розділ 6 § 6.10

Загальний вигляд команди циклу з лічильником у мові Python такий:

for <ім’я змінної> in range (<кількість повторень>):

<команди тіла циклу>

Рядок заголовка команди циклу з лічильником

Змінна - лічильником циклу

Функція, що утворює (генерує) набір послідовних цілих чисел, перше з яких 0, а останнє - на 1 менше від заданої кількості повторень (усього чисел стільки, скільки задано кількість повторень).

8

© Вивчаємо інформатику teach-inf.com.ua

6 of 22

Команда циклу з лічильником

Розділ 6 § 6.10

Наприклад, функція:

for i in range(3):

генерує набір чисел:

0, 1, 2, усього 3 числа.

Змінна-лічильник i циклу послідовно набуває значень із цього набору чисел.

8

© Вивчаємо інформатику teach-inf.com.ua

7 of 22

Команда циклу з лічильником

Розділ 6 § 6.10

Блок-схему команди циклу з лічильником у Python

8

© Вивчаємо інформатику teach-inf.com.ua

8 of 22

Команда циклу з лічильником

Розділ 6 § 6.10

Виконується команда циклу з лічильником так:

  1. Функція range (<кількість повторень>) генерує набір чисел від 0 до (кількість повторень - 1).
  1. Виконується перевірка, чи є в наборі числа, які ще не використовува-лися і могли б стати новим значенням змінної-лічильника циклу.

8

© Вивчаємо інформатику teach-inf.com.ua

9 of 22

Команда циклу з лічильником

Розділ 6 § 6.10

Продовження…

  1. Виконуються команди тіла циклу.
  1. Виконуються команди тіла циклу.
  1. Якщо результат перевірки True, то змінна-лічильник циклу набуває значення першого з набору чисел, які ще не використовувалися, і після цього виконується дія 4; якщо False, то виконання команди циклу закінчується і далі виконується команда, наступна за командою циклу.

8

© Вивчаємо інформатику teach-inf.com.ua

10 of 22

Команда циклу з лічильником

Розділ 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

11 of 22

Команда циклу з лічильником

Розділ 6 § 6.10

Виконаємо цей проєкт.

Команда

Результат виконання

У наборі ще є невикористані числа

s = 0

s = 0

0, 1, 2, 3

range(4)

True

i = 0

Змінна і набуває першого значення з набору невикористаних чисел

8

© Вивчаємо інформатику teach-inf.com.ua

12 of 22

Команда циклу з лічильником

Розділ 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

13 of 22

Команда циклу з лічильником

Розділ 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

14 of 22

Команда циклу з лічильником

Розділ 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

15 of 22

Для тих, хто хоче знати більше

Розділ 6 § 6.10

Функція:

range(<початок>, <кінець>, <крок>)

у загальному випадку має три аргументи цілого типу:

перше ціле число, яке потрапить до згенерованого набору

початок

ціле число, яке не ввійде до згенерованого набору і яке більше за всі числа з набору, якщо крок > 0, і менше від всіх чисел з набору, якщо крок < 0

кінець

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

крок

8

© Вивчаємо інформатику teach-inf.com.ua

16 of 22

Для тих, хто хоче знати більше

Розділ 6 § 6.10

Наприклад, функція:

range(3, 9, 2)

згенерує такий набір чисел:

Наступне число 7 + 2 = 9 не увійде в набір чисел, оскільки воно не менше, ніж другий аргумент функції.

З

3 + 2 = 5

5 + 2 = 7

8

© Вивчаємо інформатику teach-inf.com.ua

17 of 22

Тестування проєкту із циклом з лічильником

Розділ 6 § 6.10

1 раз

2 рази

3 рази

5 разів

іншу кількість разів

Під час тестування проєкту, що містить цикл з лічильником, доцільно підбирати такі набори вхідних даних, щоб тіло циклу виконувалося різну кількість разів:

8

© Вивчаємо інформатику teach-inf.com.ua

18 of 22

Розгадайте ребус

«Ребуси українською» © rebus1.com

Лічильник

Розділ 6 § 6.10

8

© Вивчаємо інформатику teach-inf.com.ua

19 of 22

Дайте відповіді на запитання

Розділ 6 § 6.10

  1. Що таке цикл в алгоритмі?
  1. Який вигляд має команда циклу з лічильником у мові програмування?
  1. Як виконується команда циклу з лічильником у мові програмування?
  1. Який вигляд має блок-схема циклу з лічильником? Поясніть виконання такого фрагмента алгоритму.
  1. Чи можуть команди тіла циклу з лічильником виконуватися тільки один раз? Поясніть свою відповідь. Наведіть приклад.

8

© Вивчаємо інформатику teach-inf.com.ua

20 of 22

Домашнє завдання

Проаналізувати

§ 6.10, с. 235-240

Розділ 6 § 6.10

8

© Вивчаємо інформатику teach-inf.com.ua

21 of 22

Працюємо за комп’ютером

Розділ 6 § 6.10

Сторінка

239

8

© Вивчаємо інформатику teach-inf.com.ua

22 of 22

Дякую за увагу!

За навчальною програмою 2017 року

Урок 59

8

teach-inf.com.ua