Створення програми «Магічний квадрат»
👩🏫Методичні акценти для вчителя • План проведення уроку на 45 хвНУШ▼
🎯 Очікувані результати навчання (НУШ):
Формування предметних компетентностей за темою «Створення програми «Магічний квадрат»», розвиток критичного мислення, вміння аналізувати причинно-наслідкові зв'язки та застосовувати набуті знання на практиці.
💬 Провокативне питання для старту:
Використайте блок «Гачок (Hook)» нижче для 2-хвилинної розминки з класом перед поясненням нового матеріалу.
⏱️ Рекомендований таймінг 45-хвилинного уроку:
Тема: ПР 15. Створення програми «Магічний квадрат». Д/з: опрацювати матеріал уроку та завдання «У зошит» на платформі EZZ-SCHOOL BOOKS.
⚡ Фронтальне бліц-опитування класу на початку уроку (2 хв):
- Що є ключовим поняттям теми «Створення програми «Магічний квадрат»» і чому воно важливе?
- Де у повсякденному житті, науці чи IT ми стикаємося з цим явищем/алгоритмом?
- Яка найпоширеніша помилка виникає під час першого знайомства з матеріалом?
🏠 Диференційоване домашнє завдання:
- Базовий рівень (обов'язковий): опрацювати конспект і блок «У зошит».
- Достатній рівень: скласти власну шпаргалку та пройти MiniCheck.
- Високий / STEM: виконати симуляцію у лабораторії та скласти BossQuiz на 100 XP.
📊 Критерії формувального оцінювання:
Твоя місія на цей урок
Натискай на цілі у міру їх опанування:
- 1Запрограмувати математичну головоломку «Магічний квадрат» у графічному інтерфейсі Tkinter.Опанувати ➔
- 2Організувати двовимірний масив полів Entry для введення чисел від 1 до 9.Опанувати ➔
- 3Реалізувати алгоритм прапорця (prap = True) для перевірки 8 умов рівності сум магічній константі 15.Опанувати ➔
- 4Динамічно змінювати стан віконних віджетів та виводити результат гри ('Перемога!' / 'Спробуй ще!').Опанувати ➔
🧩 Давньокитайська таємниця Ло Шу у вашому Python-коді!
Понад 4000 років тому імператор Юй помітив на панцирі священної черепахи у річці Ло візерунок із точок. Числа утворювали сітку 3х3, де сума чисел у кожному рядку, стовпчику та по діагоналі незмінно дорівнювала 15! Сьогодні ви перетворите цю легендарну математичну головоломку на власну комп'ютерну гру!
1. Мета та покроковий алгоритм виконання
Мета роботи: Розробити алгоритм перевірки властивості «Магічного квадрата» для квадратної матриці 3×3: суми всіх рядків, усіх стовпців, головної та побічної діагоналей мають бути строго однаковими і дорівнювати магічній константі M = [n(n² + 1)] / 2 = 15.
Еталонний код перевірки мовою Python:
def is_magic_square(sq):
n = len(sq)
target = sum(sq[0]) # еталонна сума першого рядка (15)
# 1. Перевірка сум усіх рядків:
for row in sq:
if sum(row) != target:
return False
# 2. Перевірка сум усіх стовпців:
for col in range(n):
if sum(sq[row][col] for row in range(n)) != target:
return False
# 3. Перевірка головної діагоналі:
if sum(sq[i][i] for i in range(n)) != target:
return False
# 4. Перевірка побічної діагоналі:
if sum(sq[i][n - 1 - i] for i in range(n)) != target:
return False
return True
# Тестова матриця Ло Шу (відома понад 4000 років):
lo_shu = [
[4, 9, 2],
[3, 5, 7],
[8, 1, 6]
]
print("Чи є матриця магічним квадратом?", is_magic_square(lo_shu))Перевірка сум рядків, стовпців та діагоналей
prap = True
magic = 15
# 1. Головна діагональ
suma = sum(a[i][i] for i in range(3))
if suma != magic: prap = False
# 2. Побічна діагональ
suma = sum(a[i][2-i] for i in range(3))
if suma != magic: prap = False
# 3. Усі рядки та стовпці
for i in range(3):
if sum(a[i]) != magic: prap = False
if sum(a[r][i] for r in range(3)) != magic:
prap = False
# 4. Результат
if prap:
lb.config(text="Перемога!")
else:
lb.config(text="Спробуй ще!")2. Історична довідка: Квадрат Ло Шу
Квадрат Ло Шу — найдавніший відомий магічний квадрат у світі (близько 2200 р. до н.е.). За легендою, імператор Юй побачив цей візерунок на панцирі священної черепахи, що виринула з річки Ло. Число 5 завжди стоїть у центрі, а сума будь-якої трійки дорівнює 15.
📋 Технологічна карта виконання Практичної роботи 15: Алгоритм побудови та перевірки Магічного квадрата
Програмне забезпечення: Python 3.x / IDLE
| Етап роботи | Операція, гарячі клавіші та дія | Очікуваний результат |
|---|---|---|
| Крок 1. Визначення Магічного квадрата | Квадратна матриця N×N, де суми чисел у кожному рядку, стовпці та обох діагоналях однакові | Магічна константа M = N*(N² + 1) / 2 (для 3×3 M = 15) |
| Крок 2. Введення матриці 3×3 | Ввести або згенерувати матрицю чисел від 1 до 9 без повторень | Тестовий масив даних для алгоритмічної перевірки |
| Крок 3. Перевірка сум рядків і стовпців | Обчислити суми всіх рядків та всіх стовпців; перевірити їх рівність константі M | Булева змінна is_magic = True/False |
| Крок 4. Перевірка головної та бічної діагоналей | Обчислити sum(matrix[i][i]) та sum(matrix[i][n-1-i]); порівняти з M | Повна верифікація всіх умов магічного квадрата |
| Крок 5. Сіамський метод побудови (непарний N) | Реалізувати алгоритм де ла Лубера для автоматичної побудови магічного квадрата розміру 3×3 або 5×5 | Автоматична генерація істинного магічного квадрата |
🎯 Критерії оцінювання практичної роботи (НУШ 12 балів)
| Рівень навчальних досягнень | Вимоги до виконаного практичного завдання |
|---|---|
| Початковий (1–3 б.) | Розуміє математичне правило магічного квадрата та вміє вручну порахувати суму одного рядка. |
| Середній (4–6 б.) | Написано функцію перевірки рівності сум рядків заданої матриці 3×3. |
| Достатній (7–9 б.) | Повна програмна перевірка всіх рядків, стовпців та діагоналей з виведенням висновку «Магічний / Не магічний». |
| Високий (10–12 б.) | Реалізовано загальний алгоритм генерації магічних квадратів непарного порядку N за Сіамським методом. |
Якою є сума чисел (магічна константа) у кожному рядку, стовпці та діагоналі правильного магічного квадрата 3×3 із чисел від 1 до 9?
У зошит (за підручником)
Вправи з підручника до цієї теми уроку. Виконуй у робочий зошит або за комп'ютером за вказівкою вчителя:
Створення ігрової програми «Магічний квадрат» у Tkinter із логікою перевірки сум
💡 Підказка від нас: Створити вікно 3х3 полів Entry, кнопку 'Перевірити', реалізувати алгоритм перевірки сум усіх трьох рядків, трьох стовпців та двох діагоналей на рівність 15 із виведенням напису 'Перемога!'.
Шпаргалка уроку (головне в один екран)
Усе найважливіше для повторення перед уроком або самостійною роботою
Квадратна таблиця чисел n×n, де суми по всіх горизонталях, вертикалях і обох діагоналях однакові.
Сума дорівнює 15: S = n*(n² + 1)/2 = 3*(9+1)/2 = 15.
Булева змінна (True/False), яка скидається в False, якщо хоча б одна умова порушена.
Метод зміни властивостей віджета мітки під час виконання програми.
Бос-тест: ПР № 15 — Алгоритм магічного квадрата
Питання 1 з 3 • Завдай удару по босу теми