Категорія: Програми на Delphi (Дослідження операцій)

Алгоритм Шімбелла (реалізація в середовищі Delphi)

Delphi-програма призначена для знаходження найкоротших шляхів від початкової вершини (вершина №1) до всіх інших вершин орієнтованого графа (та підрахунку довжин даних шляхів), використовуючи для цього матричний метод Шімбелла.

Головна форма розглядуваного проекту складається з панелі інструментів (містить кнопки «Додати вершину», «Видалити вершину», «Додати ребро», «Видалити ребро», «Видалити граф» і «Знайти шляхи мінімальної довжини»), області графічного представлення, області представлення графа у вигляді матриці суміжності (лщмпонент типу TStringGrid) та області виводу результатів (компонент типу TMemo, призначений для виводу розв’язку у вигляді списку ребер).

Для того, щоб намалювати орієнтований граф, на першому кроці, потрібно активізувати кнопку панелі задач під назвою «Додати вершину». Після цього, за допомогою лівої кнопки мишки, розставити їх в області форми «Граф».

schimbels_method_delphi1

Створення вершин орієнтованого графа

Зауваження: в delphi-програмі передбачена можливість переміщення вершин побудованого графа. Для цього достатньо натиснути лівою кнопкою мишки по необхідній вершині та перетягнути її в потрібне місце (переміщення можливе лише в тому випадку, коли програма знаходиться в режимі розміщення вершин).

Читати далі

Знаходження головного центру графа (реалізація в середовищі Delphi)

В параграфі розглядається delphi-програма, основним призначенням якої є знаходження головного центру для побудованого користувачем графа. Для того, щоб запустити програму необхідно перейти в каталог де він збережений, знайти файл Project.exe і запустити його. Після запуску програми на екрані відображатиметься вікно наступного вигляду:

Головний центр графа delphi

Головне вікно проекту “Знаходження головного центру графа”

У верхній частині форми міститься панель інструментів (компонент типу TPanel). На панелі розташовується чотири кнопки (дві типу TSpeedButton та дві — TButton) зліва направо: «Додати вершину», «Додати ребро», «Видалити граф», «Знайти головний центр графа». Праворуч від кнопки «Додати ребро» міститься перемикач типу TCheckBox, який відповідає за тип створюваного ребра (якщо перемикач не включений, то програма пряцює в режимі «Розміщення орієнтованого ребра», і навпаки, якщо перемикач включений — в режмрі «Розміщення неорієнтованого ребра». Біла область (компонент типу TImage) називається робочою областю і використовується для візуалізації графа та відображення вершини, яка являється головним центром. Нижня частина форми (компонент типу TMemo) призначена для виводу результатів роботи програми.

Читати далі

Знаходження центру графа (реалізація в середовищі Delphi)

Програма створена в середовищі програмування Delphi і реалізує процес знаходження однієї з основних числових характеристик графа, а саме його центр. Зазначимо, що безсумнівною перевагою цієї програми перед іншими є те, що вона може застосовуватися не тільки в якості прикладного пакета, але і з великим успіхом використовуватися в якості навчальної програми. Також хочеться зауважити, що delphi-програмі притаманний досить зручний і інтуїтивно зрозумілий користувацький інтерфейс, який виявиться доступним навіть для користувачів, що не знайомі з основами програмування. Крім того є поетапна візуалізація, як самої побудови графа, так і процесу знаходження його центру.

Для того, щоб запустити програму необхідно перейти в каталог де він збережений, знайти файл Project.exe і запустити його. Після запуску програми на екрані буде відображено вікно наступного вигляду:

Головне вікно проекту “Знаходження центру графа”

У верхній частині форми розташовується панель інструментів. На панелі розташовується чотири кнопки (дві типу TSpeedButton та дві – TButton) зліва направо: «Додати вершину», «Додати ребро», «Видалити граф», «Знайти центр графа». Праворуч від кнопки «Додати ребро» міститься перемикач типу TCheckBox, який відповідає за тип створюваного ребра (якщо перемикач не включений, то програма пряцює в режимі «Розміщення орієнтованого ребра», і навпаки, якщо перемикач включений – в режмрі «Розміщення неорієнтованого ребра». Біла область (компонент типу TImage) називається робочою областю і використовується для візуалізації графа та відображення вершини, яка являється центральною. Нижня частина форми (компонент типу TMemo) призначена для виводу результатів роботи програми.

Читати далі

Послідовна розмальовка графа в середовищі програмування delphi

В параграфі розглядається програма, основним призначенням якої є відшукання хроматичного числа та здійснення правильної розмальовки вершин неорієнтованого графа, написана в середовищі Delphi 7. Зазначимо, що внизу сторінки міститься посилання, скориставшись якими можна завантажити delphi-проект, а в цій статті коротко опишемо елементи його головної форми.

Головне вікно проекту “Послідовна розмальовка графа”

Отже, головна форма delphi-програми ділиться на три частини і складається з панелі інструментів (компонент типу TPanel), графічного редактора (компонент типу TImage) та області виводу резільтатів (компонент типу TMemo):

Читати далі

Алгоритм Форда-Беллмана (реалізація в середовищі Delphi)

У математиці та інформатиці існує окремий розділ, який називається теорія графів. Основним предметом вивчення даного розділу є математичний об’єкт, який називається графом (об’єкт, який представляє собою множину вершин і набір ребер, які виступають в якості з’єднань між парами вершин). В рамках даного розділу ставляться і вирішуються різні задачі пов’язані з цим об’єктом. Найпоширенішшою серед них є задача про знаходження найкоротшого шляху між будь-якими двома вершинами графа. Зазначимо, що одним з найбільш використовуваних методів рішення задач такого типу являється метод Дейкстри.

Проте, виходячи з того, що delphi-проект який реалізує алгоритм методу Дейкстри нами вже неодноразово в розділі Програми на Delphi (Дослідження операцій) було розглянуто, сьогодні зосередимо свою увагу на delphi-проекті, що реалізує дещо інший алгоритм рішення задач такого типу, а саме алгоритм Беллмана-Форда.

Головне вікно проекту “Знаходження дерева мінімальної вартості за алгоритмом Беллмана-Форда”

Отже, головна форма розглядуваного проекту складається з панелі інструментів (містить кнопки «Додати вершину», «Видалити вершину», «Додати ребро», «Видалити ребро», «Видалити граф» і «Знайти дерево мінімальної вартості»), області графічного представлення, області представлення графа у вигляді матриці та області виводу результатів (компонент типу TStatusBar, призначений для виводу розв’язку у вигляді списку ребер).

Читати далі