Урок:

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

20.04.2025
0 0
7 Клас

4

22

126

0

0

3

Залучено ШІ
При створенні цього матеріалу був залучений штучний інтелект.
Джерела використаної інформації: розкрити закрити
Підручник "Інформатика" 7 кл. Автори: О. О. Бондаренко, В. В. Ластовецький, О. П. Пилипчук, Є. А. Шестопалов
https://ua.izzi.digital/DOS/750894/932588.html
Візуальні та деякі текстові матеріали згенеровані штучним інтелектом Gemini (Google, 2026).
Вміст уроку:
1
2
3
4

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

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

1

Опрацюйте теоретичний матеріал:

Що таке метод поділу на підзадачі?

Уявіть, що перед вами стоїть величезна гора. Ви не можете перестрибнути її одним махом. Ви долаєте її крок за кроком.

В інформатиці цей підхід називають декомпозицією (метод поділу на підзадачі): розділити одну складну задачу на кілька простіших частин, кожну з яких легше вирішити та перевірити.

Приклад:

Якщо мама каже "Прибери в кімнаті", це велика задача. Як її виконати методом підзадач?

  1. Підзадача 1: Скласти одяг у шафу.

  2. Підзадача 2: Поскладати підручники на столі.

  3. Підзадача 3: Пропилососити підлогу.

Коли ми виконали три маленькі справи — велика задача "Прибрати в кімнаті" виявилася виконаною!

Як це працює в Python?

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

Функція — це іменована частина програми, яка виконує певну дію.

  • Ми один раз описуємо "інструкцію" для підзадачі.

  • Потім просто викликаємо її, коли вона потрібна.

Функції, призначені для виконання конкретних завдань, називають функціями користувача.

Функції користувача використовуються за потреби багаторазового виконання однієї й тієї ж послідовності дій та для покращення структури програмного коду. В добре структурованій програмі легше знаходити і виправляти помилки.

Які види функцій ми використовуємо при написанні програм?

Функції реалізують алгоритми розв’язування підзадач складної задачі. Їх можна порівняти з невеликими програмами, що вбудовані в основну програму.

0901kdtm-5159-834x455.png

Програмуючи графічний інтерфейс, ми створюємо обробники подій для віджетів – функції, які виконуються при настанні подій з цими віджетами. Функції-обробники подій пов’язуються з об’єктом або через значення атрибуту command в списку параметрів при створенні об’єкта, або за допомогою методу bind().

Правила створення і виклику функцій у Python

Функція складається з трьох частин: імені, параметрів і тіла.
Опис функції:
def ім’я_функції(<перелік параметрів>):
тіло функції

Як створити функцію? (Definition)

Використовуй магічне слово def.

  • def — каже Python: «Зараз я створю власну команду».

  • Назва — будь-яке слово (наприклад, go).

  • (): — дужки та двокрапка обов'язкові!

  • Відступ (Tab) — все, що зсунуто праворуч, належить до цієї функції.

    Приклад:

0901kdx9-5af0-689x106.png

Пояснення:

def hello(): — це як записати номер друга в телефонну книгу. Ви просто зберегли контакт, але ще нікому не телефонуєте.

hello() — це ви натиснули кнопку «Виклик». Тільки в цей момент Python "телефонує" до функції та виконує команду print.

Три "НЕ":

  1. НЕ забувай про двократку : після def.

  2. НЕ забувай про відступ (4 пробіли або Tab) у тілі функції.

  3. НЕ викликай функцію раніше, ніж ти її створив у коді.

2

3 з 12 балів

Які правила належать до створення функцій у Python?

3

2 з 12 балів

Установіть відповідність між умовою задачі та рівнянням, що описує умову.

Умова задачі
Рівняння
1

Знайти всі трицифрові натуральні числа, сума цифр яких дорівнює їх добутку.

А

2x+4y=40

2

У магазині придбали олівці по 6 грн і зошити по 5 грн. Вартість покупки 68 грн. Скільки купили олівців і зошитів?

Б

6x+5y=68

3

Скільки в зоопарку страусів та верблюдів, якщо разом у них 40 ніг?

В

x+y+z=xyz

4

7 з 12 балів

Практичне завдання:

Практичне завдання: «Повний цикл заварювання чаю»

Задача: Розбий процес приготування чаю на 6 підзадач (функцій) та виконай їх по черзі у правильному порядку.

  1. Крок 1: Створи функцію prepare_cup(), яка виводить: "Беремо улюблену чашку..."

  2. Крок 2: Створи функцію boil_water(), яка виводить: "Кип'ятимо воду..."

  3. Крок 3: Створи функцію add_tea_bag(), яка виводить: "Кладемо пакетик чаю..."

  4. Крок 4: Створи функцію pour_water(), яка виводить: "Заливаємо окропом..."

  5. Крок 5: Створи функцію add_sugar(), яка виводить: "Додаємо 2 ложечки цукру і перемішуємо..."

  6. Крок 6: Створи функцію serve_tea(), яка виводить: "Ваш чай готовий! Смачного."

Головна умова: Виклич усі 6 функцій у правильній послідовності в самому кінці коду (без відступів).

Середовище: https://yepython.pp.ua/

Код-розв'язку:

0901kevy-c50f-940x522.png

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

Сподобався:

0

Так: 7

Ні: 0

Зрозумілий:

0

Так: 7

Ні: 0

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

0

Ні: 7

Так: 0

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

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

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

408

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

25 грн

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

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

351

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

25 грн

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

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

235

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

25 грн

Елементи вибору: прапорці, перемикачі

Елементи вибору: прапорці, перемикачі

55

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

25 грн

Розв’язування компетентнісних задач

 Розв’язування компетентнісних задач

552

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

25 грн

Розв’язування компетентнісних задач

Розв’язування компетентнісних задач

512

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

25 грн

Схожі уроки

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

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

1293

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

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

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

1115

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

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

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

1349

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

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

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

498

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

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

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

654

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

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

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

285

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