Обкладинка: Інформатика, 9 клас — Морзе Н. В., Барна О. В.

ГДЗ · Інформатика · 9 клас

Сторінка 156

Інформатика, Морзе Н. В., Барна О. В., 2026 · № 28–32 · 5 завдань

Повні розв’язки, як у зошиті. Хочеш розібратися самостійно — під кожним завданням є «Пояснення з репетитором».

Сторінка 156

Завдання 28

Створення вікна з кнопкою та повідомленням

Створити програму, яка має напис "Hello World!" та кнопку "Привіт". При натисканні кнопки має з'явитися вікно повідомлення із заголовком "Відповідь" і текстом "Hello Again!". Використати шаблони віконного інтерфейсу (Label, Button) та модуль messagebox.

Розв’язання

  1. Створіть вікно `window = tkinter.Tk()` та додайте напис `label = tkinter.Label(window, text="Hello World!")`.

  2. Додайте кнопку `button = tkinter.Button(window, text="Привіт")` і розмістіть її методом `pack()`.

  3. Створіть функцію-обробник події натискання кнопки, яка викликає команду `tkinter.messagebox.showinfo('Відповідь', 'Hello Again!')`.

  4. Присвойте цій функції параметр `command` у створенні кнопки: `button.config(command=ім'я_функції)`.

  5. Запустіть програму за допомогою `window.mainloop()`.

Відповідь:

Програма відображає напис "Hello World!" та кнопку "Привіт". При натисканні кнопки з'являється діалогове вікно із заголовком "Відповідь" і текстом "Hello Again!".

Завдання 29

Програма з вибором виводу тексту або звуку

Створити програму, яка при запуску показує напис «Автори гімну України» та дві кнопки: «Слова» та «Музика». Натискання кнопки «Слова» має вивести відповідь у консоль (термінал) середовища програмування. Натискання кнопки «Музика» — відкрити інформаційне вікно повідомлення (діалогове вікно).

Розв’язання

  1. Створіть вікно `window` та додайте Label з текстом «Автори гімну України».

  2. Створіть кнопку «Слова» і прив'яжіть до неї функцію, яка викликає `print("Текст слів гімну...")`.

  3. Створіть кнопку «Музика» і прив'яжіть до неї функцію, яка викликає `tkinter.messagebox.showinfo('Музика', 'Слухайте гімн України!')`.

  4. Розмістіть кнопки у вікні за допомогою методу `pack()` або `grid()`.

  5. Запустіть програму та перевірте роботу кнопок.

Відповідь:

Програма має напис «Автори гімну України» та дві кнопки. Натискання кнопки «Слова» виводить текст у консоль, натискання кнопки «Музика» відкриває вікно повідомлення.

Завдання 30

Опитувальник з перевіркою відповіді

Скласти опитувальник із запитанням про улюблений предмет. У вікні під запитанням розмістити кнопки «так» та «ні». Якщо користувач натискає правильну кнопку (відповідно до фактів), має з'явитися вікно повідомлення з поясненням правильної відповіді. Якщо неправильна — має з'явитися вікно помилки (`showerror`) із поясненням.

Розв’язання

  1. Створіть вікно та Label із запитанням (наприклад: "Чи подобається вам фізика?").

  2. Створіть кнопки «так» та «ні».

  3. У функції для кнопки «так» додайте умову: якщо це правильна відповідь, викликати `showinfo`, інакше — `showerror`.

  4. Аналогічно налаштуйте функцію для кнопки «ні».

  5. Прив'яжіть обробники до кнопок через властивість `command` та запустіть програму.

Відповідь:

Програма показує запитання та дві кнопки. При натисканні правильної кнопки з'являється повідомлення-підтвердження, при натисканні неправильної — вікно помилки з поясненням.

Завдання 31

Обговорення ідей програмних проєктів

Обговорити в парі, як ідеї з завдань 27 (зміна кольору вікна за подіями) та 28 (створення діалогових вікон при натисканні кнопок), можна використати у власних програмних проєктах. Скористатися результатами обговорення та доповнити власні програми.

Розв’язання

  1. Проаналізуйте код з завдання 27 (обробка подій натискання миші) та завдання 28 (виклик `messagebox`).

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

  3. Складіть план розширення програми: додати нові кнопки для вибору режимів роботи або введення даних.

  4. Реалізуйте зміни у коді та протестуйте роботу нової програми.

Відповідь:

Для обговорення неможливо надати готовий код без конкретних деталей проєкту учнів, але план дій включає інтеграцію обробників подій для інтерактивності та використання діалогових вікон для зворотного зв'язку з користувачем.

Завдання 32

Порівняння Label та Entry

Обговорити відмінності та спільні риси елементів керування «Напис» (Label) та «елемент введення рядка тексту» (Entry) у Python.

Розв’язання

  1. Проаналізуй призначення об'єкта `tkinter.Label`: він лише показує текст (`text=`), не має методів для отримання введення користувача.

  2. Проаналізуй призначення об'єкта `tkinter.Entry`: він створює поле для вводу, дозволяє змінювати його вміст і має властивість `get()` для отримання даних.

  3. Порівняй наявність властивостей: у Entry є `bd` (ширина межі) та `show` (маскування символів), тоді як у Label таких немає.

Відповідь:

Спільне: обидва елементи відображають текст у вікні. Відмінне: Label — статичний, лише для виводу; Entry — динамічний, для введення даних користувачем і має властивість `show` (для паролів).

Наприклад: