Алгоритми з повтореннями. Цикл із параметром.�Цикл із передумовою.
За навчальною програмою 2017 року
Алгоритми з повтореннями. �Цикл із параметром
Для запису алгоритмів із повторенням (циклів) мовою Python використовують два види операторів циклу:
Повторення (цикл) — це алгоритмічна структура, за допомогою якої та сама послідовність дій виконується кілька разів.
із параметром
з умовою
Серію команд, що повторюється під час виконання циклу, називають тілом циклу. Кожне виконання тіла циклу називають ітерацією.
Повторення команд
Цикл for (цикл із параметром) повторює блок команд (тіло циклу) задану кількість разів, позбавляючи необхідності кількаразово писати одні й ті самі команди.
Синтаксис оператора циклу for:
for х in range(n):
<тіло циклу>
Насамперед ми вказуємо ключове слово for, потім — змінну x, яка буде лічильником циклу.
Повторення команд
Ключове слово in наказує почергово надати змінній x усі цілі значення в діапазоні від 0 до n – 1.
Не забувайте, що лічильник починає рахувати з 0, а не з 1.
Вбудована функція range повертає зростаючу послідовність цілих чисел, які можна використовувати як індекси всередині циклу.
Щоб дати зрозуміти комп’ютеру, які команди слід повторити, використовуються відступи. Можна зробити відступ для кожної повторюваної в тілі циклу команди, натискаючи для цього клавішу Tab.
Повторення команд
Проаналізуйте зміну значень лічильника х у циклі for. Функція range(4) задає список значень [0, 1, 2, 3]:
for x in range(4):
print (x)
Повторення команд
У прикладі для малювання трикутника ми тричі, для кожної сторони трикутника, давали Черепашці команди forward(100) і right(120). Замість цього можна повторити ці команди в циклі:
from turtle import *
for х in range(3) :
forward(100)
right(120)
Лічильник циклу for
Лічильник циклу підраховує, скільки разів повторився цикл, почергово набуваючи всіх значень з указаного діапазону.
Діапазон значень може бути заданий у вигляді рядка.
Лічильник почергово набуває значення літер, з яких складається зазначений рядок.
Лічильник циклу for
Списки — це набір значень, розділених комами, узятий у квадратні дужки. У списках можна зберігати значення будь-якого типу — числа або рядки.
Діапазон значень може бути заданий у вигляді списку. Лічильник почергово набуває заданих значень зі списку.
Лічильник циклу for
Якщо список значень лічильника достатньо великий і числа в списку змінюються з певним кроком, можна застосувати функцію range з такими параметрами:
range (від, до, крок)
Відлік починається зі значення від
і завершується�на 1 раніше за значення до.
Лічильник циклу for
Розділ 4 § 25
Функція range (2, 11, 3) надає змінній х значення від 2 до (11 – 1) із кроком 3, тому, хоча 8 + 3 = 11, значення 11 уже до діапазону значень не входить.
Лічильник циклу for
Якщо потрібно вести зворотний відлік (у бік зменшення значень), укажіть значення від більшим, ніж значення до, а крок має бути від’ємним.
Алгоритми з повтореннями. Цикл із передумовою
За навчальною програмою 2017 року
Як працює цикл while
Цикл for зручно використовувати, якщо відома кількість повторень. Але часто цикл необхідно повторювати за певної умови.
Цикл while (поки) буде повторюватися, поки виконується задана умова. Ця умова називається умовою циклу. Результатом перевірки умови може бути:
або
True
False
Як працює цикл while
Синтаксис оператора циклу з передумовою:
whіle <Умова>:
<Оператор>
Тут <Умова> — логічний вираз, що є умовою; <Оператор> — тіло циклу, яке виконується під час кожної ітерації. Виконання оператора циклу while починається з обчислення значення логічного виразу — умови циклу.
Як працює цикл while
Якщо умова істинна
Якщо ж умова хибна
то виконуються оператори тіла циклу й керування повертається на перевірку умови
то виконується оператор, який є наступним після оператора while
Якщо під час першої перевірки умова виявиться хибною, тіло циклу не виконається жодного разу.
Як працює цикл while
Для початкового значення x = 7 цикл while x < 10 виконається тричі.
Результат виконання циклу.
Як працює цикл while
У циклі продовжується побудова відрізків і поворот Черепашки на 170°, поки Черепашка не повернеться в точку (0,0) (abs(pos()) < 1).
Нескінченний цикл
Наведений фрагмент програми ілюструє нескінченний цикл:
num = 0
while num < 20:
print (num)
У тілі циклу значення num не змінюється, тому умова num<20 завжди істинна й поданий цикл є нескінченним.
Якщо як умову циклу while задати True, умова ніколи не стане хибною й цикл не завершиться.
Нескінченний цикл
Програма випробовує витримку користувача — у нескінченному циклі пропонує користувачеві розв’язати задачу: знайти суму двох чисел.
Нескінченний цикл
Можна зупинити виконання нескінченного циклу тільки примусово. Для цього у вікні консолі натисніть сполучення клавіш:
Ctrl
C
+
Питання для самоперевірки
Дякую за увагу!
За навчальною програмою 2017 року