Kot je povedal že Anže.
Najprej je bila podana baza letalskih povezav - povezava(Od, Do, Čas,
Razdalija). Npr. povezava(Ljubljana, Frankfurt, 2, 700).
1. naloga - napiši predikat obstajaPot(A,B), ki bo izpisal vse možne poti (s
cikli se ni bilo potrebno obremenjevat).
Moja rešitev (dobil sem vseh 25 točk):
obstajaPot(A,B):-
povezava(A,B,_,_).
obstajaPot(A,B):-
povezava(A,C,_,_),
obstajaPot(C,B).
2. naloga - napiši predikat trajanjePotovanja(A,B,Cas,Pot), ki izpiše vse
možne poti med dvema krajema in trajanje teh poti.
Npr. ?- trajanjePotovanja(Rim,Tokyo,Cas,Pot).
Cas = 10, Pot = [Rim, Tokyo];
Cas = 19 Pot = [Rim, Frankfurt, Tokyo]; ...
Moja rešitev (dobil sem 19 od 25 točk):
trajanjePotovanja(A,B,Cas,[A,B]):-
povezava(A,B,Cas,_).
trajanjePotovanja(A,B,Cas,[H|T]):-
povezava(A,C,Cas1,_),
trajanjePotovanja(C,B,Cas2,T),
Cas is Cas1 + Cas2.
3. naloga - učinkovito napiši predikat trajanjeVbesedi(Ure,Beseda), ki
pretvarja trajanje potovanja iz številčnga v opisno, tako da bo ustrezal
tabeli:
trajanje < 5 ur --> kratko
trajanje >= 5 ur in trajanje < 10 ur --> srednje
trajanje >= 10 ur --> dolgo
Moja rešitev (dobil sem 22 od 25 točk):
trajanjeVbesedi(Ure,Beseda):-
Ure<5, Beseda=kratko,!;
Ure>=5, Ure<10, Beseda=srednje,!;
Ure>=10,Beseda=dolgo.
4. naloga - je bila podobna kot na prejšnjih izpitih - kako bi Prologu
zastavil vprašanje - pet vprašanj.
---
Tole sem napisal po spominu, tako da naj služi bolj za orientacijo :-)
Fajn pišite!