Тема 5: «Алгоритми та програми». Урок № 51. (До § 34)
Елементи вибору
Інтерактивний план-конспект уроку для 8 класу НУШ
🎯 Мета уроку
- Освітня: ознайомити учнів з елементами вибору в `tkinter` – **Радіокнопками (Radiobutton)** та **Прапорцями (Checkbutton)**, навчити створювати та використовувати ці елементи для взаємодії з користувачем у графічних застосунках.
- Розвивальна: розвивати навички проектування інтерфейсу користувача, логічне мислення при створенні умов для обробки вибору, вміння реалізовувати варіативну поведінку програми залежно від стану елементів вибору.
- Виховна: виховувати акуратність та уважність при роботі з графічними елементами, розуміння важливості зручного інтерфейсу для користувача, а також творчий підхід до розробки програмного забезпечення.
✅ Очікувані результати
Після уроку учні зможуть:
- Розрізняти **Радіокнопки (Radiobutton)** та **Прапорці (Checkbutton)** та розуміти їхнє призначення.
- Створювати об'єкти класу `Radiobutton` та `Checkbutton` у `tkinter`.
- Групувати радіокнопки за допомогою атрибута `variable`.
- Отримувати та встановлювати значення елементів вибору.
- Розробляти прості програми з графічним інтерфейсом, що використовують елементи вибору для реалізації умовних дій.
📊 Групи результатів (НУШ)
Візуалізація важливості груп результатів для цього уроку.
Учень / учениця:
ГР1 – працює з інформацією, даними, моделями;
ГР2 – створює інформаційні продукти;
ГР3 – працює в цифровому середовищі;
ГР4 – безпечно та відповідально працює з інформаційними технологіями.
📚 Тип уроку
Урок засвоєння нових знань та формування вмінь.
💻 Обладнання та ПЗ
- Персональні комп'ютери з встановленим Python та модулем `tkinter`.
- Середовище розробки (IDLE, VS Code).
- Проєктор або інтерактивна дошка.
🔗 Міжпредметні зв'язки
- Математика (вибір, умови).
- Дизайн інтерфейсів.
ПОВТОРЮЄМО
Актуалізація опорних знань
- Який математичний вираз використовується для обчислення дискримінанта квадратного рівняння?
- Скільки коренів має квадратне рівняння, якщо його дискримінант більше нуля?
- Що означає, якщо дискримінант квадратного рівняння дорівнює нулю?
- Який результат, якщо дискримінант квадратного рівняння менше нуля?
- Який модуль Python використовується для роботи з математичними функціями, такими як квадратний корінь?
- Яка функція `tkinter.messagebox` використовується для виведення інформаційних повідомлень?

Практичний блок уроку
1. Оберіть розмір піци (середній корж):
2. Оберіть складники для піци (цибулю й моцарелу):
3. Симулятор конструктора піци (комбінований)
Виберіть розмір піци та додайте бажані складники. Розрахуйте загальну вартість.
Загальна вартість: 0 грн
Зверніть увагу, що для повного функціонування цих прикладів на вашому комп'ютері потрібно запускати Python-код з бібліотекою `tkinter`. Тут представлена симуляція взаємодії.
Перевірка знань
Натисніть на картку, щоб побачити відповідь.
-
1. У яких випадках використовують компонент `Radiobutton`?Коли потрібно вибрати один варіант із декількох запропонованих.
-
2. Що забезпечує використання компонента `Checkbutton`?Можливість увімкнути або вимкнути певний параметр незалежно від інших.
-
3. Як створити зв'язок між радіокнопками?Використовуючи спільну змінну класу `IntVar` та вказуючи її в атрибуті `variable` для кожної радіокнопки.
-
4. Назвіть три відмінності між об'єктами класу `Radiobutton` та `Checkbutton`.
- **Вибір:** `Radiobutton` - один з багатьох, `Checkbutton` - кілька з багатьох.
- **Тип змінної:** `Radiobutton` - `IntVar`, `Checkbutton` - `BooleanVar`.
- **Значення:** `Radiobutton` - числові `value`, `Checkbutton` - `onvalue`/`offvalue` (зазвичай 1/0).
-
5. Як організувати перевірку стану прапорця в Python?За допомогою методу `.get()` змінної `BooleanVar`, пов'язаної з прапорцем (`if cb_var.get() != 0:`).
-
6. Як додати до програми Конструктор піц ще один прапорець (наприклад, для вибору складника "Бекон")?
- 1. Створити нову `BooleanVar()`: `cvar3 = BooleanVar()`.
- 2. Створити `Checkbutton`: `Checkbutton(root, text="Бекон 25 грн", variable=cvar3, onvalue=1, offvalue=0).pack(anchor=W)`.
- 3. Оновити функцію `btn_click()` для врахування вартості Бекону: `suma = var.get()*60 + cvar1.get()*8 + cvar2.get()*18 + cvar3.get()*25`.
Домашнє завдання
1. Теоретична частина:
- Опрацювати § 34 (стор. 217-222).
2. Практична частина:
- Виконати завдання із прикладів №№ 1-5 (стор. 218-220).
3. Завдання за бажанням (для закріплення):
- Інтерактивна платформа IZZI (8 клас) до § 34: https://ua.izzi.digital/DOS/1183864/1337128.html

Додаткові матеріали
- Техніка безпеки
- Оцінювання учнів та учениць на уроках інформатики
- Підручник з інформатики для 8 класу (§ 34, стор. 217-222)
- Інтерактивна платформа IZZI (8 клас)
- Інтерактивна платформа IZZI (8 клас) до § 34: https://ua.izzi.digital/DOS/1183864/1337128.html