Скачиваний:
11
Добавлен:
01.05.2014
Размер:
2.63 Кб
Скачать

.Vyborg

150 .Tomsk 650
.Kolpashevo
300 600
.Peterburg 3000
.Novosibirsk 700
700
2500 350 1100
300 .Moscow .Omsk

250 900

.Novgorod .Krasnoyrsk



member(Z,[Z|_]).
member(Z,[_|X]):-member(Z,X).

print([]):-!.
print([X|Tail]):-print(Tail), write(X), write('-').

way('Vyborg','Peterburg',150).
way('Peterburg','Moscow',700).
way('Peterburg','Novgorod',300).
way('Peterburg','Novosibirsk',3000).
way('Novgorod','Moscow',250).
way('Moscow','Novosibirsk',2500).
way('Novgorod','Novosibirsk',2600).
way('Novosibirsk','Omsk',350).
way('Novosibirsk','Tomsk',300).
way('Novosibirsk','Kolpeshevo',600).
way('Omsk','Krasnoyrsk',900).
way('Krasnoyrsk','Kolpashevo',1100).
way('Kolpashevo','Omsk',700).
way('Tomsk','Kolpashevo',650).

way1(X,Y,Dist):-way(X,Y,Dist).
way1(X,Y,Dist):-way(Y,X,Dist).

path(Town1,Town2,Dist,Were):-way1(Town1,Town2,Dist),not(member(Town2,Were)),
print(Were),write(Town2).

path(Town1,Town2,Dist,Were):-way(Town1,X,Dist1),not(member(X,Were)),
path(X,Town2,Dist2,[X|Were]),Dist is Dist1+Dist2.

go(Town1,Town2,Dist):-path(Town1,Town2,Dist,[Town1]).

min(Town1,Town2,Dist1):-path(Town1,Town2,Dist,[Town1]),Dist<Dist1.
gomin(Town1,Town2,Dist1,M):-not(min(Town1,Town2,Dist1)),M is Dist1.
gomin(Town1,Town2,Dist1,M):-path(Town1,Town2,Dist,Were),
Dist < Dist1,Dist11 is Dist,
gomin(Town1,Town2,Dist11,M).
road(Town1,Town2,M):-gomin(Town1,Town2,10000000,M),write(M).

? - go('Peterburg','Omsk',M).
Peterburg-Moscow-Novosibirsk-Omsk
M=3550->;
Peterburg-Moscow-Novosibirsk-Tomsk-Kolpashevo-Omsk
M=4850->;
Peterburg-Novgorod-Moscow-Novosibirsk-Omsk
M=3400->;
Peterburg-Novgorod-Moscow-Novosibirsk-Tomsk-Kolpashevo-Omsk
M=4700->;
Peterburg-Novgorod-Novosibirsk-Omsk
M=3250->;
Peterburg-Novgorod-Novosibirsk-Tomsk-Kolpashevo-Omsk
M=4550->;
Peterburg-Novosibirsk-Omsk
M=3350->;
Peterburg-Novosibirsk-Tomsk-Kolpashevo-Omsk
M=4650->;
no

? - road('Peterburg','Omsk',L).
Peterburg-Novgorod-Novosibirsk-Omsk
L=3250->;
no
Соседние файлы в папке LAB3
  • #
    01.05.20141.1 Кб10LAB3.ARI
  • #
    01.05.20142.63 Кб11LAB3.TXT
  • #
    01.05.20141.83 Кб10LAB3A.ARI
  • #
    01.05.20141.44 Кб10SITY.ARI
  • #
    01.05.201417.1 Кб10TOWNS.PCX