Определение достижимости города в изменяемой системе двусторонних дорог
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
ние переменные: флажок reb, который позволяет риcовать ребро от одной вершины до другой.
Подпрограмма procedure TForm1.Button2Click(Sender: TObject)
Входные данные: указатель на вызывающий объект *Sender.
Выходные данные: нет;
Процесс обработки: флажку reb присваивается значение false, перу присваивается режим перерисовки, xx и yy присваивается значении -100, флажку ver присваивается значение true ;
Используемые внешние переменные: флажок reb, который позволяет рисовать ребро от одной вершины до другой, если значение true, флажок ver, который позволяет рисовать на форме, если значение true;
Подпрограмма procedure TForm1.Button3Click(Sender: TObject)
Выходные данные: указатель на вызывающий объект *Sender.
Выходные данные: нет;
Процесс обработки: вызывается форма 3, вызывается подпрограмма redrow, которая рисует новые дороги и вызывается подпрограмма Button9.Click, которая перерисовывает всё.
Используемые внешние переменные: нет;
Подпрограмма procedure TForm1.Button4Click(Sender: TObject)
Входные данные: указатель на вызывающий объект *Sender;
Выходные данные: нет;
Процесс обработки: флажку del_ver присваивается значение true;
Используемые внешние переменные: флажок del_ver, который позволяет удалять вершину, если значение true.
Подпрограмма procedure TForm1.Button5Click(Sender: TObject)
Входные данные: запись ver;
Выходные данные: изображение на Image1;
Процесс обработки: города, расположенные на компоненте Image1 выстраиваются по окружности. Подпрограмма redrow перерисовывает изображение.
Используемые внешние переменные: step, которая позволяет выстроить вершины по окружности;
Подпрограмма procedure TForm1.Button6Click(Sender: TObject)
Входные данные: запись ver;
Выходных данных: запись ver;
Процесс обработки: через цикл, каждой вершине присваивается значении 0 и вызывается подпрограмма Button9.Click, которая задает новые координаты x и y каждой вершине через цикл.
Используемые внешние переменные: i- счетчик, ver[i].x и ver[i].y - координаты вершин.
Подпрограмма procedure TForm1.Button7Click(Sender: TObject)
Входные данные: файл с расширением *.gph;
Выходные данные: данные матрицы смежности;
Процесс обработки: из файла с расширением *.ghp считываются данные для изображения на компоненте Image1 системы дорог и городов.
Используемые внешние переменные: i,j,k -счетчики, f - имя файла.
Подпрограмма procedure TForm1.Button8Click(Sender: TObject)
Входные данные: данные матрица смежности;
Выходные данные: файл с расширением *.gph и именем f;
Процесс обработки: на диске создается файл с расширением *.gph, в который через цикл записывается содержание матрицы смежности.
Используемые внешние переменные: i,j,k - счетчики, f - имя файла.
Подпрограмма procedure TForm1.Button9Click(Sender: TObject)
Входные данные: запись ver;
Выходные данные: изображение на Image1;
Процесс обработки: устанавливается step, присваивается переменной ns количество городов, если есть города, у которых координаты равны 0 они изменяются на другие, не нулевые, и вызывается подпрограмма перерисовки.
Используемые внешние переменные: step - шаг, ns - количество городов, i - счетчик, vet[i] - запись вершины с её координатами.
Подпрограмма procedure TForm1.Button10Click(Sender: TObject)
Входные данные: указатель на вызывающий объект *Sender;
Выходные данные: нет;
Процесс обработки: ячейки матрицы смежности обнуляются через счетчик, после чего вызывается подпрограмма перерисовки Button9.Click.
Использование внешних переменных: i - счетчик, n - количество городов.
Подпрограмма procedure TForm1.Button11Click(Sender: TObject)
Входные данные: данные с матрицы смежности, данные с 2-х счетчиков на форме;
Выходные данные: данные матрицы достижимости;
Процесс обработки: через цикл с помощью матрицы смежности создается матрица достижимости, после чего через цикл идет изменение матрицы достижимости по алгоритму Флойда. После этого идёт проверка через условие на достижимость из заданного города А в заданный город В. Результат выводится на форму в форме текста.
Используемые переменные: i,j,k - счетчики, dost - двумерный динамический массив.
Подпрограмма procedure TForm1.Button12Click(Sender: TObject)
Входные данные: данные с матрицы смежности, данные с матрицы достижимости, данные с счетчика на форме;
Выходные данные: графическое решение и текстовая информация, матрица достижимости.
Процесс обработки: вызывается подпрограмма Matrix, которая составляет матрицу достижимости по матрице смежности. После выполнения подпрограммы Matrix, переменным doroga и vver присваиваются значения, которые показывают количество дорог, которые нужно достроить. Далее выполняется цикл на проверку матрицы достижимости, если матрица содержит во всех ячейках 1, то выводится сообщение Все города достижимы, после чего начинается цикл, в котором выполняется проверка на добавление новых дорог.
Используемые переменные: i,j,k- счетчики, dost - двумерный динамический массив, dorog, vver - количества дорог, result - флажок на графическое решение.
Подпрограмма function Matrix;
Входные данные: переменная doroga, переменная vver, матрица смежности.
Выходные данные: матрица достижимости, переменные doroga, vver.
Процесс обработки: подпрограмма обрабатывает данные с матрицы смежности, подсчитывает количество нужных дорог.
Используемые внешние переменные: doroga, vver - количество дорог, dost - двумерный динамический массив.
Подпрограмма function findver(x,y,rad:integer):Integer;
Входные данные: x,y,rad;
Выходные данные: findver;
Процесс обработки: подпрограмма находит номер вершины по координатам x и y и радиусу, после чего выдает её ном