Урок:

Поняття декомпозиції задачі. Розв’язання задачі методом поділу на підзадачі. Проєкт №3

11.03.2025
0 0
Вміст уроку:
1
2
3
4
5
6
7
8
9
10
11
12

Урок не містить жодного завдання. Додайте завдання.

Щоб додати завдання, оберіть категорію завдання на панелі запитань.

1

Тема: Поняття декомпозиції задачі. Розв’язання задачі методом поділу на підзадачі

📌 Проєкт №3: Розбиття задачі на частини (метод поділу на підзадачі)
📌 Клас: 6
📌 Мета:
✅ Навчитися розбивати складну задачу на простіші частини (декомпозиція).
✅ Ознайомитися з функціями у Python для організації коду.
✅ Виконати практичну роботу зі створення програми з підзадачами.

2

. Теоретична частина

Що таке декомпозиція?
🔹 Декомпозиція – це розбиття великої задачі на менші частини, які легше розв’язати.

📌 Приклад з життя:
Уявіть, що потрібно приготувати піцу. Ми не робимо все одразу, а виконуємо кроки:
1️⃣ Зробити тісто 🍕
2️⃣ Підготувати начинку 🧀
3️⃣ Запекти у духовці 🔥

Так само у програмуванні: складну задачу розбиваємо на функції, які вирішують окремі підзадачі.

3

3 з 12 балів

2. Практична частина

📌 Завдання:
Написати програму для розрахунку середньої оцінки учня.
Програма повинна виконувати 3 підзадачі:
1️⃣ Отримати оцінки від користувача.
2️⃣ Обчислити середнє значення.
3️⃣ Вивести результат.

0800akyg-6909-921x438.png

4

. Пояснення кожного рядка коду

🔹 Розбір коду по частинах

📌 Функція отримання оцінок

def отриматиоцінки(): оцінки = input("Введіть оцінки через пробіл: ") списокоцінок = оцінки.split() списокоцінок = [int(оцінка) for оцінка in списокоцінок] return список_оцінок

🔹 def отримати_оцінки(): – створюємо функцію, яка запитує оцінки.
🔹 оцінки = input("Введіть оцінки через пробіл: ") – просимо користувача ввести оцінки (рядок).
🔹 список_оцінок = оцінки.split() – розділяємо рядок на окремі значення (список).
🔹 списокоцінок = [int(оцінка) for оцінка in списокоцінок] – перетворюємо всі значення на числа.
🔹 return список_оцінок – повертаємо список чисел.

5

Функція обчислення середньої оцінки

0800akzy-42a1-490x210.png

🔹 def обчислити_середню(список_оцінок): – створюємо функцію, яка обчислює середнє.
🔹 сума_оцінок = sum(список_оцінок) – рахуємо суму всіх оцінок.
🔹 кількість_оцінок = len(список_оцінок) – рахуємо, скільки оцінок.
🔹 середнє = сума_оцінок / кількість_оцінок – ділимо суму на кількість.
🔹 return середнє – повертаємо середню оцінку.

6

📌 Функція виведення результату

0800al0h-3aaf-561x121.png

🔹 def вивести_результат(середнє): – створюємо функцію для виводу.
🔹 print(f"Середня оцінка учня: {середнє:.2f}") – виводимо середню оцінку з округленням до 2 знаків після коми.

7

📌 Основна частина програми

0800al17-7dda-438x161.png

🔹 оцінки = отримати_оцінки() – отримуємо список оцінок.
🔹 середнє = обчислити_середню(оцінки) – обчислюємо середню оцінку.
🔹 вивести_результат(середнє) – виводимо результат.

8

4. Аналіз коду

Чому ми використовуємо функції?
✅ Код зрозумілий та структурований.
✅ Якщо треба змінити щось, достатньо змінити одну функцію.
✅ Програму легко доповнювати новими можливостями.

💡 Наприклад: можна додати функцію оцінювання рівня знань:

  • Якщо середнє > 10 → «Відмінник»

  • Якщо середнє > 7 → «Хороший учень»

  • Якщо середнє < 7 → «Потрібно підтягнути знання»

9

3 з 12 балів

Завдання 1: Перевірка парності чисел

📌 Умова:
Написати програму, яка отримує список чисел від користувача та перевіряє, які з них парні, а які непарні.

📌 Алгоритм:
1️⃣ Отримати числа від користувача.
2️⃣ Перевірити кожне число.
3️⃣ Вивести результат.

💡 Як повинна працювати програма?
✅ Користувач вводить числа.
✅ Програма розділяє їх на парні та непарні.
✅ Виводить результат.

10

3 з 12 балів

Завдання 2: Конвертація температури

📌 Умова:
Створити програму, яка конвертує температуру з градусів Цельсія у Фаренгейти та навпаки.

📌 Формули:
🔹 °F = (°C × 9/5) + 32
🔹 °C = (°F - 32) × 5/9

📌 Алгоритм:
1️⃣ Запитати користувача, що він хоче зробити (перевести C → F або F → C).
2️⃣ Отримати температуру.
3️⃣ Виконати розрахунок.
4️⃣ Вивести результат.

💡 Як працює програма?
✅ Користувач обирає напрямок конвертації.
✅ Вводить число.
✅ Отримує результат у потрібній одиниці.

11

3 з 12 балів

Завдання 3: Лічильник голосних і приголосних у слові

📌 Умова:
Написати програму, яка рахує кількість голосних і приголосних у введеному слові.

📌 Алгоритм:
1️⃣ Отримати слово від користувача.
2️⃣ Порахувати голосні та приголосні літери.
3️⃣ Вивести результат.


💡 Як працює програма?
✅ Отримує слово від користувача.
✅ Рахує голосні та приголосні літери.
✅ Виводить їх кількість.

12

Висновки

Декомпозиція дозволяє зробити код зрозумілим та зручним.
Функції допомагають розділити програму на менші завдання.
Ми навчилися працювати з циклами, умовами та списками у Python.


🔹 Домашнє завдання

Додайте до завдань додаткову функцію!
Наприклад:
📌 У першому завданні підрахувати кількість парних і непарних чисел.
📌 У другому завданні зробити конвертацію у Кельвіни.
📌 У третьому завданні порахувати ще й кількість букв "а" у слові.

🚀 Вперед до програмування! 🔥😃

Рефлексія від 1 учня

Сподобався:

0

Так: 1

Ні: 0

Зрозумілий:

0

Так: 1

Ні: 0

Потрібні роз'яснення:

0

Ні: 1

Так: 0

Рекомендуємо

Розв’язування задачі методом поділу на підзадачі

Розв’язування задачі методом поділу на підзадачі

410

Аватар профіля Лизько Валентина Степанівна
Інформатика
6 клас

25 грн

Розв’язування задачі методом поділу на підзадачі

Розв’язування задачі методом поділу на підзадачі

352

Аватар профіля Лизько Валентина Степанівна
Інформатика
6 клас

25 грн

Декомпозиція задачі

Декомпозиція задачі

236

Аватар профіля Андрієнко Мар`ян Андрійович
Інформатика
11 клас

25 грн

Практична робота 3. Візуалізація рядів і трендів даних

Практична робота 3. Візуалізація рядів і трендів даних

174

Аватар профіля Кутенський Василь Григорович
Інформатика
10 клас

83 грн

«Операції над файлами та папками» (Група 2, Група 3),

«Операції над файлами та папками» (Група 2, Група 3),

137

Аватар профіля Кутенський Василь Григорович
Інформатика
5 клас

50 грн

Тема: Системи керування вмістом для веб-ресурсів (CMS)

Тема: Системи керування вмістом для веб-ресурсів (CMS)

67

Аватар профіля Кутенський Василь Григорович
Інформатика
10 клас

50 грн

Схожі уроки

Впорядкування, пошук і фільтрування даних.

Впорядкування, пошук і фільтрування даних.

1306

Аватар профіля Вожга Ірина Леонідівна
Інформатика
9 клас

Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.

Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.

1125

Аватар профіля Савка-Ржематорська Оксана Василівна
Інформатика
9 клас

Цикли з передумовою у вкладених циклах

Цикли з передумовою у вкладених циклах

1354

Аватар профіля Вожга Ірина Леонідівна
Інформатика
6 клас

Налаштування часових параметрів аудіо- та відеоряду.

Налаштування часових параметрів аудіо- та відеоряду.

504

Аватар профіля Солодовнікова Катерина Олексіївна
Інформатика
8 клас

Елемент керування «кнопка». Поняття об’єкту та його властивостей і методів (на прикладі елементів екранної форми). Властивості і методи елементів керування.

Елемент керування «кнопка». Поняття об’єкту та його властивостей і методів (на прикладі елементів екранної форми). Властивості і методи елементів керування.

659

Аватар профіля Пилипенко Олена Володимирівна
Інформатика
8 клас

Елемент керування кнопка

Елемент керування кнопка

288

Аватар профіля Пилипенко Олена Володимирівна
Інформатика
8 клас