1 of 18

Алгоритми з повтореннями. Цикл із параметром

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

Урок 47

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

teach-inf.com.ua

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

Бондаренко О.О. та ін.

2 of 18

Алгоритми повтореннями. Цикли

Ви маєте досвід записування алгоритмів із повторенням (циклів) мовою Python і вмієте використовувати два види операторів циклу: із параметром та з умовою.

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

із параметром (for)

з умовою (while)

Розділ 5

§ 35

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

3 of 18

Алгоритми повтореннями. Цикли

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

Розділ 5

§ 35

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

4 of 18

Алгоритми повтореннями. Цикли

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

Згадаймо: команди, що повторюються під час виконання циклу, називають тілом циклу, а кожне виконання тіла циклу — ітерацією.

Розділ 5

§ 35

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

5 of 18

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

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

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

Блок-схема циклу із параметром

Розділ 5

§ 35

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

6 of 18

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

Синтаксис циклу for:

for х in <послідовність>:

<тіло циклу>

Обов’язковий відступ від лівого краю.

Змінна х — параметр циклу — послідовно набуває

значень кожного члена послідовності.

Розділ 5

§ 35

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

7 of 18

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

Посимвольна обробка рядка: виведемо рядок, пропустивши «зірочки».

Програмний код

Результат

ABCDEFG

s = 'AB*C*D*EF*G'

for C in s:

if not C == '*': print(C, end = '')

Розділ 5

§ 35

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

8 of 18

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

Дано список днів тижня. Скільки з них припадають на вихідні (сб, нд)?

Програмний код

Результат

Вихідних днів - 7

D = ['пн', 'нд', 'чт', 'сб', 'пт', 'сб', 'вт', 'ср', 'нд', 'чт', 'чт', 'нд', 'вт', 'пн', 'ср', 'нд', 'сб']

K = 0

for day in D:

if day in ['сб', 'нд']: K += 1

print('Вихідних днів -', K)

Розділ 5

§ 35

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

9 of 18

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

Чергове число генерується при кожному звертанні до такого об’єкта, тому навіть для довгих послідовностей не займає багато пам’яті.

Числові послідовності можна задавати за допомогою вбудованої функції:

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

Відлік починається зі значення початок

Завершується на 1 раніше за значення кінець

Із заданим кроком крок

Розділ 5

§ 35

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

10 of 18

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

Надрукуємо числа від 20 до 24.

Програмний код

Результат

20

21

22

23

24

for i in range(20, 25):

print(i)

Якщо крок дорівнює 1, цей параметр можна не зазначати:

Розділ 5

§ 35

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

11 of 18

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

Надрукувати числа від 0 до 3.

Програмний код

Результат

0

1

2

3

for i in range(4):

print(i)

Якщо початок дорівнює 0, цей параметр можна не зазначати:

Розділ 5

§ 35

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

12 of 18

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

Надрукувати числа від 5 до 1.

Програмний код

Результат

5

4

3

2

1

A = range(5, 0, -1)

for i in A:

print(i)

Якщо потрібно вести відлік у зворотному порядку, крок має бути від’ємним:

Розділ 5

§ 35

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

13 of 18

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

Запрограмувати пересування в програмному вікні об’єкта lab класу Label із координатами (х, sin х).

Розділ 5

§ 35

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

14 of 18

Питання для самоперевірки

  1. У вікні IDLE уведіть команду:
  1. Що буде надруковано в результаті виконання програми?

for i in range(65, 90): print(chr(i))

Обговоріть результати виконання команди for. Поекспериментуйте зі значеннями параметрів функції range().

for i in range(5):

print(i*і)

for x in 'рядок’:

print(2*x)

for x in range(5, 1, –1):

print(x)

Розділ 5

§ 35

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

15 of 18

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

Параметр

Розділ 5

§ 35

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

16 of 18

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

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

с. 223-225

Розділ 5

§ 35

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

17 of 18

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

Вправа. Кількість слів у реченні.

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

Розділ 5

§ 35

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

18 of 18

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

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

Урок 47

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

teach-inf.com.ua

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

Бондаренко О.О. та ін.