Двовимірний масив. Вкладені списки
👩🏫Методичні акценти для вчителя • План проведення уроку на 45 хвНУШ▼
🎯 Очікувані результати навчання (НУШ):
Формування предметних компетентностей за темою «Двовимірний масив. Вкладені списки», розвиток критичного мислення, вміння аналізувати причинно-наслідкові зв'язки та застосовувати набуті знання на практиці.
💬 Провокативне питання для старту:
Використайте блок «Гачок (Hook)» нижче для 2-хвилинної розминки з класом перед поясненням нового матеріалу.
⏱️ Рекомендований таймінг 45-хвилинного уроку:
Тема: § 32. Двовимірний масив. Вкладені списки. Д/з: опрацювати матеріал уроку та завдання «У зошит» на платформі EZZ-SCHOOL BOOKS.
⚡ Фронтальне бліц-опитування класу на початку уроку (2 хв):
- Що є ключовим поняттям теми «Двовимірний масив. Вкладені списки» і чому воно важливе?
- Де у повсякденному житті, науці чи IT ми стикаємося з цим явищем/алгоритмом?
- Яка найпоширеніша помилка виникає під час першого знайомства з матеріалом?
🏠 Диференційоване домашнє завдання:
- Базовий рівень (обов'язковий): опрацювати конспект і блок «У зошит».
- Достатній рівень: скласти власну шпаргалку та пройти MiniCheck.
- Високий / STEM: виконати симуляцію у лабораторії та скласти BossQuiz на 100 XP.
📊 Критерії формувального оцінювання:
Твоя місія на цей урок
Натискай на цілі у міру їх опанування:
- 1Зрозуміти структуру двовимірного масиву як матриці (таблиці) з рядків і стовпців.Опанувати ➔
- 2Опанувати реалізацію матриць у Python за допомогою вкладених списків (список списків).Опанувати ➔
- 3Засвоїти подвійну індексацію a[i][j]: перший індекс — номер рядка, другий — номер стовпця.Опанувати ➔
- 4Навчитися генерувати двовимірні масиви за формулами та генераторами списків.Опанувати ➔
- 5Відображати матрицю у графічному вікні Tkinter за допомогою сітки полів Entry.Опанувати ➔
💡 Шахова дошка, пікселі екрана чи електронна таблиця?
Звичайний список — це один рядок. Але реальний світ живе у двох вимірах: клітинки шахівниці 8х8, піксельна матриця FullHD монітора (1920х1080), розклад уроків на тиждень або таблиця оцінок усього класу. У Python для цього не потрібні спеціальні складні типи — достатньо помістити список усередину іншого списку!
1. Поняття двовимірного масиву (матриці)
Коли даних стає забагато для однієї лінії (наприклад: шахова дошка 8×8, пікселі зображення 1920×1080, розклад уроків на весь тиждень), застосовують двовимірний масив (матрицю), що має рядки та стовпці.
У мові Python двовимірний масив реалізується як список списків (вкладений список). Кожен елемент головного списку сам є повноцінним списком:
[10, 20, 30], # рядок 0
[40, 50, 60], # рядок 1
[70, 80, 90] # рядок 2
]
Вкладені Списки, Діагоналі та Підсумки
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. Подвійна індексація та створення матриці
Для доступу до конкретної комірки матриці використовують подвійні квадратні дужки: matrix[i][j], де:
• i — номер рядка (від 0 до кількості рядків - 1).
• j — номер стовпця (від 0 до кількості стовпців - 1).
Як правильно створити матрицю $N \times M$ нулів?
Увага! Тут криється найнебезпечніша пастка Python:
Цей запис створює $N$ посилань на один і той самий рядок у пам'яті! Зміна однієї комірки a[0][0] = 5 автоматично змінить значення у ВСІХ рядках матриці!
Генератор списку створює $N$ абсолютно незалежних списків у пам'яті. Зміна будь-якої клітинки не торкнеться сусідніх рядків.
3. Вкладені цикли та красиве виведення матриці
Для проходження по всіх елементах двовимірного масиву завжди застосовують вкладені цикли:
n = len(matrix) # кількість рядків
m = len(matrix[0]) # кількість стовпців
for i in range(n):
for j in range(m):
# виводимо з фіксованою шириною 4 символи в один рядок:
print(f"{matrix[i][j]:4}", end="")
print() # перенос на новий рядок після завершення рядка матриціlen(matrix) повертає кількість рядків, а len(matrix[0]) — кількість стовпців у першому рядку.
Як у Python звернутися до елемента матриці, який знаходиться у 3-му рядку та 2-му стовпці (пам'ятаючи про нумерацію з 0)?
У зошит (за підручником)
Вправи з підручника до цієї теми уроку. Виконуй у робочий зошит або за комп'ютером за вказівкою вчителя:
Створення графічної програми опрацювання двовимірного масиву ділянок землі
💡 Підказка від нас: Створити матрицю вартості оренди ділянок 5х5 через віджети Entry, зчитувати діапазон координат (x1, y1) - (x2, y2) та обчислювати сумарну вартість оренди.
Шпаргалка уроку (головне в один екран)
Усе найважливіше для повторення перед уроком або самостійною роботою
Звернення до елемента на перетині i-го рядка та j-го стовпця.
Кількість рядків у двовимірному масиві.
Кількість стовпців у прямокутній матриці.
Зовнішній цикл for i in range(n) перебирає рядки, внутрішній for j in range(m) — стовпці.
Двовимірний список об'єктів Entry у Tkinter для зв'язку з GUI.
Бос-тест: Двовимірні масиви в Python
Питання 1 з 3 • Завдай удару по босу теми