Определение достижимости города в изменяемой системе двусторонних дорог
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
ер.
Используемые внешние переменные: x,y - координаты, rad - радиус окружности.
Подпрограмма procedure TForm1.redrow;
Входные данные: количество городов, запись ver;
Выходные данные: изображение на компоненте Image1;
Процесс обработки: подпрограмма перерисовывает изображение на компоненте Image1;
Используемые внешние переменные: i,j - счетчики;
Подпрограмма procedure TForm1.FormCreate(Sender: TObject);
Входные данные: указатель на вызывающий объект *Sender;
Выходные данные: количество городов;
Процесс обработки: переменным pos и n присваивается значение 0;
Используемые внешние переменные: нет;
Подпрограмма procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
Входные данные: координаты xx и yy, флажки ver, reb2;
Выходные данные: изображение на компоненте Image1;
Процесс обработки: выполнение подпрограммы зависит от значений флажков ver и reb2, если они true, то подпрограмма по флажку ver рисует эллипс с координатами х,у на компоненте Image1, а по флажку reb2 подпрограмма рисует ребро(дорогу) до заданного города.
Используемые внешние переменные: нет;
Подпрограмма procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer)
Входные данные: флажки del_ver, reb, reb2, ver ; координаты клика x,y;
Выходные данные: изображение на компоненте Image1;
Процесс обработки: выполнение подпрограммы зависит от значений флажков del_ver, reb, reb2, ver.
Если del_ver true, то подпрограмма удаляет вершину, с заданными координатами и значение флажков ver, reb, reb2, del_ver изменяет на false, а также убирает на -1 строчку и столбец в матрице смежности и матрице достижимости, соответствующие данной вершине.
Если флажок reb true, то подпрограмма рисует линию от одной вершины до другой. Если другая вершина указана не указана, то значение reb становится false.
Если reb2 true, то reb false, reb2 false и строится линия от одной вершины до другой и в матрицу смежности в ячейке ставится значение 1, указывающее на ребро между этими городами.
Если ver true, то значение городов увеличивается на +1, запоминаются координаты в структуру ver - запись и в матрице смежности и достижимости добавляется строчка и столбец с соответствующим номером города.
Используемые внешние переменные: xx,yy - координаты с компонента Image1, i,j,k,i2 - счетчики;
Подпрограмма procedure TForm1.N5Click(Sender: TObject)
Входные данные: нет;
Выходные данные: нет;
Процесс обработки: выход из программы;
Используемые внешние переменные: нет;
Подпрограмма procedure TForm1.N2Click(Sender: TObject);
Входные данные: нет;
Выходные данные: нет;
Процесс обработки: вызов подпрограммы Button7.Click;
Используемые внешние переменные: нет;
Подпрограмма procedure TForm1.N3Click(Sender: TObject);
Входные данные: нет;
Выходные данные: нет;
Процесс обработки: вызов подпрограммы Button8.Click;
Используемые внешние переменные: нет;
Подпрограмма procedure TForm1.N4Click(Sender: TObject);
Входные данные: нет;
Выходные данные: нет;
Процесс обработки: создание нового графа;
Используемые внешние переменные: i,j - счетчики ;
Подпрограмма procedure TForm1.StringGrid3KeyPress(Sender: TObject; var Key: Char);
Входные данные: числа;
Выходные данные: нет;
Процесс обработки: подпрограмма запрещает вводить числа на главной диагонали в матрице достижимости, а так же ограничивает ввод чисел, кроме 0 и 1 и использование клавиш, кроме Backspace.
Используемые внешние переменные: нет;
Подпрограмма procedure TForm1.Edit1Change(Sender: TObject)
Входные данные: число городов;
Выходные данные: данные матрицы смежности, изображение на компоненте Image1;
Процесс обработки: создается матрица смежности и матрица достижимости размером [pos*pos], где pos - количество городов, а также заполнение ячеек матрицы смежности и матрицы достижимости значением 0.
Используемые внешние переменные: pos, n - количество городов, i,j-счетчики.
Подпрограмма procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Входные данные: координаты места клика левой клавишей мыши X и Y ;
Выходные данные: изображение контекстного меню на компоненте Image1;
Процесс обработки: если нажата не левая клавиша мыши, то показать контекстное меню.
Используемые внешние переменные: нет;
Подпрограмма procedure TForm1.N7Click(Sender: TObject);
Входные данные: нет;
Выходные данные: нет;
Процесс обработки: вызов подпрограммы Button2.Click;
Используемые внешние переменные: нет;
Подпрограмма procedure TForm1.N8Click(Sender: TObject);
Входные данные: нет;
Выходные данные: нет;
Процесс обработки: вызов подпрограммы Button1.Click;
Используемые внешние переменные: нет;
Подпрограмма procedure TForm1.N9Click(Sender: TObject);
Входные данные: нет;
Выходные данные: нет;
Процесс обработки: вызов подпрограммы Button4.Click;
Используемые внешние переменные: нет;
Подпрограмма procedure TForm1.StringGrid3KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
Входные данные: данные с матрицы смежности;
Входные данные; изображение на компоненте Image1;
Процесс обработки: подпрограмма вызывает подпрограмму redrow.
Используемые внешние переменные: нет;
Подпрограмма procedure TForm1.vvChange(Sender: TObject);
Входные данные: данные с счетчика vv.Value;
Входные данные: нет;
Процесс обработки: подпрограмма делает ограничение на ввод в счетчик vv.Value значение больше значения количества городов.
Используемые внешние переменные: pos - количество городов.
Подпрограмма procedure TForm1.IsvChange(Sender: TObject);
Входные данные: данные с счетчика Isv.Value;
Входные данные: нет;
Процесс обработки: подпрограмма делает ограничение на ввод в счетчи?/p>