Аннотация
В данной пояснительной записке приведено описание алгоритма и исходного кода программы формирования графовой модели заданного фрагмента принципиальной электрической схемы. Разработаны схемы алгоритмов решения задачи. В среде Microsoft Visual Studio 2005 (C++) разработана и отлажена программа, реализующая представленные алгоритмы. Также представлены результаты решения контрольных примеров, выполненные с помощью разработанной программы.
В приложении приведён текст программы.
графовая модель программа
Содержание
1.Описание программы
.1Общие сведения
.2Функциональное назначение
.3Описание логической структуры
.4Cтруктурная схема основной программы
.5Алгоритм функции vvod()
.6 Алгоритм функции int **matr()
.Описание контрольного примера
Приложение
1. Описание программы
.1 Общие сведения
Программа формирования графовой модели заданного фрагмента принципиальной электрической схемы написана в среде Microsoft Visual Studio 2005.
Программа имеет имя «PraktikaDasha».
Программа запускается на выполнение при помощи Visual Studio 2005 C++, в случае же присутствия исполняемого файла можно произвести запуск из операционной системы Windows.
.2 Функциональное назначение
Программа предназначена для формирования графовой модели заданного фрагмента принципиальной электрической схемы.
Программа выполняет следующие функции:
. Чтение списка по цепям из представленного текстового файла.
. Формирование списка по цепям данного графа (с использованием динамической структуры - линейного списка)
. Формирование и вывод матрицы свяхности.
. Рисование графовой модели (цепь-дерево) заданного фрагмента.
.3 Описание логической структуры
Программа разбита на отдельные функциональные части - подпрограммы, которые распределяются по отдельным уровням иерархии. Каждая из подпрограмм решает только свою небольшую задачу по преобразованию данных, что позволяет упростить процесс написания и отладки программы в целом. Далее приводится описания назначения всех функций.
Функция CepCont *vvod_file (char file_name [ ]) позволяет выбрать файл и исходными данными и сформировать линейный динамический список.
Функция void vivod_spis(CepCont *st, HWND hwndEdit) выводит полученный список по цепям на экран.
Функция int kol_elem(CepCont *st) подсчитывает количество элементов.
Функция void del_matr(int **matr, int k) удаляет динамическую матрицу.
Функция int **memory (int k) выделяет память под динамическую матрицу.
Функция int **form_matr(CepCont *st, int k) преобразовывает список в матрицу.
Функция void vivod_matr (int **matr, int k, HWND hwndEdit) выводит полученную матрицу связности на экран.
Функция void save_matr(char file_name [ ], int **matr, int k) сохраняет матрицу в файл.
Функция void del_spis(CepConrt *BegSpis) удаляет динамический список.
Функция MyDlgProc (HWND hwnd, UINT msg, WPARAM wp, LPARAM lp) обработка сообщений диалога.
1.4 Cтруктурная схема основной программы
1.5 Алгоритм функции vvod():
1.6 Алгоритм функции int **matr()
2. Описание контрольного примера
Дана схема варианта №12:
Составим входное описание заданной схемы в виде списка по цепям:
3
1
1
3
2
1
2
2
2
1
4
3
2
2
1
2
3
1
3
2
1
5
2
3
2
3
2
3
4
По входному описанию схемы сформируем матрицу связности
1 1 0 0 0 1
0 1 0 0 0 1
1 0 1 1 0 0
0 1 0 0 2 0
0 1 0 0 1 0
Предметы
Актуальные Контрольные работы по программному обеспечению, программированию