Курсовая работа: Алгоритм раскраски графа (точный)
3.3 Функциональное назначение
Программа предназначена для нахождения максимально полного подграфа в произвольном графе.
Программа выполняет следующие функции:
1. Построение произвольного (неориентированного, ориентированного) графа с помощью мыши.
2. Добавление вершин и ребер в уже существующий граф, применение данных изменений.
3. Построение матриц смежности и инцидентности графа, поиск всевозможных максимально полных подграфов(если таковых имеется несколько) и реализован механизм покадрового просмотра найденных подграфов.
В данной программе реализован лог событий (то, что происходит, в данный момент).
3.4 Описание логической структуры программы
Программа разбита на отдельные функциональные части – подпрограммы, которые распределяются по отдельным уровням иерархии. Каждая из подпрограмм решает только свою небольшую задачу по преобразованию данных, что позволяет упростить процесс написания и отладки программы в целом. Далее приводится описания назначения всех функций.
1. Функция WinMain является главной функцией программы, из которой производится вызов остальных функций.
2. Функция ABOUTDLG является функций всплывающего окна "О программе"
3. find_gr – функция ищет наиболее полный подграф от текущей(переданной) вершины и возвращает массив подграфов
4. find_podgraf – функция создания конечного списка наибольших полных подграфов(с наибольшим кол-вом вершин).
5. Функция cr_matr - функция создания и вывода матриц смежности и инцидентности.
6. Функция paint_podgraf - рисует подграф в области, выделенной для графа. Передается номер графа, который надо нарисовать и список наибольших полных подграфов.
7. paint_mouse - процедура рисования графа мышью.
8. MAINDLG - оконная процедура главного окна программы.
Целью этапа проектирования программы является разработка алгоритмов решения поставленной задачи, т.е. разработка формальной последовательности действий, обеспечивающей получение требуемых результатов для заданных исходных данных. На этом этапе решаются следующие задачи:
1. разработка алгоритма основной программы;
2. разработка детальных алгоритмов отдельных подпрограмм.
3.5 Инструкция пользователю.
Для работы с данной программой
необходимо выбрать инструмент:
вершина (флажок в диалоговой части окна «Что рисуем?»)
ребро (в этом же окне)
выбрать тип рисуемого графа
ориентированный(флажок в диалоговой части окна «Тип графа»)
неориентированный(в этом же окне)
нажать кнопку «приступить» и начать постреоние графа щелчком мыши в области «Собственно граф. Чертить здесь!»