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

Складання і виконання алгоритмів табличних величин

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

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

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

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

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

Тема: ПР 9. Складання і виконання алгоритмів табличних величин. Д/з: опрацювати матеріал уроку та завдання «У зошит» на платформі EZZ-SCHOOL BOOKS.

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

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

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

5 цілей
  • 1Запрограмувати аналіз річних кліматичних даних у віконному застосунку Tkinter.
    Опанувати ➔
  • 2Знайти загальну кількість опадів за рік за допомогою функції sum().
    Опанувати ➔
  • 3Визначити місяці з екстремальними показниками (мінімум і максимум) через методи списків index(), min(), max().
    Опанувати ➔
  • 4Реалізувати алгоритм фільтрації місяців за пороговою умовою (опади < 40 мм).
    Опанувати ➔
  • 5Вивести аналітичний звіт у віджет Listbox та згенерувати наочний графік.
    Опанувати ➔
🎯 Гачок уроку • Вгадай

🌧️ Метеорологічна станція у вашому вікні Python!

Кліматологи щодня опрацьовують терабайти числових показників датчиків погоди. Як дізнатися, чи був рік посушливим, у якому місяці випало найбільше снігу чи дощу, та скільки місяців потребували додаткового поливу полів? Давайте напишемо повноцінну інтерактивну програму, яка розв'яже це завдання за частку секунди!

1. Мета та покроковий алгоритм виконання

Мета роботи: Реалізувати на мові Python комплексний аналіз одновимірного числового масиву (середньомісячні температури за 12 місяців року): знаходження річної амплітуди, екстремумів із назвами місяців, підрахунок від'ємних значень та візуалізація графіка.

Еталонний розв'язок мовою Python:

months = ["Січень", "Лютий", "Березень", "Квітень", "Травень", "Червень",
          "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"]

temps = [-4.5, -3.2, 1.8, 8.5, 15.2, 18.9, 21.4, 20.8, 15.1, 8.6, 2.1, -2.4]

# 1. Середньорічна температура:
avg_temp = sum(temps) / len(temps)

# 2. Пошук екстремумів та їхніх місяців:
min_t = min(temps)
max_t = max(temps)
coldest_month = months[temps.index(min_t)]
warmest_month = months[temps.index(max_t)]

# 3. Амплітуда температур:
amplitude = max_t - min_t

# 4. Кількість морозних місяців:
frost_count = sum(1 for t in temps if t < 0)

print(f"Середньорічна температура: {avg_temp:.1f} °C")
print(f"Найтепліший місяць: {warmest_month} ({max_t} °C)")
print(f"Найхолодніший місяць: {coldest_month} ({min_t} °C)")
print(f"Річна амплітуда: {amplitude:.1f} °C")
print(f"Кількість місяців із морозом: {frost_count}")
Tk
Симулятор Tkinter GUI § 30–31 (ПР 9)

Список Listbox та Візуалізація на Полотні Canvas

Середнє: 20.9° Мін: 15° / Макс: 26°
🐍 Графік температур — Tkinter Canvas v8.6
Список (Listbox): Клікніть для вибору
Елемент [0]: 15°C
Елемент [1]: 18°C
Елемент [2]: 22°C
Елемент [3]: 19°C
Елемент [4]: 25°C
Елемент [5]: 21°C
Елемент [6]: 26°C
Полотно (Canvas: width=320, height=220): canvas.create_rectangle()
15°д118°д222°д319°д425°д521°д626°д7

💻 Ключові команди Tkinter:

from tkinter import *
root = Tk()
lb = Listbox(root, width=20, height=8)
lb.insert(END, 25)                    # Вставка в кінець списку
canvas = Canvas(root, width=320, height=220, bg="white")
canvas.create_rectangle(x1, y1, x2, y2, fill="orange") # Малювання стовпчика
root.mainloop()

2. Додаткове завдання підвищеної складності

Підключіть бібліотеку matplotlib.pyplot та побудуйте лінійний графік зміни температури з червоною горизонтальною лінією нуля градусів:

import matplotlib.pyplot as plt
plt.plot(months, temps, marker="o", color="blue", linewidth=2)
plt.axhline(0, color="red", linestyle="--")  # лінія 0 градусів
plt.title("Річний температурний профіль")
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()

📋 Технологічна карта виконання Практичної роботи 9: Алгоритми обробки одновимірних масивів у Python

Програмне забезпечення: Python 3.x / IDLE / VS Code

Етап роботиОперація, гарячі клавіші та діяОчікуваний результат
Крок 1. Створення списку (list)Заповнити список 10 випадковими цілими числами: import random; a = [random.randint(1, 100) for _ in range(10)]Вихідний масив числових значень у пам’яті
Крок 2. Обчислення суми та середньогоРеалізувати алгоритм підсумовування елементів через цикл for без використання sum()Накопичення суми в змінній s += x та знаходження avg = s / len(a)
Крок 3. Пошук максимуму та мінімумуЗнайти найбільший елемент масиву та його індекс за класичним алгоритмом порівняньЗмінні max_val = a[0], max_idx = 0; оновлення в циклі
Крок 4. Фільтрація елементівСтворити новий список лише з парних чисел вихідного масиву: [x for x in a if x % 2 == 0]Відфільтрований масив парних елементів
Крок 5. Виведення звітуВивести початковий масив, знайдені екстремуми та результуючий список на екранЧітко оформлений консольний вивід результатів роботи алгоритму

🎯 Критерії оцінювання практичної роботи (НУШ 12 балів)

Рівень навчальних досягненьВимоги до виконаного практичного завдання
Початковий (1–3 б.)Вміє оголошувати список у Python та виводити елементи на екран за індексом.
Середній (4–6 б.)Реалізує перебір елементів у циклі for та обчислює кількість елементів за умовою.
Достатній (7–9 б.)Самостійно пише алгоритм знаходження максимуму та його індексу без вбудованих функцій.
Високий (10–12 б.)Реалізує сортування списку (бульбашкове або вибором), документує код функціями та обробляє помилки введення.
✓ Швидка перевірка (Mini-Check)

Як за допомогою одного виразу знайти текстову назву місяця, в якому була мінімальна кількість опадів із масиву mas?

🗒️

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

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

Домашка • 1 завд.
Практична робота 9 (с. 198–199)

Складання програми для аналізу метеорологічних даних за 12 місяців у GUI Tkinter

💡 Підказка від нас: Створити 12 міток Label для назв місяців і значень, кнопку 'Опрацювати дані', список Listbox для виведення річної суми, екстремумів і місяців з опадами менше 40 мм.

📌

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

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

⚡ sum(mas)

Повертає загальну арифметичну суму всіх 12 елементів масиву.

⚡ min(mas), max(mas)

Знаходять найменше та найбільше числове значення у списку.

⚡ mas.index(x)

Знаходить порядковий індекс першого входження елемента x у списку.

⚡ box1.insert(END, text)

Додає новий рядок висновку в кінець віджета Listbox.

⚡ plt.plot(month, mas)

Будує ламану лінію графіка коливання опадів за місяцями.

👾

Бос-тест: ПР № 9 — Алгоритми зі списками в Python

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

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

Як у списку lst знайти позицію найменшого елемента?