Основные этапы работы программы:
При запуске программы открывается вкладка с вводом размерности матрицы смежности, при подтверждении ввода открывается следующая вкладка, где можно определить характеристику графа и построить его графически.
Рис 1. Обобщенный алгоритм работы программы
Таблица идентификаторов, используемых в данном программном обеспечении.
Выбор следующих структур данных обоснован тем, что граф (для построения) представляет собой матрицу смежности и 2 массива координат Х и Y положения его вершин при визуализации. Для того чтобы определить его характеристики, задействованы специальные массивы, хранящие в себе информацию о его вершинах, а для визуализации использованы как целочисленные переменные, хранящие информацию о построении, так и массивы, хранящие информацию о том как и в какой форме будет визуализирован граф пользователю.
Таким образом, чтобы обеспечить работу в программе функций и процедур между собой, использованы следующие идентификаторы:
|
|
Таблица 1
Наименование | Обозначение | Тип данных |
Состояние построения графа | ShowGraf | Логический(Boolean) |
Координаты выделенной вершины (X,Y) | RSel,CSel | Целочисленный (integer) |
Делитель | CountDel | Целочисленный (integer) |
Цент окружности построения (X,Y) | CenterX, CenterY | Целочисленный (integer) |
Количество вершин, не больше 255 | Vershina | Целочисленный (Byte) |
Массивы координат вершин | masX,MasY | Array of integer |
Продолжение Таблица 1.
Нажата ли клавиша мыши и перемещается ли курсор | MouseDowning,MouseMoving | Boolean |
Вершина, которую можно переместить | UsingPoint | Byte |
Массив для проверки на связность | R1 | Array [1..255] of array[1..255] of integer |
Глобальные переменные для обхода в ширину | mark,Emark | Array of byte |
Счётчик количества компонент связности | KountKS | Byte |
Прохождения вершин для нахождения компонент связности. | GroupKS | Array of byte |
Вершина, проверяемая на точку сочленения | ExceptionV | Byte |
Массив для прохода в глубину | Mark1 | Array [byte] of boolean |
Счетчики | K,S,c | Boolean |
Точки сочленения | PS | Array of byte |
Массив цветов для компонентов связности\двусвязности | clrOfP | Array[0..256] of TColor |
Тип построения вершины | _TypeOV | Byte |