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

Створення програми зі словниками та списками

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

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

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

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

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

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

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

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

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

5 цілей
  • 1Запрограмувати інтерактивний конструктор-перекладач речень за допомогою словників Python.
    Опанувати ➔
  • 2Поєднати три словники лексичних категорій (підмет, присудок, обставина) з випадаючими списками ttk.Combobox.
    Опанувати ➔
  • 3Сформувати українське речення через конкатенацію вибраних ключів.
    Опанувати ➔
  • 4Реалізувати миттєвий англомовний переклад речення через витягнення відповідних значень зі словників.
    Опанувати ➔
  • 5Додати функцію випадкової генерації граматично узгодженої фрази за допомогою модуля random.
    Опанувати ➔
🎯 Гачок уроку • Вгадай

🤖 Створюємо власний кишеньковий Google Translate!

Як комп'ютерні програми переводять людську мову? В основі будь-якого базового машинного перекладача лежить словник відповідностей (словникова база). Сьогодні ви створите програму, яка вміє комбінувати частини мови та перекладати цілі граматичні фрази англійською мовою!

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

Мета роботи: Розробити систему керування словником у Python (інтерактивний англо-український перекладач): реалізувати додавання нових слів, безпечний пошук через .get(), оновлення перекладів, видалення через .pop() та підрахунок частоти повторення слів у довільному тексті.

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

dictionary = {
    "apple": "яблуко",
    "book": "книга",
    "school": "школа",
    "computer": "комп'ютер",
    "algorithm": "алгоритм"
}

def translate(word):
    word_clean = word.strip().lower()
    return dictionary.get(word_clean, "Переклад не знайдено в базі")

def add_word(en, ukr):
    dictionary[en.strip().lower()] = ukr.strip().lower()
    print(f"Слово '{en}' успішно додано!")

# Демонстрація частотного аналізу речення:
sentence = "python is great and python is fast"
freq = {}
for w in sentence.split():
    freq[w] = freq.get(w, 0) + 1

print("Статистика частоти слів:")
for word, count in freq.items():
    print(f"  • {word}: {count} раз(и)")
{ }
Лабораторія Словників Python § 34 (ПР 12)

Пари «Ключ : Значення» (Хеш-таблиця dict)

len(d) = 4 пар
Словник d = { ... }: Ключі унікальні, значення можуть дублюватись
'apple' : 'яблуко'
'book' : 'книга'
'school' : 'школа'
'computer' : 'комп’ютер'

🔍 Миттєвий пошук за ключем: d[key]

d['book'] = 'книга'

➕ Додавання / Оновлення: d[key] = value

💻 Ключові методи словників Python:

d = {'apple': 'яблуко', 'cat': 'кіт'}
print(d['apple'])            # Доступ за ключем -> 'яблуко'
d['dog'] = 'собака'          # Додавання нового елемента
for key, value in d.items(): # Ітерація по парах
    print(f"{key} -> {value}")

2. Переваги словників над двома паралельними списками

У двох паралельних списках keys = [...] та values = [...] пошук потребує виконання keys.index(word), що перебирає весь список з початку до кінця за час $O(N)$. Словник за рахунок хешування знаходить переклад за фіксований час $O(1)$ незалежно від того, чи у словнику 10 слів, чи 1 000 000 слів!

📋 Технологічна карта виконання Практичної роботи 12: Структури даних «Словники» (dict) у Python

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

Етап роботиОперація, гарячі клавіші та діяОчікуваний результат
Крок 1. Створення словникаСтворити словник контактів або англо-українського перекладача: phone_book = {"Олександр": "0971234567", "Марія": "0509876543"}Асоціативний масив пар «ключ: значення»
Крок 2. Додавання та зміна записівДодати новий контакт: phone_book["Іван"] = "0631112233"; оновити існуючийДинамічне оновлення пар без дублювання ключів
Крок 3. Безпечний пошук за ключемВикористати метод .get(key, default) для уникнення помилки KeyError: phone_book.get("Тарас", "Не знайдено")Стабільна робота програми при відсутності запису в базі
Крок 4. Частотний словник текстуНаписати алгоритм підрахунку кількості кожного слова у реченні: for w in words: counts[w] = counts.get(w, 0) + 1Статистика частоти зустрічальності кожного слова
Крок 5. Сортування за значеннямВідсортувати словник за кількістю слів: sorted(counts.items(), key=lambda x: x[1], reverse=True)Рейтинг топ-5 найуживаніших слів тексту

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

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

Як скласти правильний англійський переклад 'Підмет + Присудок + Прислівник' за вибраними словами у комбобоксах?

🗒️

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

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

Домашка • 1 завд.
Практична робота 12 (с. 219–220)

Створення програми «Перекладач» з використанням словників, списків та віджетів Combobox

💡 Підказка від нас: Створити 3 словники (іменники, прислівники, дієслова), 3 випадаючих списки Combobox, кнопки 'Скласти фразу', 'Перекласти' та 'Випадковий вибір' з модулем random.

📌

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

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

⚡ ttk.Combobox(root, values=keys)

Створення графічного списку з варіантами вибору.

⚡ combo.current(0)

Встановлення вибору на елемент за вказаним числовим індексом.

⚡ combo.get()

Отримання поточного текстового рядка, обраного користувачем.

⚡ dict[key]

Миттєве отримання перекладу слова за словником.

⚡ random.randint(0, n-1)

Вибір випадкового індексу для випадкового речення.

👾

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

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

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

Як додати до словника prices = {} ціну товару: "Хліб" коштує 20?