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

nondeterm includ(список,список)

nondeterm vvod(integer,список,список)

nondeterm vvod1(integer,список)

nondeterm vvod2(integer)

nondeterm digit(string,integer)

CLAUSES

/* ОПИИСАНИЕ ЛИНИЙ */

линия(линия_1,[a,s,d,f,g]).

линия(линия_2,[l,k,d,j,h]).

линия(линия_3,[z,x,d,c,v]).

линия(линия_4,[b,n,d,m,q]).

линия(линия_5,[c,j,f,m,x,k,s,n,c]).

/* ПОИСК МИНИМАЛЬНОГО ЭЛЕМЕНТА В СПИСКЕ ЦЕЛЫХ ЧИСЕЛ */

мин_1(_,[]).

мин_1(Мин,[X|Хвост]):- Мин<=X, мин_1(Мин,Хвост).

минимальное(Мин,[X|Хвост]):- Мин=X,мин_1(Мин,Хвост); минимальное(Мин,Хвост).

/* ПРОВЕРКА НА ПРИНАДЛЕЖНОСТЬ СТАНЦИИ СПИСКУ */

принадлежит(Станция,[Станция|_]).

принадлежит(Станция,[_|Хвост]):- принадлежит(Станция,Хвост).

/*ПРОВЕРКА ДВУХ СТАНЦИЙ НА СОСЕДСТВО В СПИСКЕ */

соседние(Станция1,Станция2,[Станция1,Станция2|_]).

соседние(Станция1,Станция2,[_|Хвост]):- соседние(Станция1,Станция2,Хвост).

/* СМЕЖНЫЕ СТАНЦИИ */

смежные_станции(Станция1,Станция2,Линия):- линия(Линия,Список),принадлежит(Станция1,Список),

принадлежит(Станция2,Список), соседние(Станция1,Станция2,Список);

линия(Линия,Список), принадлежит(Станция1,Список),

принадлежит(Станция2,Список), соседние(Станция2,Станция1,Список).

/* ВОЗМОЖНОСТЬ ПЕРЕСАДКИ */

пересадка(Станция,Линия1,Линия2):- линия(Линия1,Список1), линия(Линия2,Список2),

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