1 of 28

Цикл з лічильником

Нова українська школа

Урок 36

Інформатика 8

teach-inf.com.ua

за підручником

Ривкінд Й.Я. та ін.

2 of 28

Готуємось до вивчення нового матеріалу

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

Розділ 4

§ 4.8

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

3 of 28

Цикли з лічильником

У цьому пункті йтиметься про:

    • цикли;
    • команду циклу з лічильником;
    • використання команди циклу з лічильником у проєктах.

Розділ 4

§ 4.8

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

4 of 28

Пригадайте

Які процеси називають циклічними? Наведіть приклади.

Що таке цикл в алгоритмі?

Який вигляд має команда циклу з лічильником у мові програмування, яку ви вивчали раніше? Як вона виконується?

Розділ 4

§ 4.8

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

5 of 28

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

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

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

Розділ 4

§ 4.8

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

6 of 28

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

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

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

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

Розділ 4

§ 4.8

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

7 of 28

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

Наприклад, якщо відомо, скільки років гроші будуть зберігатися на рахунку в банку.

Розділ 4

§ 4.8

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

8 of 28

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

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

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

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

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

Змінна –

лічильник циклу

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

Розділ 4

§ 4.8

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

9 of 28

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

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

for i in range(3):

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

0, 1, 2

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

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

Розділ 4

§ 4.8

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

10 of 28

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

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

Розділ 4

§ 4.8

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

11 of 28

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

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

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

Розділ 4

§ 4.8

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

12 of 28

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

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

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

Розділ 4

§ 4.8

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

13 of 28

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

У записі команди циклу з лічильником усі команди тіла циклу повинні бути записані з однаковим відступом праворуч від першої літери слова for.

for i in range(3):

print(i)

Розділ 4

§ 4.8

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

14 of 28

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

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

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

Розділ 4

§ 4.8

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

15 of 28

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

Створимо математичну модель для цієї задачі, враховуючи, що:

1 кулька

в першому зверху шарі пірамідки

2 ряди по 2 кульки

у другому

3 ряди по 3 кульки і так далі

у третьому

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

Розділ 4

§ 4.8

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

16 of 28

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

Математична модель:

кількість шарів у пірамідці (n)

вхідні дані:

кількість кульок у пірамідці (s)

кінцеві результати:

s = 12 + 22 + 32 + 42 + … + n2

формули:

Розділ 4

§ 4.8

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

17 of 28

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

Проєкт для розв’язування цієї задачі та вікно його виконання.

Розділ 4

§ 4.8

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

18 of 28

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

Виконаємо цей проєкт для n = 4.

Команда

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

Крок 1

Крок 2

Крок 3

Крок 4

Крок 5

n = int(ent1.get())

n = 4

s = 0

s = 0

range(4)

0, 1, 2, 3

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

True

True

True

True

False

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

i = 0

i = 1

i = 2

i = 3

s = s + (i + 1) * (i + 1)

s = 0 + (0 + + 1)2 = 1

s = 1 + (1 + + 1)2 = 5

s = 5 + (2 + + 1)2 = 14

s = 14 + (3 + + 1)2 = 30

ent2.insert(0, str(s))

30

Розділ 4

§ 4.8

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

19 of 28

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

Звертаємо вашу увагу: після завершення циклу змінна – лічильник циклу і матиме значення 3.

Це останнє значення з набору чисел, згенерованого функцією range(4).

Розділ 4

§ 4.8

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

20 of 28

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

Окрім функції range(<кількість повторень>), у команді циклу з лічильником можна використовувати функцію, яка має 3 аргументи цілого типу:

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

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

початок діапазону

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

кінець діапазону

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

крок

Розділ 4

§ 4.8

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

21 of 28

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

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

range(3, 8, 2)

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

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

3

3 + 2 = 5

5 + 2 = 7

Кожен з аргументів функції range може бути як додатним, так і від’ємним цілим числом. Початок діапазону та кінець діапазону можуть також набувати значення 0.

Розділ 4

§ 4.8

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

22 of 28

Пригадайте

Для чого тестують

проєкти?

У чому полягає процес тестування проєкту?

Як потрібно тестувати проєкт з розгалуженнями?

Розділ 4

§ 4.8

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

23 of 28

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

1 раз

2 рази

3 рази

5 разів

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

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

Розділ 4

§ 4.8

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

24 of 28

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

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

Розділ 4

§ 4.8

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

25 of 28

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

Лічильник

Розділ 4

§ 4.8

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

26 of 28

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

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

§ 4.8, с. 150-156

Розділ 4

§ 4.8

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

27 of 28

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

Сторінка

154

cutt.ly/Ie2cGz5m

Розділ 4

§ 4.8

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

28 of 28

Успіхів�у навчанні!

Нова українська школа

Урок 36

Інформатика 8

teach-inf.com.ua

за підручником

Ривкінд Й.Я. та ін.