Мои Конспекты
Главная | Обратная связь

...

Автомобили
Астрономия
Биология
География
Дом и сад
Другие языки
Другое
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Металлургия
Механика
Образование
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Туризм
Физика
Философия
Финансы
Химия
Черчение
Экология
Экономика
Электроника

Выбор удобочитаемых идентификаторов





Помощь в ✍️ написании работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Для улучшения читаемости разрабатываемой программы выполним замену коротких символических обозначений данных, использованных в алгоритме, удобочитаемыми программными идентификаторами, построенными с учетом смысла обозначаемых ими сущностей. Принятый вариант замены представлен в таблице 1.

Таблица 1

Обозначение в алгоритме Программный идентификатор
A AdMatrix
n VCount
C VColor
L VDegree
U UndoItem
S Uncolored
f CurColor
b Colorable
q VCur
V VCenter
O VNumber
индексы i, j, k и т.д. без изменений

 

Общая организация проекта

Данный проект состоит из 6-ти модулей: uMain, uData, uHelp, uFiling, uColoring, uInputk.

 


Описание модулей

 

Модуль uMain

Модуль предназначен для организации редактирования обрабатываемых графов, реализации функции главного меню и координации работы остальных программных модулей. Описание пунктов меню приведено в разделе 5.1.

 

6.3.1.1 Основные переменные, константы и типы модуля

fmMain: TfmMain – основная форма;

TUndoItem – тип данных для представления информации о последнем выполненном действии над графом (используется в режимах Отмена и Восстановление);

VRadius – радиус окружности вершины графа;

AdMatrix: TAdMatrix – матрица смежности вершин текущего графа;

VCount: Byte – число вершин текущего графа;

VColor: TColoring – текущая раскраска вершин;

VCenter: array of TPoint – массив координат центров вершин;

UndoItem: array of TUndoItem – информация об отмененной операции;

k: Byte – требуемое число цветов;

GraphChanged: Boolean – признак измененного и не сохраненного графа.

 

6.3.1.2 Компоненты модуля

Компоненты модуля uMain представлены в таблице 2.


Таблица 2

Компонент Свойства, отличные от свойств по умолчанию Функции
fmMain: TForm BorderStyle: bsToolWindow, Caption: Раскраска графа, ClientHeight: 554, ClientWidth: 792, Color: clBtnFace, Menu: MainMenu, Position: poScreenCenter Форма – контейнер
btnColoring: TBitBtn Caption: Раскраска, Kind: bkOK Кнопка «Раскраска» для запуска процесса раскраски графа
btnExit: TBitBtn Caption: &Выход, Kind: bkClose Кнопка «Выход» для выхода из программы
btnNew: TBitBtn Caption: &Новый граф, Kind: bkRetry Кнопка «Новый граф» для создания нового графа
MainMenu: TMainMenu Items Выбор необходимого режима работы при щелчке на соответствующем пункте главного меню
iFile Caption: Файл Пункты главного меню
iEdit Caption: Редактирование
iHelp Caption: Справка
iFNew Caption: Новый, ShortCut: Ctrl+N Подпункты пункта «Файл» главного меню
iFOpen Caption: Открыть, ShortCut: Ctrl+O
iFSave Caption: Сохранить, ShortCut: Ctrl+S
iFSaveAs Caption: Сохранить как, ShortCut: Ctrl+A
iFBreak Caption: -
iFExit Caption: Выход, ShortCut: F10
iEUndo Caption: Отмена, ShortCut: Ctrl+Z Подпункты пункта «Редактирование» главного меню
iERedo Caption: Восстановление, ShortCut: Ctrl+Alt+Z
iEBreak Caption: -
iEAddV Caption: Добавить вершину, ShortCut: F2
iEDelV Caption: Удалить вершину, ShortCut: Del
iHHelp Caption: Помощь, ShortCut: F1 Подпункты пункта «Справка» главного меню
iHAbout Caption: О программе...
SaveDialog: TSaveDialog DefaultExit: *.zot, Filter: Graph files (*.zot)|*.zot, Options: ofPathMustExist, Title: Сохранение графа в файл Стандартное диалоговое окно для сохранения файлов

Таблица 2 (продолжение)

Компонент Свойства, отличные от свойств по умолчанию Функции
OpenDialog: TOpenDialog DefaultExit: *.zot, Filter: Graph files (*.zot)|*.zot, Options: ofPathMustExist, ofFileMustExist, Title: Открытие файла для загрузки графа Стандартное диалоговое окно для открытия файлов
sgMatrix: TStringGrid DefaultColWidth: 20, DefaultRowHeight: 20, ScrollBars: ssBoth Строковая таблица для отображения и ввода матрицы смежности вершин исходного графа
StatusBar: TStatusBar SimplePanel: True, SizeGrip: False Полоса статуса для отображения текущего состояния программы
stGraph: TStaticText Caption: Исходный граф: Метка для размещения в окне надписи «Исходный граф:»
stMatrix: TStaticText Caption: Матрица смежности: Метка для размещения в окне надписи «Матрица смежности:»

 

6.3.1.3 Процедуры модуля

Процедура iFOpenClick – открывает файл при выборе пункта меню «Открыть», производит очистку и переформат таблицы матрицы смежности sgMatrix.

Процедура iFSaveClick – сохраняет файл при выборе пункта меню «Сохранить».

Процедура btnColoringClick – запускает процесс раскраски графа.

Процедура FormActivate – осуществляет инициализацию глобальных и компонентных данных модуля.

Процедура btnNewClick – создает новый граф при нажатии на кнопку «Новый граф».

Процедура iFNewClick – создает новый граф при выборе пункта меню «Новый».

Процедура iFSaveAsClick – сохраняет граф в другом файле при выборе пункта меню «Сохранить как».

Процедура iFExitClick – осуществляет выход из программы при выборе пункта меню «Выход».

Процедура btnExitClick – осуществляет выход из программы при нажатии на кнопку «Выход».

Процедура iEAddVClick – осуществляет добавление вершины, при этом изменяет матрицу смежности, определяет координаты новой вершины и осуществляет перерисовку вершин.

Процедура iEDelVClick – открывает форму fmInputk как модальную, осуществляет удаление выбранной вершины, удаление смежных с ней ребер, сброс цветов, перенумерацию и перерисовку оставшихся вершин.

Процедура iEUndoClick – осуществляет отмену последнего действия при выборе пункта меню «Отмена».

Процедура iERedoClick – осуществляет восстановление последнего отмененного действия при выборе пункта меню «Восстановление».

Процедура FillUndoDelVrx – осуществляет заполнение структуры данных для отмены удаления вершины.

Процедура iHHelpClick – осуществляет загрузку информации из файла помощи.

Процедура iHAboutClick – осуществляет загрузку информации о программе.

Процедура FormDeactivate – осуществляет освобождение памяти при закрытии формы.

Процедура sgMatrixSelectCell – осуществляет редактирование матрицы смежности вершин графа, сброс цветов и перерисовку вершин.

Процедура FormPaint – осуществляет перерисовку текущего графа в области построения, а также отображает границы области построения графа.

Процедура FormMouseUp – осуществляет добавление или удаление вершины графа при помощи мыши, при этом изменяет матрицу смежности, определяет координаты новой вершины, осуществляет перерисовку вершин после перенумерации и сброс цветов.

Процедура FormMouseDown – осуществляет захват вершины левой кнопкой мыши.

Процедура FormMouseMove – осуществляет соединение вершин перетаскиванием, очистку области, где ребро было на предыдущем шаге и прорисовку нового ребра в следующей позиции.

Процедура FormCloseQuery – запрос на закрытие формы.

Процедура InitForm – осуществляет приведение вида формы к исходному состоянию.

Процедура RemoveVertex – осуществляет удаление выбранной вершины, перезапись sgMatrix в матрицу смежности, формирование массива координат центров вершин, смежных с удаляемой, перенумерацию матрицы смежности и сдвиг массива координат центров вершин, а также изменение размеров структур данных и восстановление измененной матрицы смежности.

Процедура FillAdMatrix – осуществляет построение матрицы смежности по содержимому sgMatrix.

Процедура RepaintVertex – осуществляет перерисовку вершины на форме.

Процедура RepaintEdge – осуществляет перерисовку ребра на форме.

Процедура RepaintAllVertices – осуществляет перерисовку всех вершин на форме.

Процедура InitUndo – инициализирует структуру данных об отмененном действии.

Процедура FillUndoDelVrx – осуществляет заполнение структуры данных для отмены удаления вершины.

Процедура PrintGraphPath – осуществляет отображение пути к файлу с графом в заголовке.

 

 

6.3.1.4 Функции модуля

Функция SaveRequest – вызывает запрос на сохранение графа в файле.

 

Модуль uData

Модуль служит для объединения общеиспользуемых констант и типов:

MaxVCount – максимальное число вершин графа;

TAdMatrix = array of array of Byte – матрица смежности графа;

TColoring = array of ShortInt – вектор цветов вершин;

TRealColors = array[0..MaxVCount-1] of TColor – системные имена цветов;

TVertices = array of TPoint – координаты центров вершин;

TGraphFile = file of Byte – файл графа.

 

Модуль uFiling

Модуль содержит функции для управления записью графов в файлы и считывание сохраненных графов из файлов.

 

6.3.3.1 Основные переменные, константы и типы модуля

GraphFile: TGraphFile – файл для сохранения графа.

 

6.3.3.2 Функции модуля

DoSaveFile – осуществляет сохранение графа в файле по матрице смежности.

DoReadFile – осуществляет чтение графа из файла в матрицу смежности.

 

Модуль uColoring

Модуль объединяет процедуры, функции и переменные, используемые при реализации алгоритма раскраски графа.

 

6.3.4.1 Основные переменные, константы и типы модуля

RealColors: TRealColors – фактические цвета раскраски вершин;

VDegree: array of ShortInt – массив относительных локальных степеней;

VNumber: array of Byte – отсортированный массив номеров вершин;

Uncolored: set of Byte – множество не раскрашенных вершин.

 

6.3.4.2 Процедуры модуля

DoNonminColoring – осуществляет раскраску графа в NewColorCount цветов по найденной минимальной раскраске.

InsertionSort – осуществляет сортировку массива локальных степеней методом вставки.

 

6.3.4.3 Функции модуля

DoMinColoring – осуществляет раскраску графа в минимальное число цветов.

ResetColoring – осуществляет обнуление массива цветов вершин графа.

 

Модуль uInputk

Модуль содержит определение диалога для ввода количества цветов при раскраске графа, а также номера удаляемой вершины.

 

 

6.3.5.1 Основные переменные, константы и типы модуля

fmInputk: TfmInputk – форма для ввода числа цветов k.

 

6.3.5.2 Компоненты модуля

Компоненты модуля uInputk представлены в таблице 3.

Таблица 3

Компонент Свойства, отличные от свойств по умолчанию Функции
fmInputk: TForm BorderStyle: bsDialog, Caption: Ввод числа цветов k, ClientHeight: 94, ClientWidth: 360, Color: clBtnFace, Position: poMainFormCenter Форма – контейнер
btnCansel: TBitBtn Caption: Отмена, Kind: bkCancel Кнопка «Отмена» для отмены выбранного действия и закрытия окна «Ввод числа цветов k»
btnSet: TBitBtn Caption: Задать, Kind: bkOK Кнопка «Задать» для задания числа цветов k и закрытия окна «Ввод числа цветов k»
ComboBox: TComboBox Список для выбора пользователем числа цветов k для раскраски графа
StaticText: TStaticText Caption: Задайте число цветов для раскраски графа Метка для размещения в окне надписи «Задайте число цветов для раскраски графа»

 

6.3.5.3 Процедуры модуля

Процедура btnSetClick – устанавливает значение k при нажатии на кнопку «Задать».

Процедура btnCancelClick – игнорирует ввод k при щелчке по кнопке «Отмена».

Процедура ComboBoxChange – осуществляет проверку по числу вершин.

Процедура FormActivate – обнуляет поле ввода ComboBox при запуске формы ввода числа цветов.

 

 

Модуль uHelp

Модуль обеспечивает отображение справочной информации и окна о программе.

 

6.3.6.1 Основные переменные, константы и типы модуля

fmHelp: TfmHelp – форма для файла справки;

HelpFileName: string = 'coloring.hlp' – имя файла справки.

 

6.3.6.2 Компоненты модуля

Компоненты модуля uHelp представлены в таблице 4.

Таблица 4

Компонент Свойства, отличные от свойств по умолчанию Функции
fmHelp: TForm AutoSize: True, BorderStyle: bsDialog, Caption: Помощь, Color: clBtnFace, ClientHeight: 569, ClientWidth: 537, Color: clBtnFace, Position: poMainFormCenter Форма – контейнер
Panel: TPanel BevelOuter: bvLowered Панель для создания рельефного прямоугольника в клиентской области формы
RichEdit: TRichEdit Align: alClient, BorderStyle: bsNone, Color: clCream, HideScrollBars: False, ReadOnly: True, ScrollBars: ssVertical Окно для отображения содержимого файла справки и информации о программе

 

6.3.6.3 Процедуры модуля

Процедура FormActivate – производит настройку внешнего вида и заполнение окна отображения текстом из файла справки или информацию о программе.

Процедура FormDeactivate – восстанавливает стандартный шрифт.

 

Доверь свою работу ✍️ кандидату наук!
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой



Поиск по сайту:







©2015-2020 mykonspekts.ru Все права принадлежат авторам размещенных материалов.