EZZ-SCHOOLBOOKS
Гончарук Олександр
Розділ підручника:§ 32• с. 200
§ 32⏱ 20 хвСкладність: ⭐⭐🏆 +100 XPПрограма МОН 100%

Двовимірний масив. Вкладені списки

За підручником: О. О. Бондаренко, В. В. Ластовецький, О. П. Пилипчук, Є. А. Шестопалов. «Інформатика, 9 клас» (Видавництво «Ранок», 2026)• друкована с. 200
Розробник платформи:Гончарук Олександр
👩‍🏫Методичні акценти для вчителя • План проведення уроку на 45 хвНУШ
▼
🎯 Очікувані результати навчання (НУШ):

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

💬 Провокативне питання для старту:

Використайте блок «Гачок (Hook)» нижче для 2-хвилинної розминки з класом перед поясненням нового матеріалу.

⏱️ Рекомендований таймінг 45-хвилинного уроку:
0–5 хв
Гачок & Місія
5–20 хв
Теорія & Інтерактив
20–30 хв
Робота «У зошит»
30–40 хв
Бос-тест уроку
40–45 хв
Рефлексія & XP
📋 Готовий запис для електронного журналу (НЗ.ua / Human / Єдина Школа):

Тема: § 32. Двовимірний масив. Вкладені списки. Д/з: опрацювати матеріал уроку та завдання «У зошит» на платформі EZZ-SCHOOL BOOKS.

⚡ Фронтальне бліц-опитування класу на початку уроку (2 хв):
  1. Що є ключовим поняттям теми «Двовимірний масив. Вкладені списки» і чому воно важливе?
  2. Де у повсякденному житті, науці чи IT ми стикаємося з цим явищем/алгоритмом?
  3. Яка найпоширеніша помилка виникає під час першого знайомства з матеріалом?
🏠 Диференційоване домашнє завдання:
  • Базовий рівень (обов'язковий): опрацювати конспект і блок «У зошит».
  • Достатній рівень: скласти власну шпаргалку та пройти MiniCheck.
  • Високий / STEM: виконати симуляцію у лабораторії та скласти BossQuiz на 100 XP.
📊 Критерії формувального оцінювання:
1–6 б: Відтворює означення, виконує вправи за алгоритмом.
7–12 б: Самостійно розв'язує проблеми, аналізує моделі.
🎯

Твоя місія на цей урок

Натискай на цілі у міру їх опанування:

5 цілей
  • 1Зрозуміти структуру двовимірного масиву як матриці (таблиці) з рядків і стовпців.
    Опанувати ➔
  • 2Опанувати реалізацію матриць у Python за допомогою вкладених списків (список списків).
    Опанувати ➔
  • 3Засвоїти подвійну індексацію a[i][j]: перший індекс — номер рядка, другий — номер стовпця.
    Опанувати ➔
  • 4Навчитися генерувати двовимірні масиви за формулами та генераторами списків.
    Опанувати ➔
  • 5Відображати матрицю у графічному вікні Tkinter за допомогою сітки полів Entry.
    Опанувати ➔
🎯 Гачок уроку • Вгадай

💡 Шахова дошка, пікселі екрана чи електронна таблиця?

Звичайний список — це один рядок. Але реальний світ живе у двох вимірах: клітинки шахівниці 8х8, піксельна матриця FullHD монітора (1920х1080), розклад уроків на тиждень або таблиця оцінок усього класу. У Python для цього не потрібні спеціальні складні типи — достатньо помістити список усередину іншого списку!

1. Поняття двовимірного масиву (матриці)

Коли даних стає забагато для однієї лінії (наприклад: шахова дошка 8×8, пікселі зображення 1920×1080, розклад уроків на весь тиждень), застосовують двовимірний масив (матрицю), що має рядки та стовпці.

У мові Python двовимірний масив реалізується як список списків (вкладений список). Кожен елемент головного списку сам є повноцінним списком:

matrix = [
    [10, 20, 30],  # рядок 0
    [40, 50, 60],  # рядок 1
    [70, 80, 90]   # рядок 2
]
[[ ]]
Двовимірний Масив (Матриця) § 32–33

Вкладені Списки, Діагоналі та Підсумки

Індексація елементів matrix[i][j] (i — рядок, j — стовпець):
i \ j
[j=0]
[j=1]
[j=2]
[i=0]
[i=1]
[i=2]

📊 Автоматичні підсумки матриці:

Сума рядка 0: 16
Сума рядка 1: 18
Сума рядка 2: 11
Головна діагональ: 20
Побічна діагональ: 16
Загальна сума всіх: 45

💻 Вкладені цикли в 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).

# matrix[1][2] звертається до рядка 1, стовпця 2 → отримаємо число 60!

Як правильно створити матрицю $N \times M$ нулів?

Увага! Тут криється найнебезпечніша пастка Python:

❌ НЕПРАВИЛЬНО: [[0] * m] * n

Цей запис створює $N$ посилань на один і той самий рядок у пам'яті! Зміна однієї комірки a[0][0] = 5 автоматично змінить значення у ВСІХ рядках матриці!

✅ ПРАВИЛЬНО: [[0]*m for _ in range(n)]

Генератор списку створює $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]) — кількість стовпців у першому рядку.
✓ Швидка перевірка (Mini-Check)

Як у Python звернутися до елемента матриці, який знаходиться у 3-му рядку та 2-му стовпці (пам'ятаючи про нумерацію з 0)?

🗒️

У зошит (за підручником)

Вправи з підручника до цієї теми уроку. Виконуй у робочий зошит або за комп'ютером за вказівкою вчителя:

Домашка • 1 завд.
Вправа 32 (с. 205)

Створення графічної програми опрацювання двовимірного масиву ділянок землі

💡 Підказка від нас: Створити матрицю вартості оренди ділянок 5х5 через віджети Entry, зчитувати діапазон координат (x1, y1) - (x2, y2) та обчислювати сумарну вартість оренди.

📌

Шпаргалка уроку (головне в один екран)

Усе найважливіше для повторення перед уроком або самостійною роботою

⚡ a[i][j]

Звернення до елемента на перетині i-го рядка та j-го стовпця.

⚡ len(a)

Кількість рядків у двовимірному масиві.

⚡ len(a[0])

Кількість стовпців у прямокутній матриці.

⚡ Вкладений цикл

Зовнішній цикл for i in range(n) перебирає рядки, внутрішній for j in range(m) — стовпці.

⚡ list_en[i][j]

Двовимірний список об'єктів Entry у Tkinter для зв'язку з GUI.

👾

Бос-тест: Двовимірні масиви в Python

Питання 1 з 3 • Завдай удару по босу теми

+100 XP Рахунок: 0/3
❤️ Здоров'я Боса (HP): 100% Питання 1/3

Як у мові Python подаються двовимірні масиви (матриці)?