Тема 5: «Алгоритми та програми». Урок № 54. (До § 38)
Створення інтерфейсу користувача засобами easygui
Інтерактивний урок для 7 класу НУШ
🎯 Мета уроку
- Освітня: Ознайомити учнів з поняттям GUI; навчити використовувати бібліотеку `easygui` для створення діалогових вікон (`msgbox`, `buttonbox`, `choicebox`, `enterbox`).
- Розвивальна: Розвивати логічне мислення при проектуванні взаємодії; формувати вміння застосовувати `easygui` для інтерактивних програм.
- Виховна: Виховувати самостійність, відповідальність та естетичний смак при розробці інтерфейсу.
✅ Очікувані результати
Після уроку учні зможуть:
- Пояснювати, що таке графічний інтерфейс користувача.
- Викликати вікно повідомлення за допомогою `msgbox()`.
- Створювати діалогові вікна з кнопками (`buttonbox()`).
- Створювати діалогові вікна з вибором зі списку (`choicebox()`).
- Отримувати дані від користувача за допомогою `enterbox()`.
- Обробляти відповіді користувача.
- Створювати прості програми з графічним інтерфейсом.
📊 Групи результатів (НУШ)
Візуалізація важливості груп результатів для цього уроку.
📚 Тип уроку
Урок засвоєння нових знань та формування вмінь.
💻 Обладнання та ПЗ
- Комп'ютери (для кожного учня) з встановленим середовищем програмування Python та встановленою бібліотекою easygui.
- Проєктор або інтерактивна дошка.
- Презентація (для пояснення функцій та прикладів діалогових вікон).
- Дошка, крейда/маркер.
🔗 Міжпредметні зв'язки
- Дизайн (інтерфейси).
- Ергономіка.
ПОВТОРЮЄМО
- Які є основні способи перебору елементів списку в Python?
- Який спосіб перебору дозволяє змінювати елементи списку?
- Як визначити, чи змінювала температура знак між двома послідовними днями?
- Як підрахувати кількість елементів у списку, що задовольняють певну умову?
- Для чого потрібен модуль `random` при роботі зі списками?
- Яка функція дозволяє отримати довжину списку?

Інтерактивний огляд функцій easygui
Спробуйте створити простий калькулятор, використовуючи різні діалогові вікна easygui.
1. `msgbox()`: Вікно повідомлення
Введіть повідомлення, заголовок та текст кнопки.
2. `buttonbox()`: Вікно з кнопками
Введіть повідомлення, заголовок та варіанти кнопок через кому (напр., `Так,Ні,Можливо`).
3. `choicebox()`: Вікно вибору зі списку
Введіть повідомлення, заголовок та елементи списку вибору через кому (напр., `Яблуко,Банан,Апельсин`).
4. `enterbox()`: Вікно для введення даних
Введіть повідомлення, заголовок та значення за замовчуванням (необов'язково).
Сторінка знаходиться в процесі розробки.
Питання для самоперевірки
Натисніть на картку, щоб побачити відповідь.
Як викликати вікно з повідомленням і єдиною кнопкою з модуля EasyGUI?
Використовувати функцію `msgbox()`. Наприклад: `msgbox("Привіт!")`.
Який вигляд має діалогове вікно, створене з параметрами: `choice = buttonbox('Виберіть рівень', 'Гра', ['1', '2', '3'])`?
Вікно із заголовком 'Гра', текстом 'Виберіть рівень' та трьома кнопками: '1', '2', '3'.
Який вигляд має діалогове вікно, створене з параметрами: `choice = choicebox('Скільки гравців?', 'Гра', ['1', '2', '3'])`?
Вікно із заголовком 'Гра', текстом 'Скільки гравців?', та випадаючим списком (або списком для вибору) з елементами '1', '2', '3'.
Як засобами модуля EasyGUI ввести рядок тексту?
Використовувати функцію `enterbox()`. Наприклад: `name = enterbox("Введіть ім'я:")`.
Як засобами модуля EasyGUI ввести ціле число?
Спочатку ввести як рядок за допомогою `enterbox()`, потім перетворити на ціле число за допомогою `int()`. Наприклад: `age = int(enterbox("Введіть вік:"))`.
Чим відрізняється `buttonbox()` від `choicebox()`?
`buttonbox()` відображає кнопки для вибору, тоді як `choicebox()` надає список для вибору елемента.
Домашнє завдання
1. Теоретична частина: Опрацювати § 38 (стор. 227-231).
2. Практична частина:
- Виконати завдання із прикладу № 4 (стор. 230).
3. Завдання за бажанням (для закріплення):
- Інтерактивна платформа IZZI (7 клас) до § 38: https://ua.izzi.digital/DOS/750894/932591.html

Додаткові матеріали
- Техніка безпеки
- Оцінювання учнів та учениць на уроках інформатики
- Підручник з інформатики для 7 класу (§ 38, стор. 227-233)
- Інтерактивна платформа IZZI (7 клас)
- Інтерактивна платформа IZZI (7 клас) до § 38: https://ua.izzi.digital/DOS/750894/932591.html