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!

Reply via email to