Робота з двовимірними масивами у графічному інтерфейсі
👩🏫Методичні акценти для вчителя • План проведення уроку на 45 хвНУШ▼
🎯 Очікувані результати навчання (НУШ):
Формування предметних компетентностей за темою «Робота з двовимірними масивами у графічному інтерфейсі», розвиток критичного мислення, вміння аналізувати причинно-наслідкові зв'язки та застосовувати набуті знання на практиці.
💬 Провокативне питання для старту:
Використайте блок «Гачок (Hook)» нижче для 2-хвилинної розминки з класом перед поясненням нового матеріалу.
⏱️ Рекомендований таймінг 45-хвилинного уроку:
Тема: ПР 10. Робота з двовимірними масивами у графічному інтерфейсі. Д/з: опрацювати матеріал уроку та завдання «У зошит» на платформі EZZ-SCHOOL BOOKS.
⚡ Фронтальне бліц-опитування класу на початку уроку (2 хв):
- Що є ключовим поняттям теми «Робота з двовимірними масивами у графічному інтерфейсі» і чому воно важливе?
- Де у повсякденному житті, науці чи IT ми стикаємося з цим явищем/алгоритмом?
- Яка найпоширеніша помилка виникає під час першого знайомства з матеріалом?
🏠 Диференційоване домашнє завдання:
- Базовий рівень (обов'язковий): опрацювати конспект і блок «У зошит».
- Достатній рівень: скласти власну шпаргалку та пройти MiniCheck.
- Високий / STEM: виконати симуляцію у лабораторії та скласти BossQuiz на 100 XP.
📊 Критерії формувального оцінювання:
Твоя місія на цей урок
Натискай на цілі у міру їх опанування:
- 1Створити повноцінний графічний застосунок Tkinter для маніпуляцій з квадратною матрицею 4×4.Опанувати ➔
- 2Організувати двовимірний масив полів Entry для двостороннього зв'язку між екраном та пам'яттю програми.Опанувати ➔
- 3Реалізувати прив'язку події натискання клавіші Enter через tk.bind('<Return>', read).Опанувати ➔
- 4Запрограмувати генерацію значень матриці за трьома алгоритмами: таблиця множення, генератор випадкових чисел та матриця прапорців нижнього трикутника.Опанувати ➔
🎮 Створюємо власний числовий редактор!
Уявіть табличний процесор на зразок міні-Excel, де дані можна не просто вводити руками, а миттєво генерувати за математичними правилами однією кнопкою. Сьогодні ви створите саме таку інтерактивну програму з сіткою полів, кнопками та обробниками подій!
1. Мета та покроковий алгоритм виконання
Мета роботи: Створити графічний застосунок мовою Python з бібліотекою Tkinter, який формує на екрані матрицю полів введення Entry розміром 3×3 через пакувальник grid(), зчитує введені числа у двовимірний список, знаходить суму елементів та виводить результат користувачеві.
Повний робочий код програми:
import tkinter as tk
from tkinter import messagebox
root = tk.Tk()
root.title("Матриця 3x3 в GUI")
root.geometry("260x280")
# Двовимірний список для збереження посилань на віджети Entry:
entries = []
for i in range(3):
row_entries = []
for j in range(3):
e = tk.Entry(root, width=5, font=("Arial", 14), justify="center")
e.grid(row=i, column=j, padx=5, pady=5)
e.insert(0, "0") # початкове значення
row_entries.append(e)
entries.append(row_entries)
def calculate_sum():
try:
total = 0
for i in range(3):
for j in range(3):
val = float(entries[i][j].get())
total += val
lbl_res.config(text=f"Сума: {total:.2f}")
except ValueError:
messagebox.showerror("Помилка", "Будь ласка, вводьте лише дійсні числа!")
btn = tk.Button(root, text="Обчислити суму", command=calculate_sum, bg="#10b981", fg="white", font=("Arial", 10, "bold"))
btn.grid(row=3, column=0, columnspan=3, pady=10, sticky="ew", padx=10)
lbl_res = tk.Label(root, text="Сума: 0", font=("Arial", 12, "bold"))
lbl_res.grid(row=4, column=0, columnspan=3, pady=5)
root.mainloop()Вкладені Списки, Діагоналі та Підсумки
matrix[i][j] (i — рядок, j — стовпець):📊 Автоматичні підсумки матриці:
💻 Вкладені цикли в Python:
# Знаходження суми елементів головної діагоналі (i == j):
diag_sum = 0
for i in range(len(matrix)):
diag_sum += matrix[i][i]
# Обчислення суми кожного рядка:
for i in range(len(matrix)):
print(f"Рядок {i}: сума = {sum(matrix[i])}")2. Як працює геометричний менеджер grid()?
Менеджер розташування .grid(row=i, column=j) розміщує елементи інтерфейсу в умовній табличній сітці:
• row=i — номер рядка (від 0 зверху донизу).
• column=j — номер стовпця (від 0 зліва направо).
• columnspan=3 — об'єднання 3 сусідніх стовпців для широкої кнопки.
📋 Технологічна карта виконання Практичної роботи 10: Двовимірні масиви (матриці) та GUI у Python
Програмне забезпечення: Python 3.x (Tkinter / Pygame)
| Етап роботи | Операція, гарячі клавіші та дія | Очікуваний результат |
|---|---|---|
| Крок 1. Оголошення матриці N×M | Створити двовимірний список 3×3, заповнений нулями або випадковими числами: matrix = [[0]*3 for _ in range(3)] | Таблична структура даних у пам’яті |
| Крок 2. Доступ за подвійним індексом | Організувати вкладений цикл: for i in range(n): for j in range(m): обробка matrix[i][j] | Порядковий та постовпцевий перебір елементів матриці |
| Крок 3. Створення вікна Tkinter | Створити головне вікно root = Tk(), задати заголовок та геометрію 400x400 | Графічне вікно програми з кнопками та полем виводу |
| Крок 4. Візуалізація сітки кнопок | Розмістити матрицю кнопок або міток у вікні методом .grid(row=i, column=j) | Графічна інтерактивна таблиця 3×3 у вікні додатку |
| Крок 5. Обробка кліку миші | Написати функцію, яка при натисканні на клітинку змінює її колір або значення | Працюючий графічний інтерфейс користувача (GUI) |
🎯 Критерії оцінювання практичної роботи (НУШ 12 балів)
| Рівень навчальних досягнень | Вимоги до виконаного практичного завдання |
|---|---|
| Початковий (1–3 б.) | Розуміє структуру двовимірного списку та вміє звертатися до елемента a[0][0]. |
| Середній (4–6 б.) | Реалізує заповнення та виведення матриці на екран у вигляді квадратної таблиці через вкладений цикл. |
| Достатній (7–9 б.) | Створює графічний інтерфейс Tkinter із розміщенням елементів за допомогою менеджера grid(). |
| Високий (10–12 б.) | Створено повноцінну інтерактивну гру «Хрестики-нулики» або графічний калькулятор матриць із кнопками та підсумковим рахунком. |
Що утворюється в результаті застосування правила Завдання 3: a[i][j] = 0 якщо i <= j, інакше 1?
У зошит (за підручником)
Вправи з підручника до цієї теми уроку. Виконуй у робочий зошит або за комп'ютером за вказівкою вчителя:
Робота з двовимірними масивами у програмі з графічним інтерфейсом Tkinter
💡 Підказка від нас: Створити вікно 'Масив', сітку полів 4х4 Entry, функцію зчитування по Enter, та три кнопки дій: множення індексів, випадкові числа, та трикутне заповнення (0 якщо i<=j, 1 якщо i>j).
Шпаргалка уроку (головне в один екран)
Усе найважливіше для повторення перед уроком або самостійною роботою
Розміщення графічного компонента в сітці вікна за номерами рядка і колонки.
Прив'язка клавіші клавіатури Enter до виклику функції обробника.
Повне очищення текстового вмісту поля вводу Entry.
Вставка нового рядка на початок поля Entry.
Перевірка, чи ввів користувач справжні числові цифри перед конвертацією.
Бос-тест: ПР № 10 — Двовимірні масиви в Tkinter GUI
Питання 1 з 3 • Завдай удару по босу теми