Лекція 8. Цикли мовою Python. Умовні та з лічильником

Ми вже вміємо будувати програми з лінійною структурою та ознайомилися із розгалуженнями. Тепер розглянемо як будуються цикли мовою Python. Цикл – це процес багаторазового повторення дії або послідовності дій. У програмах цикли поділяються на умовні та з лічильником.

8.1 Умовні цикли

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

У мові програмування Python умовний цикл застосовується за допомогою оператора while. У коді це буде виглядати так:

while лог. вираз:

тіло циклу

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

Для прикладу розглянемо наступну задачу. Умова задачі наступна – на вході маємо ціле число, програма буде ділити його на 2 та виводити результат доки воно не перестане ділитися на 2. Коли число перестане бути парним – програма виведе повідомлення “Число не є парним”.

Запустимо програму 1 для прикладу введемо 64 та число 7 подивимося на результат (мал. 14). Зверніть увагу на те, що число 7 не є парним, отже цикл навіть не буде розпочато, a одразу виведеться відповідне повідомлення.

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

Цикли з лічильником відрізняються від умовних тим, що в них дії повторюються чітку кількість разів.

Конструкція в коді буде виглядати так (в загальному вигляді):

Зміст цього циклу звучить так: повторювати від і до n раз.

і – початкове значення, за замовчуванням дорівнює 0;

n – кінцеве значення.

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

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

Для прикладу розглянемо просту задачу. На вході маємо 2 цілих числа (а i b). Задачею програми буде до числа а додавати одиницю b разів, а потім вивести кінцевий результат.

Для прикладу введемо числа 3 і 5. Результатом роботи програми буде число 8

(3+14+1+1+1+1=8) (мал. 15).

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

Ну і запустимо програму та введемо 5, а на виході отримаємо значення суми 35 так, як 5+6+7+8+9=35 (мал. 16).

Контрольні питання

1. Дайте визначення поняттю цикл.

2. Що таке тіло циклу?

3. Умовний цикл у Python представлений оператором…

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

означають змінні “i” та “n”?

Практичні завдання

Створіть новий файл Python за допомогою середовища розробки програмного забезпечення IDLE. Розробіть запропоновані програми.

  • На вході маємо будь-яке число, яке запитується у користувача з повідомленням. Доки це число не перевершуватиме 100 до нього буде додаватися число 5 та виводитися кожне нове значення цього числа.
  • Створіть просту комп’ютерну гру в яку грають 2 учасники. Перший вводить будь-яке число від 0 до 10, а наступний має ввести задумане число, при цьому другий гравець не повинен бачити задумане число. Доки гравець не вгадає число програма не буде завершена.
  • Користувач банку поклав на депозит в банк 1000 грн. на n-ну кількість років (n запитується у користувача). Відомо, що річний відсоток становить 25%. Задачею програми буде порахувати скільки грошей отримає користувач на при кінці.
  • Програма має порахувати суму n чисел, перше з яких а, а кожне наступне на 5 більше від попереднього. (n i а – запитуються у користувача).
  • Створіть програму, яка буде виводити факторіал введеного числа. Використовувати готові функції та модулі заборонено.