Курсовая работа: Структуры данных и алгоритмы
{Ввод исходных данных и заполнение шаблона};
{Вызов процедуры поиска с введенным шаблоном, построенная часть маршрута - пустая};
{Вывод полученного множества маршрутов}
End
{Процедура поиска маршрута с данным шаблоном и уже построенной частью маршрута}
Begin
While {просмотрены не все рейсы} dobegin
If {соответствует тип транспорта} and {Текущий рейс не равен предыдущему}then
Begin
If {город отправления присутствует в рейсе, причем раньше конечной станции} thenbegin
{Рассчитать время отправления ближайшего следующего рейса}
Repeat
{Перейти к следующему городу};
{Рассчитать время дороги с учетом нового участка}
If {текущий город еще не проезжали} and {время пути не превышает максимального}
and {количество пересадок не превышает максимального} and {не приехали[1] }
then {Добавить к маршруту проеханный участок. Вызвать процедуру поиска маршрута
от текущего города до конечного с новыми значениями времени}
Until {текущий город проезжали} or {время исчерпано} or {приехали} or {конец рейса};
If {приехали} and {время не превышено} and {минимальная цена рейса не выше
допустимой} then {Добавить построенный маршрут в мно-во ответов на нужное место}
end;
end;
{Перейти к следующему рейсу}
end;
end
Текст программы на языке Pascal
uses Crt, Date, Graph;
Const MaxCity=100; MClass=6;