Конструктор уроків
1
Програма - це всього лише серія інструкцій. Виходячи з того, як оцінюються вирази, програма може вирішити пропустити інструкції, повторити їх або вибрати одну з декількох для запуску. Тобто, у програмі часто доводиться перевіряти умови і приймати рішення в залежності від цих умов.
Розгляньте блок-схему прийняття рішень, яка визначає порядок дій, які повинні виконуватися в залежності від того, чи йде дощ:

Блок-схеми використовують і для побудови структури коду комп’ютерної програми. Блоки умов, в яких відбувається розгалуження програми, позначаються на блок-схемах ромбами, блоки з діями - прямокутниками. Кінцевий і початковий блоки програми представляються округленими прямокутниками.
Для створення і перевірки умов використовують булеві значення, оператори порівнювання і булеві оператори.
В той час, як цілі, дійсні і рядкові типи даних можуть мати необмежену кількість значень, булевий (логічний) тип даних може прйимати лише два значення: True (істина) і False (хибність).

При використанні у коді Python, булеві значення True і False записуються без лапок і їх назви починаються з великих літер T і F, тоді як інша частина слова пишеться маленькими буквами. |
Оператори порівнювання порівнюють два значення між собою і повертають результат у вигляді булевого значення: істину або хибність.

Для демонстрації роботи операторів порівнювання, використаємо наступний приклад, у якому присвоємо змінній a цілочисельне значення 10:

Будьте уважними, для перевірки на рівність використовуються два знакм «дорівнює» (==); пам’ятайте, що один знак «дорівнює» (=) застосовується для присвоювання змінній значення. |
Якщо вам потрібно виконати кілька порівнянь одночасно, використовуйте булеві (логічні) оператори and, or і not, щоб визначити підсумковий результат. Булеві оператори мають більш низький пріоритет, ніж фрагменти коду, які вони порівнюють. Це означає, що спочатку вираховується результат фрагментів, а потім вони порівнюються.
Булеві оператори and і or завжди працюють з двома булевими значеннями (або виразами), тому їх називають бінарними. |
Для представлення усім можливих результатів роботи булевих операторів and і or використовують таблиці істинності.
Булевий оператор not змінює булеве значення на протилежне.
Булевий оператори not завжди діє на одне булеве значення (або вираз), тому його називають унарним. |

Виконайте в інтерпретаторі Python наступні приклади:

Спочатку обчислюється лівий вираз, а потім - правий. Коли обидва результати стають відомими, обчислюється кінцевий результат всього виразу загалом, який буде у вигляді єдиного булевого значення.
Як і для математичних операторів, для булевих операторів визначений порядок їхнього виконання. Після того, як будуть виконані всі математичні оператори і оператори порівнювання, першими виконуються оператори not, потім - оператори and і тільки після цього - оператори or.
Завдяки команді if перевіряється поточний стан програми та вибираються подальші дії в залежності від результатів перевірки. Синтаксис команди if такий:

Якщо результат обчислення умови є істинним (True), блок коду виконується. Коли ж результат обчислення умови є хибним (False), то блок коду не буде виконуватися.
Звичайною мовою роботу команди if можна описати таким чином: «Якщо умова істинна, то виконати даний блок коду».
В Python інструкція if включає такі елементи:
ключове слово if
умова (вираз, обчислення якого дає одне з двох значень: True або False)
двокрапка
блок коду з відступом, який починається в наступному рядку
Припустимо, у нас є код, що перевіряє співпадіння з певним ім’ям, наприклад, з ім’ям Mary:

У протилежному випадку, якщо змінна name матиме інше значення, блок коду команди if, що складається з однієї інструкції print('Hello, Mary.'), не буде виконаний і жодного повідомлення на екрані не з’явиться.
Блок-схема для даного фрагмента коду буде такою:

За блоком коду команди if може слідувати необов’язкова команда else вже із власним блоком коду, який виконується лише в тому випадку, якщо умова if є хибною. Синтаксис цієї конструкції такий:
if умова:
блок коду, коли умова істинна
else:
блок коду, коли умова хибнаТака форма розгалуження у програмуванні називається повною. |
Звичайною мовою конструкція if/else може бути прочитана так: «Якщо умова істинна, то виконати даний блок коду. В протилежному випадку виконати наступний блок коду».
В Python команда else не має умови і завжди складається з таких елементів:
ключове слово else
двокрапка
блок коду з відступом, що починається на наступному рядку
Повертаючись до прикладу з ім’ям Mary, розглянемо код, що містить інструкцію else, яка виводить інше повідомлення, якщо змінній name було попередньо надано значення не Mary, а, наприклад, Jack:

Результатом виконання у даному випадку буде повідомлення із блоку коду команди else, що складається з однієї інструкції print('Hello, stranger.'):


Для перевірки більше однієї умови використовують команду elif (скорочення від else if). Записується ця команда тільки після інструкцій if або після іншої команди elif. Дана команда дозволяє вказувати додаткові умови для перевірки. Синтаксис використання інструкції elif такий:

В Python команда elif завжди складається з таких елементів:
ключове слово elif
умова (вираз, обчислення якого дає одне з двох значень: True або False)
двокрапка
блок коду з відступом, що починається на наступному рядку
У випадку ланцюжка команд elif, як тільки з’ясовується, що одна з умов істинна, всі інші блоки elif автоматично пропускаються. Тобто, буде виконаний або тільки один блок коду, або жоден з них. |
В разі потреби услід за останньою інcтрукцією elif можна помістити команду else. В цьому випадку гарантується, що буде виконаний хоча б один (і тільки один) блок коду:

Якщо умови у всіх інcтрукціях if і elif будуть хибними, то виконається блок коду інструкції else. |
Звичайною мовою конструкція if/elif/else може бути прочитана так: «Якщо перша умова істинна, то виконати даний блок коду. Якщо друга умова істинна, виконати даний блок коду. В протилежному випадку виконати даний блок коду».
Використаємо інcтрукції if, elif і else у нашому прикладі з перевіркою імені:


Перевірки за допомогою if, elif і else виконуються послідовно. Іноді потрібно виконати якісь операції більше ніж один раз. Для цього потрібен цикл .
Одним із варіантів циклу у Python є while. Синтаксис використання циклу while такий:
while умова:
блок коду, коли умова істиннаВ Python команда while завжди складається з таких елементів:
ключове слово while
умова (вираз, обчислення якого дає одне з двох значень: True або False)
двокрапка
блок коду з відступом, що починається на наступному рядку
Команда while має схожу структуру з командою if, але веде себе по іншому.
По досягненні кінця блоку коду команди if, керування виконанням програми передається наступній команді, а при досягненні кінця блоку коду команди while, керування передається на початок циклу для перевірки умови. Якщо умова істинна - програма продовжує виконувати той самий блок коду, інакше - відбувається вихід з циклу і виконується блок коду, що міститься після конструкції циклу.

Як працює цикл while у цьому прикладі?
Спочатку ми присвоюємо значення 1 змінній count.
Цикл while порівнює значення змінної count (зараз воно дорівнює 1) з числом 5 і продовжує роботу, якщо значення count менше або дорівнює 5 (умова циклу є істинною) або у протилежному випадку цикл завершується (умова циклу є хибною).
Всередині циклу (ця частина називається тілом циклу) виводиться значення змінної count.
Потім збільшується значення змінної count на 1 за допомогою виразу count += 1.
Python повертається до початку циклу і знову порівнює значення змінної count з числом 5.
Значення змінної count тепер дорівнює 2, тому тіло циклу while виконується знову і змінна count збільшується до 3.
Виконання продовжується до тих пір, поки значення змінної count не буде збільшено з 5 до 6 в тілі циклу.
Під час чергового повернення на початок циклу перевірка count <= 5 поверне значення False і цикл while закінчується.
Python перейде до виконання наступних рядків коду.
Блок-схема використання циклу while у даному прикладі така (вважати, що перед виконанням циклу було виконано присвоєння count = 1):

Якщо необхідно, щоб цикл виконувався до тих пір, поки щось не станеться, але точно невідомо, коли ця подія трапиться, можна скористатися нескінченним циклом, що містить оператор break. Якщо програма у процесі виконання досягає команди break, то виконання циклу відразу припиняється.
Розглянемо програму, у якій користувачем вводиться рядок з клавітури за допомогою функції input(), а потім цей рядок виводиться на екран із представленням першої літери у верхньому регістрі. Цикл переривається, коли буде введено рядок, що містить тільки букву q.
Введіть наступний код у середовищі програмування, збережіть файл з певним ім’ям і виконайте:




Щоб перевірити на практиці, як працює нескінченний цикл, запишіть і збережіть у файлі з певним ім’ям код, поданий нижче:

Дана програма в процесі виконання без зупинки буде повторювати виведення повідомлення Hello, world!, оскільки умова циклу while завжди істинна (True).
Щоб попередити зациклювання програми, проаналізуйте, як обробляється значення, що повинно привести до виходу з циклу. Перевірте, щоб виконання хоча б однієї частини програми могло б привести до того, щоб умова циклу стала дорівнювати False або була б виконана команда break. Наприклад, якщо у коді:

2
Створи програму, яка запитує у користувача: чи йде дощ (введення: так або ні).
Якщо йде дощ → вивести: "Візьми парасольку ☔"
Якщо не йде → вивести: "Можеш йти гуляти 🌞"
3
Програма загадує число 5.
Користувач вводить число, поки не вгадає:
якщо число менше → "Більше!"
якщо більше → "Менше!"
якщо вгадав → "Правильно!"
Рефлексія від 0 учнів
Сподобався:
Так: 0
Ні: 0
Зрозумілий:
Так: 0
Ні: 0
Потрібні роз'яснення:
Ні: 0
Так: 0
Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.