Курсовая работа: Математические модели

/* ОСУЩЕСТВЛЯЕТСЯ ПОИСК ПУТИ */

маршрут(Станция,Станция,[Станция],1,Линия,_) :- линия(Линия,Список),принадлежит(Станция,Список).

% путь с пересадкой

маршрут(Начало,Конец,[Начало,Начало2|Хвост],Остановки1,Линия,История) :-

линия(Линия,Список),линия(Новая_Линия,Новый_Список),

принадлежит(Начало,Список),принадлежит(Начало2,Новый_Список),

пересадка(Начало,Линия,Новая_Линия),Линия<>Новая_Линия,

смежные_станции(Начало,Начало2,_),

not(принадлежит(Начало2,История)),

маршрут(Начало2,Конец,[Начало2|Хвост],Остановки2,Новая_Линия,[Начало2|История]),

Остановки1=Остановки2+1.

% путь без пересадки

маршрут(Начало,Конец,[Начало,Начало2|Хвост],Остановки1,Линия,История) :-

линия(Линия,Список),линия(Новая_Линия,Новый_Список),

принадлежит(Начало,Список),принадлежит(Начало2,Новый_Список),

Линия=Новая_Линия,смежные_станции(Начало,Начало2,_),

not(принадлежит(Начало2,История)),

маршрут(Начало2,Конец,[Начало2|Хвост],Остановки2,Линия,[Начало2|История]),

Остановки1 = Остановки2 + 1.

/* осуществляется поиск пути через заданную остановку*/

через_станцию(Начало,Конец,Пром,Ost,List):-маршрут(Начало,Конец,List,Ost,_,[Начало]),принадлежит(Пром,List).

поиск:-write("Выбор маршрута в метро c проездом через заданные остановки"),nl,

write("Схему метро смотрите в Приложении А пояснительной записки"),nl,nl,

write("Введите начальнаую станцию = "),readln(Начало),

write("Введите конечную станцию = "),readln(Конец),

vvod1(_,Prom),

findall(Остановки,stations(Начало,Конец,Prom,Остановки,List),Ost_Список),

минимальное(Остановки,Ost_Список),

stations(Начало,Конец,Prom,Остановки,List),

К-во Просмотров: 362
Бесплатно скачать Курсовая работа: Математические модели