№ 4 (94)
Permanent URI for this collection
Browse
Browsing № 4 (94) by Subject "algorithm"
Now showing 1 - 1 of 1
Results Per Page
Sort Options
Item Визначення відповідності тексту алгоритму програми на основі конструктивно-продукційної моделі графа керування(Дніпровський національний університет залізничного транспорту імені академіка В. Лазаряна, Дніпро, 2021) Куроп’ятник, Олена Сергіївна; Яковенко, Богдан МиколайовичUK: Мета. Основною метою статті є розробка та програмна реалізація методу визначення відповідності тексту алгоритму програми, представленого у вигляді блок-схеми. Методика. Для зіставлення тексту програми та блок-схеми побудовано математичну модель їх перетворювачів у графове представлення з використанням апарату конструктивно-продукційного моделювання та його методів: спеціалізації, конкретизації, інтерпретації та реалізації. Графове представлення (графи) тексту будується з урахуванням операторів керування, блок-схеми – за json-файлом, що містить опис елементів схеми та їх зв’язків. Для порівняння графів застосовано метод пошуку в ширину з підрахунком кількості однакових вершин. Для програмної реалізації розробленого методу й моделей була застосована технологія об’єктно-орієнтованого програмування та CASE-технології, в основі яких лежить уніфікована мова моделювання UML. Результати. Запропоновано метод, що дозволяє представити текст та блок-схему програми в єдиному форматі орієнтованого графа (графа керування) та виконати оцінку їх відповідності за кількістю однакових вершин. Для його формалізації та автоматизованого використання розроблено конструктивно-продукційні моделі перетворювачів вхідних даних. На основі моделей та методу створено програмний додаток. Наукова новизна. Отримали подальший розвиток методи конструктивно-продукційного моделювання в задачах обробки текстів, написаних штучними мовами. Побудована система конструкторів, що виконує перетворення тексту програм мовою С++ у граф керування. Практична значимість. Результати роботи мають значення для розв’язання таких задач, як зіставлення текстів програм із метою виявлення запозичень, визначення відповідності алгоритмів програм їх програмним реалізаціям із метою поліпшення навичок кодування. Графове представлення, яке продукує розроблена система конструкторів, може бути застосоване для дослідження впливу оптимізації та рефакторингу коду на складність програм із використанням метрик МакКейба.