ПРО ДОЦІЛЬНІСТЬ ВИВЧЕННЯ ОСНОВ ДИНАМІЧНОГО ПРОГРАМУВАННЯ У СТАРШІЙ ШКОЛІ ТА ЗВО
DOI:
https://doi.org/10.32782/3041-2021/2025-2-30Ключові слова:
доцільність вивчення динамічного програмування, методи оптимізації, методика навчання інформатики, алгоритмічне мислення, формування ІТ-компетентностей, асимптотична обчислювальна складність, оптимізація алгоритмівАнотація
У статті обґрунтована доцільність вивчення основ динамічного програмування на уроках інформатики у середній школі та на заняттях з програмування молодших курсів ЗВО в темах «Вкладені цикли», «Масиви» та «Рекурсії». Наведена модельна задача та описана послідовність її розв’язання для демонстрації основ методу динамічного програмування: виділення станів системи, де останній стан відповідає розв’язку всієї задачі; встановлення критерію оптимальності станів; послідовного визначення оптимального результату для кожного стану зі збереженням цього результату для подальшого розрахунку оптимальних результатів наступних станів; формування шляху досягнення оптимального результату для всієї задачі через зворотне визначення відповідних проміжних станів.Показано, що зв’язок між станами системи необов’язково має бути лінійним, головне, щоб оптимальний результат чергового стану визначався через збережені оптимальні результати попередніх станів. Визначені рекурентні формули для послідовного обчислення оптимальних результатів кожного стану поставленої задачі. Наведені фрагменти програми для реалізації розроблених алгоритмів основних етапів розв’язку поставленої задачі мовою програмування C#. Оцінку складності наведених алгоритмів для втілення окремих етапів розв’язку поставленої задачі проведено методами теорії алгоритмів. Встановлено, що асимптотична обчислювальна складність прямого та зворотного ходу методу динамічного програмування на основі рекурентних формул, як мінімум, на порядок нижча відповідних рекурсивних викликів підпрограм. Правильність теоретичних викладок та коректність наведених фрагментів програми підтверджена експериментально за допомогою віддаленого незалежного обчислювального середовища на сайті https://basecamp.eolymp.com. Наголошено, що вивчення основ динамічного програмування формуватиме у здобувачів освіти навички регресійного тестування та написання не лише правильних, а й ефективних програм.
Посилання
Динамічне та нелінійне програмування. Методичні вказівки до проведення практичних та самостійних занять з курсу «Дослідження операцій» для студентів факультету кібернетики / упорядн. В. І. Тюптя, В. І. Шевченко, В. К. Стрюк. Київ : Електронна бібліотека факультету кібернетики Київського національного університету імені Тараса Шевченка, 2003, 30 с. URL: http://csc.univ.kiev.ua/uk/library/books/tiuptia-31.pdf (дата звернення: 27.05.2025).
Інформатика для 10–11 класів (профільне навчання). URL: https://mon.gov.ua/storage/app/media/zagalna%20 serednya/programy-10-11-klas/2018-2019/01/10-11-profilniy-riven.docx (дата звернення: 27.05.2025).
Інформатика. Навчальна програма вибірково-обов’язкового предмета для учнів 10–11 класів загальноосвітніх навчальних закладів (рівень стандарту). URL: https://mon.gov.ua/storage/app/media/zagalna%20serednya/programy-10-11-klas/2018-2019/informatika-standart-10-11.docx (дата звернення: 27.05.2025).
Метод динамічного програмування та його особливості. URL: https://foxminded.ua/metod-dynamichnoho-prohramuvannia/ (дата звернення: 27.05.2025).
Олефіренко Н. В., Курганський А. Р. Розробка електронного посібника для навчання школярів основ динамічного програмування. Наумовські читання : збірник тез доповідей ХІХ науково-методичної конференції здобувачів вищої освіти та молодих учених (м. Харків, 2–24 листопада 2021 року). Харків, 2022, с. 158–160.
Програма курсу «Інформатика». 5–9 класи загальноосвітніх навчальних закладів. URL: https://mon.gov.ua/storage/app/media/zagalna%20serednya/programy-5-9-klas/onovlennya-12-2017/programa-informatika-5-9-traven-2015.pdf (дата звернення: 27.05.2025).
Програма курсу «Інформатика». 8–9 класи загальноосвітніх навчальних закладів з поглибленим вивченням інформатики. URL: https://mon.gov.ua/storage/app/media/zagalna%20serednya/programy-5-9-klas/informatika.pdf (дата звернення: 27.05.2025).
Шпортько О. В., Малаш К. М. Застосування мемоізації в задачах мінімізації кількості знаків арифметичних операцій. Вісник Національного університету водного господарства та природокористування. Серія : Тех- нічні науки. Рівне : НУВГП, 2020. № 2 (90). С. 127–143.
Bellman R. On the Theory of Dynamic Programming. Proc N. A S. USA. Vol. 38 (8). 1952. Pp. 716–719. URL: https://www.pnas.org/doi/abs/10.1073/pnas.38.8.716.
Cormen T. H., Leiserson C. E., Rivest R. L., Stein C. Introduction to Algorithms. Third Edition. Cambridge : MIT Press, 2009. 1320 p.
##submission.downloads##
Опубліковано
Номер
Розділ
Ліцензія
Авторське право (c) 2025 Вісник Міжнародного економіко-гуманітарного університету імені Академіка Степана Дем'янчука. Серія: Педагогіка та психологія

Ця робота ліцензується відповідно до Creative Commons Attribution 4.0 International License.