Урок:

Динамічне програмування (одновимірний підхід)

24.12.2022
0 0
Опис уроку (учням цей опис не показується):

Цілі:

  • навчальна: ознайомити з технічними прийомами реалізації одновимірного динамічного програмування;

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

  • виховна: виховувати інформаційну культуру учнів, уважність, акуратність, дисциплінованість.

Вміст уроку:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

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

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

2

3

4

Гімнастика для очей

Відеоінструкція (1 хв)

5

Тест містить 8 питань. Час виконання тесту 10 хв.

Динамічне програмування: базові поняття
24 грудня 2022
0 0
Аватар профіля Костукевич Фелікс Віталійович
Аватар профіля Костукевич Фелікс Віталійович
ІКТ
9 клас
0 8 1 1 0 0

6

Задача "Числа Фібоначчі"

Описати рекурсивну функцію Fib(N) цілого типу, яка обчислює N-й елемент послідовності чисел Фібоначчі (N - ціле число):F1 = F2 = 1, FN = FN-2 + FN-1, N = 3, 4, ...

Відповіді (приклади, як можна було б подати код):

Рекурсивний запис

Рекурсія з запам'ятовуванням (довжину масива залежить від контексту задачі, тому в цьому завдання її можна було вибрати довільною, наприклад, 100).

Табуляція

7

Задача "Сума цифр"

Скласти рекурсивну функцію S(N), яка повертає суму цифр у заданому натуральному числі N (N>=0)

Рекурсивний запис

Рекурсія з запам'ятовуванням

Табуляція

8

Задача. "Створи паліндром".

Паліндром – це послідовність символів, яка зліва-направо та справа-наліво пишеться однаково. Наприклад, «АБА» або «АББ ББА».

Задано послідовність символів (рядок) х. Яку мінімальну кількість символів потрібно вилучити з х, щоб отримати паліндром?

Приклад. Вхідні дані «і розморозь зором зорі». Відповідь: 3 (пропуски між словами).

х – рядок символів, який можна подати у вигляді LаR, де L – перший символ зліва, R – останній символ рядка х, а – підрядок, решта символів рядка (між першим та останнім, можливо – порожній). S(x) – функціz, що обчислює мінімальну кількість символів, які потрібно вилучити з рядка х, щоб решта символів утворювали паліндром.

Рекурсивний запис

9

Задача "Біномінальні коефіцієнти"

  1. Умова задачі (vpn)

  2. Розв'язок (використано масив типу vector, як один із варіантів опису масиву на мові С++)

Повторити як описуються вектори, що презентують матриці масиви. Користуватись вказаними прикладами можна як "словничком" програмного коду. (Документ)


10

Задача "Фібоначчі"

  1. Умова задачі

  2. Розв'язок

11

Задача. Степінь числа

  1. Умова
    Підказка: подати у вигляді рекурсії

  2. Розв'язати. Надіслати скріншот коду та результатів тестування

12

Задача. Піднесення до степеня

  1. Умова
    Підказка: подати у вигляді рекурсії

  2. Розв'язати. Надіслати скріншот коду та результатів тестування

13

Задача. Проста послідовність

  1. Умова
    Підказки. Формули, які задані в умові задачі можна подати у вигляді рекурсії:





    Самостійно підібрати підхід до реалізації ДП: рекурсія, рекурсія із запам'ятовуванням чи табуляція.

  2. Розв'язати. Надіслати скріншот коду та результатів тестування

14

Задача. Коник

  1. Умова

  2. Пояснення до задачі (Підказка: уважно подивитись на формулу та початкові значення - базу рекурсії; пригадати для якої числової послідовності були схожі записи).

  3. Надіслати скріншоти програмного коду та результатів тестування

15

Задача. М'ячик на сходах

  1. Умова1, умова2

  2. Пояснення до задачі. Задача подібна до попередньої, тільки коника замінили на м'яч та дозволили стрибати на 3 кроки замість двох.
    У рекурентному співвідношенні додасться ще один доданок: k(n) = k(n − 1) + k(n − 2) + k(n − 3). І початкові значення для обчислення тепер повинні складатися із трьох чисел: k(0), k(1), k(2).
    Розв'язати задачу ітераційним підходом. Для масиву використати статичний масив long long arr[71].

  3. Надіслати скріншоти програмного коду та результатів тестування

16

Контейнери STL

Послідовний контейнер vector

Реалізація лінійного масиву

Клас vector (або просто «вектор») — це динамічний масив, здатний збільшуватися в міру необхідності для утримання всіх своїх елементів. Клас vector забезпечує довільний доступ до своїх елементів через оператор індексації [], а також підтримує додавання і видалення елементів.

Прочитати як описуються вектори, що презентують лінійні масиви. Ознайомитись з прикладами кодів, що показують використання vector. Користуватись вказаними прикладами можна як "словничком" програмного коду. (Документ)

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

Сподобався:

0

Так: 1

Ні: 0

Зрозумілий:

0

Так: 1

Ні: 0

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

0

Ні: 1

Так: 0

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

9.1 Динамічне програмування

9.1 Динамічне програмування

128

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

50 грн

Вибір конструкції буклету. Аналіз існуючих стилів і видів буклетів, їх конструктивних форм і матеріалів

Вибір конструкції буклету. Аналіз існуючих стилів і видів буклетів, їх конструктивних форм і матеріалів

50

Аватар профіля Костукевич Фелікс Віталійович
Інформатика
11 клас

33 грн

Художнє оформлення тексту. Ділова графіка. Створення векторного шрифтового плакату на задану тематику

Художнє оформлення тексту. Ділова графіка. Створення векторного шрифтового плакату на задану тематику

54

Аватар профіля Костукевич Фелікс Віталійович
Інформатика
11 клас

33 грн

Апаратні засоби для забезпечення електронного документообігу

Апаратні засоби для забезпечення електронного документообігу

165

Аватар профіля Костукевич Фелікс Віталійович
Інформатика
9 клас

33 грн

Практична робота "Український орнамент за допомогою Processing"

Практична робота "Український орнамент за допомогою Processing"

141

Аватар профіля Костукевич Фелікс Віталійович
Інформатика
11 клас

33 грн

Підготовка до олімпіад: ІІ етап Всеукраїнської олімпіади з інформатики (2024-2025) (1)

Підготовка до олімпіад: ІІ етап Всеукраїнської олімпіади з інформатики (2024-2025) (1)

2018

Аватар профіля Костукевич Фелікс Віталійович
Інформатика
8—11 клас

33 грн

Схожі уроки

Поняття про операційні системи, мови програмування. Прикладне програмне забезпечення комп’ютера та його використання для вирішення задач

Поняття про операційні системи, мови програмування. Прикладне програмне забезпечення комп’ютера та його використання для вирішення задач

208

Аватар профіля Шевченко Наталія Володимирівна
ІКТ
дорослі

Пристрої для роботи з інформацією

Пристрої для роботи з інформацією

45

Аватар профіля Стасишин Світлана Йосифівна
ІКТ
2 клас

Лінії зв’язку та їх характеристики

Лінії зв’язку та їх характеристики

237

Аватар профіля Халимівська Ірина Анатоліївна
ІКТ
III курс

Основи мережевих систем. Адресація в інтернеті

Основи мережевих систем. Адресація в інтернеті

163

Аватар профіля Халимівська Ірина Анатоліївна
ІКТ
I курс

Класифікація програмного забезпечення

Класифікація програмного забезпечення

91

Аватар профіля Халимівська Ірина Анатоліївна
ІКТ
I курс

Он-лайн сервіси для роботи з текстовими і графічними файлами. Небезпеки пов'язані з використанням он-лайн сервісів.

Он-лайн сервіси для роботи з текстовими і графічними файлами. Небезпеки пов'язані з використанням он-лайн сервісів.

88

Аватар профіля Усиченко Олена Вікторівна
ІКТ
I—II курси