Автор работы: Пользователь скрыл имя, 09 Января 2013 в 21:48, курсовая работа
1.1 Сущность задачи
Задачей данного проекта является автоматизация расчета кратчайшего расстояния между городами Минской области. Программное приложение должно выводить сведения об оптимальном пути маршрута.
В Минской области осуществляется автобусное сообщение между следующими городами:
Содержание
1 Объектно-ориентированный анализ и проектирование системы 3
Сущность задачи 3
Проектирование модели 5
2 Вычислительная система 8
2.1 Требования к аппаратным и операционным ресурсам 8
2.2 Инструменты разработки 8
3 Проектирование задачи 11
3.1 Требования к приложению 11
3.2 Концептуальный прототип 11
3.3 Организация данных 12
3.4 Функции и элементы управления 12
3.5 Проектирование справочной системы приложения 17
4 Описание программного средства 19
4.1 Общие сведения 19
4.2 Функциональное назначение 19
4.3 Входные данные 19
4.4 Выходные данные 19
5 Методика испытаний 20
5.1 Технические требования 20
5.2 Порядок проведения испытаний 20
5.2.1 Функциональное тестирование 20
5.2.2 Полное тестирование 26
6 Применение 39
6.1 Назначение программы 39
6.2 Условия применения 39
6.3 Справочная система 39
Заключение 45
Литература 46
Приложение А 47
//18
{9999,9999,54,9999,9999,9999,
//19
{65,9999,9999,9999,9999,9999,
//20
{115,9999,9999,9999,9999,9999,
//21
{55,9999,9999,9999,9999,9999,
//22
{9999,9999,9999,9999,9999,
//23
{9999,9999,9999,9999,9999,
//24
{9999,9999,9999,9999,9999,38,
//25
{9999,9999,9999,9999,9999,35,
//26
{9999,44,9999,9999,9999,9999,
//27
{38,9999,45,99999,9999,9999,
//28
{44,9999,9999,9999,9999,9999,
//29
{45,9999,9999,9999,37,9999,
//30
{26,9999,9999,9999,9999,16,
int[,] S = new int[30, 30];
string[] Cites = new string[30] { "Минск", "Беризино", "Борисов", "Вилейка", "Воложин", "Дзержинск", "Жодино", "Клецк", "Копыль",
"Крупки", "Логойск", "Любань", "Марьина горка", "Молодечно", "Мядель", "Нарочь", "Несвиж", "Плещеницы", "Пуховичи",
"Слуцк", "Смолевичи", "Солигорск",
"Ст. Дороги", "Столбцы", "Узда",
"Червень","Cмиловичи","
public string MinP(int x, int y, int z)
{
if (x == y)
{
MessageBox.Show("Пункт назначения соответствует пункту прибытия.\nУбедитесь в правильности выбора.");
return "Измените один из пунктов и попробуйте снова!";
}
for (int i = 0; i < 30; i++)
{
for (int j = 0; j < 30; j++)
{
if (i != j) S[i, j] = j+1;
else S[i, j] = 0;
}
}
int sum = 0;
for (int r = 0; r < 30; r++)
{
for (int i = 0; i < 30; i++)
{
for (int j = 0; j < 30; j++)
{
sum = D[r, j] + D[i, r];
if (D[i, j] > sum)
{
D[i, j] = sum;
S[i, j] = r + 1;
}
}
}
}
string end1;
string buf;
int end;
string str = "->";
int begin = x;
if (z != 0)
{
end = z;
}
else
{
end = y;
}
end1 = Convert.ToString(end);
int asd = end;
string begin1 = Convert.ToString(begin);
string s = Cites[begin];
opop:
if (asd != (S[begin, end] - 1))
{
if (S[begin, end] != 0)
{
int qwe = begin;
begin = S[qwe, end] - 1;
buf = Convert.ToString(Cites[begin])
s = s + str + buf;
}
goto opop;
}
else
{
if (z != 0)
{
s += str;
begin = z;
end = y;
asd = end;
s += Cites[begin];
opop1:
if (asd != (S[begin, end] - 1))
{
if (S[begin, end] != 0)
{
int qwe = begin;
begin = S[qwe, end] - 1;
buf = Convert.ToString(Cites[begin])
s = s + str + buf;
}
goto opop1;
}
else
return s + str + Cites[y];
}
else
{
return s + str + Cites[y];
}
}
}
public string MinS(int x, int y, int z)
{
for (int i = 0; i < 30; i++)
{
for (int j = 0; j < 30; j++)
{
if (i != j) S[i, j] = j + 1;
else S[i, j] = 0;
}
}
int sum = 0;
for (int r = 0; r < 30; r++)
{
for (int i = 0; i < 30; i++)
{
for (int j = 0; j < 30; j++)
{
sum = D[r, j] + D[i, r];
if (D[i, j] > sum)
{
D[i, j] = sum;
S[i, j] = r + 1;
}
}
}
}
string km;
if (z == 0)
km = "Кратчайшее расстояние = "+Convert.ToString(D[x, y]) + " км";
else
km = "Кратчайшее расстояние = " + Convert.ToString((D[x, z]+D[z, y])) + " км";
return km;
}
}
Информация о работе Нахождение кратчайшего пути между городами Минской области