Урок:

Структури коду Python

Вміст уроку:
1
2
3

Урок не містить жодного завдання. Додайте завдання.

Щоб додати завдання, оберіть категорію завдання на панелі запитань.

1

12 з 36 балів

Структури коду

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

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

0901r6ni-38e3-940x667.png


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

Створення і перевірка умов

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

Булеві значення

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

0901r6p3-f675-940x257.png

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

Оператори порівнювання

Оператори порівнювання порівнюють два значення між собою і повертають результат у вигляді булевого значення: істину або хибність.

0901r6pc-5e6d-940x341.png

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

0901r6q1-910d-940x502.png

Будьте уважними, для перевірки на рівність використовуються два знакм «дорівнює» (==); пам’ятайте, що один знак «дорівнює» (=) застосовується для присвоювання змінній значення.

Булеві оператори

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

Булеві оператори and і or завжди працюють з двома булевими значеннями (або виразами), тому їх називають бінарними.

Для представлення усім можливих результатів роботи булевих операторів and і or використовують таблиці істинності.
0901r7qf-df96-940x515.png

Булевий оператор not змінює булеве значення на протилежне.

Булевий оператори not завжди діє на одне булеве значення (або вираз), тому його називають унарним.

0901r7qk-4c8c-940x490.png

Поєднання булевих значень, операторів порівнювання, булевих операторів

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

0901r7qw-5bb6-940x207.png

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

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

Команда if

Завдяки команді if перевіряється поточний стан програми та вибираються подальші дії в залежності від результатів перевірки. Синтаксис команди if такий:

0901r7t2-fd5d-940x167.png

Якщо результат обчислення умови є істинним (True), блок коду виконується. Коли ж результат обчислення умови є хибним (False), то блок коду не буде виконуватися.

Звичайною мовою роботу команди if можна описати таким чином: «Якщо умова істинна, то виконати даний блок коду».

В Python інструкція if включає такі елементи:

  • ключове слово if

  • умова (вираз, обчислення якого дає одне з двох значень: True або False)

  • двокрапка

  • блок коду з відступом, який починається в наступному рядку

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

0901r7tr-e4e5-940x225.png

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

Блок-схема для даного фрагмента коду буде такою:

0901r7u3-eb8a-940x588.png

Команда else

За блоком коду команди if може слідувати необов’язкова команда else вже із власним блоком коду, який виконується лише в тому випадку, якщо умова if є хибною. Синтаксис цієї конструкції такий:

if умова:
	блок коду, коли умова істинна
else:
	блок коду, коли умова хибна

Така форма розгалуження у програмуванні називається повною.

Звичайною мовою конструкція if/else може бути прочитана так: «Якщо умова істинна, то виконати даний блок коду. В протилежному випадку виконати наступний блок коду».

В Python команда else не має умови і завжди складається з таких елементів:

  • ключове слово else

  • двокрапка

  • блок коду з відступом, що починається на наступному рядку

Повертаючись до прикладу з ім’ям Mary, розглянемо код, що містить інструкцію else, яка виводить інше повідомлення, якщо змінній name було попередньо надано значення не Mary, а, наприклад, Jack:

0901r7uj-8b77-940x120.png

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

0901r7uw-e4db-940x60.png

0901r7uz-d885-940x575.png

Команда elif

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

0901r7v8-f3d5-940x186.png

В Python команда elif завжди складається з таких елементів:

  • ключове слово elif

  • умова (вираз, обчислення якого дає одне з двох значень: True або False)

  • двокрапка

  • блок коду з відступом, що починається на наступному рядку

У випадку ланцюжка команд elif, як тільки з’ясовується, що одна з умов істинна, всі інші блоки elif автоматично пропускаються. Тобто, буде виконаний або тільки один блок коду, або жоден з них.

Конструкція if/elif/else

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

0901r7we-3fe1-940x383.png

Якщо умови у всіх інcтрукціях if і elif будуть хибними, то виконається блок коду інструкції else.

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

Використаємо інcтрукції if, elif і else у нашому прикладі з перевіркою імені:

0901r7wk-f728-940x337.png

0901r7wq-f028-940x825.png

Вказівка повторення

Перевірки за допомогою if, elif і else виконуються послідовно. Іноді потрібно виконати якісь операції більше ніж один раз. Для цього потрібен цикл .

Команда while

Одним із варіантів циклу у Python є while. Синтаксис використання циклу while такий:

while умова:
	блок коду, коли умова істинна

В Python команда while завжди складається з таких елементів:

  • ключове слово while

  • умова (вираз, обчислення якого дає одне з двох значень: True або False)

  • двокрапка

  • блок коду з відступом, що починається на наступному рядку

Команда while має схожу структуру з командою if, але веде себе по іншому.

По досягненні кінця блоку коду команди if, керування виконанням програми передається наступній команді, а при досягненні кінця блоку коду команди while, керування передається на початок циклу для перевірки умови. Якщо умова істинна - програма продовжує виконувати той самий блок коду, інакше - відбувається вихід з циклу і виконується блок коду, що міститься після конструкції циклу.

0901r80l-e6a8-940x326.png

Як працює цикл while у цьому прикладі?

  1. Спочатку ми присвоюємо значення 1 змінній count.

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

  3. Всередині циклу (ця частина називається тілом циклу) виводиться значення змінної count.

  4. Потім збільшується значення змінної count на 1 за допомогою виразу count += 1.

  5. Python повертається до початку циклу і знову порівнює значення змінної count з числом 5.

  6. Значення змінної count тепер дорівнює 2, тому тіло циклу while виконується знову і змінна count збільшується до 3.

  7. Виконання продовжується до тих пір, поки значення змінної count не буде збільшено з 5 до 6 в тілі циклу.

  8. Під час чергового повернення на початок циклу перевірка count <= 5 поверне значення False і цикл while закінчується.

  9. Python перейде до виконання наступних рядків коду.

Блок-схема використання циклу while у даному прикладі така (вважати, що перед виконанням циклу було виконано присвоєння count = 1):

0901r812-9ea3-940x733.png

Переривання циклу, break

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

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

Введіть наступний код у середовищі програмування, збережіть файл з певним ім’ям і виконайте:

0901r81h-b7a5-940x346.png

0901r81s-ac9d-940x661.png

0901r82p-591e-940x980.png

0901r82w-9aed-940x83.png

Нескінченний цикл і вихід з нього

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

0901r83e-3f67-940x184.png

Дана програма в процесі виконання без зупинки буде повторювати виведення повідомлення Hello, world!, оскільки умова циклу while завжди істинна (True).

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

0901r840-e90c-940x475.png

2

12 з 36 балів

Завдання 1: Перевірка погоди (if / else)

🔹 Умова:

Створи програму, яка запитує у користувача: чи йде дощ (введення: так або ні).

  • Якщо йде дощ → вивести: "Візьми парасольку ☔"

  • Якщо не йде → вивести: "Можеш йти гуляти 🌞"

3

12 з 36 балів

🔹 Умова:

Програма загадує число 5.
Користувач вводить число, поки не вгадає:

  • якщо число менше → "Більше!"

  • якщо більше → "Менше!"

  • якщо вгадав → "Правильно!"

Рефлексія від 0 учнів

Сподобався:

0

Так: 0

Ні: 0

Зрозумілий:

0

Так: 0

Ні: 0

Потрібні роз'яснення:

0

Ні: 0

Так: 0

Рекомендуємо

Структура програми. Мова програмування Python

Структура програми.  Мова програмування Python

628

Аватар профіля Якушенкова Оксана Анатоліївна
Інформатика
8 клас

20 грн

Геометрія коду

Геометрія коду

269

Аватар профіля Андрієнко Мар`ян Андрійович
Інформатика
11 клас

25 грн

Генетичний код

Генетичний код

292

Аватар профіля Вайда Галина Іванівна
Біологія
9 клас

20 грн

Інструктаж з БЖД. Магія коду

Інструктаж з БЖД. Магія коду

200

Аватар профіля Андрієнко Мар`ян Андрійович
Інформатика
11 клас

25 грн

Minecraft Education (Година коду): TimeCraft

Minecraft Education (Година коду): TimeCraft

2776

Аватар профіля Андрієнко Мар`ян Андрійович
Інформатика
6—10 клас

50 грн

Виконання файлів програмного коду. ПР1_1

Виконання файлів програмного коду. ПР1_1

143

Аватар профіля Андрієнко Мар`ян Андрійович
Інформатика
10 клас

25 грн

Схожі уроки

Впорядкування, пошук і фільтрування даних.

Впорядкування, пошук і фільтрування даних.

1276

Аватар профіля Вожга Ірина Леонідівна
Інформатика
9 клас

Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.

Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.

1090

Аватар профіля Савка-Ржематорська Оксана Василівна
Інформатика
9 клас

Цикли з передумовою у вкладених циклах

Цикли з передумовою у вкладених циклах

1335

Аватар профіля Вожга Ірина Леонідівна
Інформатика
6 клас

Налаштування часових параметрів аудіо- та відеоряду.

Налаштування часових параметрів аудіо- та відеоряду.

489

Аватар профіля Солодовнікова Катерина Олексіївна
Інформатика
8 клас

Елемент керування «кнопка». Поняття об’єкту та його властивостей і методів (на прикладі елементів екранної форми). Властивості і методи елементів керування.

Елемент керування «кнопка». Поняття об’єкту та його властивостей і методів (на прикладі елементів екранної форми). Властивості і методи елементів керування.

642

Аватар профіля Пилипенко Олена Володимирівна
Інформатика
8 клас

Елемент керування кнопка

Елемент керування кнопка

267

Аватар профіля Пилипенко Олена Володимирівна
Інформатика
8 клас