Statička verzija foruma, za uspomenu i dugo sećanje.

Vesti:

Obavezno procitajte pravilnik foruma


Prolog - blok 1

Započeo Microsoft, Oktobar 28, 2014, 04:08:48 posle podne

Microsoft



/*
     Zadaci za  I blok                 2003/2004






1. Pogledaj primer pr1.ari
Definisati pravila: majka, baba, deda, dete, predak, sestra, brat, sric, ujak,
imati bar dvoje dece.
*/


roditelj(pera,sima).
roditelj(marija,sima).
roditelj(sima,tomo).
roditelj(tomo,marko).
roditelj(tomo,jelena).
roditelj(nena,jelena).
roditelj(nena,marko).


musko(pera).
musko(sima).
musko(tomo).
musko(marko).


zensko(marija).
zensko(jelena).
zensko(nena).


otac(X,Y):-roditelj(X,Y),musko(X).
majka(X,Y):-roditelj(X,Y),zensko(X).
dete(Y,X):-roditelj(X,Y).
predak(X,Y):-roditelj(X,Z),predak(Z,Y).
razliciti(X,Y):-not(X=Y).
brat(X,Y):-musko(X),majka(Z,X),majka(Z,Y),otac(P,X)
                ,otac(P,Y),razliciti(X,Y).
sestra(X,Y):-zensko(X),majka(Z,X),majka(Z,Y),otac(P,X)
                ,otac(P,Y),razliciti(X,Y).
baba(X,Y):-roditelj(Z,Y),majka(X,Z).
deda(X,Y):-roditelj(Z,Y),otac(X,Z).
stric(X,Y):-otac(Z,Y),brat(X,Z).
ujak(X,Y):-majka(Z,Y),brat(X,Z).
/*
2.  Ako su date cinjenice oblika:
ucenik( Sifra_ucenika, Ime_ucenika, Odeljenje)
ocene( Sifra_ucenika, Sifra_predmeta, Ocena)
predmet( Sifra_predmeta, Naziv_predmeta, Broj_cas)
Napisati pravila
a) sif_5(S) u znacenju ucenik cija je sifra S ima bar dve petice.
b) bar_dve_petice(X) ucenik cije je ime X ima bar dve petice.
c) odeljenje_5(X,Y) u odeljenju X postoje bar dve petice iz predmeta Y.
*/
ucenik(u1,pera_peric,a4).
ucenik(u2,mira_miric,c4).
ucenik(u3,lana_lanic,b4).
ocene(u1,p1,5).
ocene(u1,p2,4).
ocene(u2,p1,5).
ocene(u2,p2,5).
ocene(u3,p1,5).
ocene(u3,p2,5).
predmet(p1,prolog,10).
predmet(p2,baze_podataka,10).
sif_5(S):-ocene(S,A,B),ocene(S,C,B)






/*


3. Neka je data baza znanja u Prologu cinjenicama:


film( Naziv_filma, Zanr_filma, Ime_reditelja, Sifra_glumca)
glumac( Sifra_glumca, Ime_glumca, God_rodj, Mesto_rodj)


a) Napisati pravilo filmski_umetnik(X)
X je filmski_umetnik ako je X reditelj nekog filma i X igra u nekom filmu.
b) Napisati pravilo glumac_2(X)
X  igra u bar dva razlicita filma
c) Napisati pravilo opsti_glumac(X)
X  igra u bar dva filma razlicitog zanra




4. Date su cinjenice roditelj(X,Y) i godina_rodjenja(X,G).
a) Napisati pravilo naslednik(X,Y)
osoba X je naslednik osobe Y
b) Napisati pravilo  bar_dva(X,Y,Z)
osoba X ima dva naslednika Y i Z rodjena iste godine.
c) Napisati pravilo predak_c(X,Y,G)
osoba Y je predak osobe X rodjen godine G.


5. Ucenici nekog odeljenja nalaze se u koloni po jedan po visinama, u rastucem
poretku.
Date su cinjenice
      pored_d(X,Y) - pored osobe X u koloni je osoba Y
      godina(X,Y) - osoba X rodjena je godine Y
Napisati pravilo
a) pa(X,Y) - X je osoba koja je niza od osobe Y
b) pb(X,Y) - X je osoba koja je niza od osobe Y a rodjene su iste godine
c) pc(X,Y,Z) - osobe Y i Z su dve razlicite osobe koje su nize od osobe X


6. Date su cinjenice
    brzi(SX,SY) - automobil sifre SX brzi je od automobila SY
    auto(Naziv_automobila, Sifra_automobila)
    vlasnik(Ime_vlasnika, Naziv_automobila)
Napisati pravilo
a) brziauto(X,Y)
automobil naziva X je brzi od automobila naziva Y
b) imaauto(X)
    lice cije je ime X ima automobil
c) imabrzi(X,Y)
     X je vlasnik brzeg automobila nego sto je Y


7. Date su cinjenice, koje nam govore za svaka dva susedna cina u vojsci koji
je visi.
visi_cin(zastavnik,vodnik).
visi_cin(major,zastavnik).
visi_cin(pukovnik,major).
visi_cin(generalmajor,pukovnik).
visi_cin(generalpukovnik,generalmajor).
visi_cin(general,generalpukovnik).


Napisati pravilo blizi(X,Y) u znacenju cin X je blizi generalskom cinu  od
cina Y.
      */



Nestorovickino, prvi i deo drugog kacicu kasnije jos

babicuni

ucenik(u1,brat_njegos,c4).
ucenik(u2,hari_poter,b4).
ucenik(u3,majkro_bog,c4).
ucenik(u4,naruto_uzumaki,d4).
ocene(u1,p1,5).
ocene(u1,p2,4).
ocene(u2,p2,5).
ocene(u2,p1,5).
ocene(u3,p2,1).
ocene(u3,p1,2).
ocene(u4,p2,3).
ocene(u4,p1,4).
predmet(p1,prolog,10).
predmet(p2,baze_podataka,5).
sif_5(S):-ocene(S,A,B),ocene(S,C,B),not(A=C),B="5".
bar_dve_petice(X):-ucenik(M,X,N),ocene(M,A,5),ocene(M,B,5),not(A=B).
odeljenje_5(X,Y):-ucenik(M,S,X),ucenik(N,P,X),ocene(M,Y,5),ocene(N,Y,5),not(M=N).

babicuni


film(Inception,triler,Nolan,s1).
film(HarryPotter,fantazy,Naruto,s2).
film(Incidious,horor,Nepoznati,s3).
glumac(s1,Njegos,1599,Beograd).
glumac(s2,Filip,1699,Novi_Sad).
glumac(s3,Pera,1799,Subotica).
/* X-ime */
filmski_umetnik(X):-film(A,B,X,C),film(H,P,L,D),glumac(D,X,Y,G).
glumac_2(X):-glumac(D,X,Y,G),film(A,B,V,D),film(K,P,R,D),not(A=K),not(B=P).
opsti_glumac(X):-glumac(D,X,Y,G),film(A,B,V,D),film(K,P,R,D),not(B=P).



/*


4. Date su cinjenice roditelj(X,Y) i godina_rodjenja(X,G).
a) Napisati pravilo naslednik(X,Y)
      osoba X je naslednik osobe Y
b) Napisati pravilo  bar_dva(X,Y,Z)
      osoba X ima dva naslednika Y i Z rodjena iste godine.
c) Napisati pravilo predak_c(X,Y,G)
      osoba Y je predak osobe X rodjen godine G.
*/
  roditelj(pera,sima).
  roditelj(marija,sima).
  roditelj(sima,tomo).
  roditelj(tomo,marko).
  roditelj(tomo,jelena).
  roditelj(nena,jelena).
  roditelj(nena,marko).
  godina_rodjenja(pera,1900).
  godina_rodjenja(sima,1918).
  godina_rodjenja(marija,1936).
  godina_rodjenja(tomo,1954).
  godina_rodjenja(marko,1972).
  godina_rodjenja(jelena,1980).
  godina_rodjenja(nena,1998).

  dete(X,Y):-roditelj(Y,X).
  naslednik(X,Y):-dete(X,Z),naslednik(Z,Y).
  bar_dva(X,Y,Z):-naslednik(X,Y),naslednik(X,Z),godina_rodjenja(Y,K)
                                ,godina_rodjenja(Z,K).


Marusic

Moja vezija drugog:

ucenik(c1101,babic,c4).
ucenik(c1102,didi,c4).
ucenik(c1103,pera,c4).
ucenik(c1104,bujak,c4).
ucenik(c1105,vojin,c4).
ucenik(c1106,lana,c4).
ucenik(c1107,dusan,c4).
ucenik(c1108,pizon,c4).
ucenik(c1109,jovanovic,c4).
ucenik(c1110,kapija,c4).
ucenik(c1111,kedi,c4).
ucenik(c1112,sunce,c4).
ucenik(c1113,trolga,c4).
ucenik(c1114,majkro,c4).
ucenik(c1115,jeca,c4).
ucenik(c1116,jovana,c4).
ucenik(c1117,lazar,c4).
ucenik(c1118,ceda,c4).
ucenik(c1119,kosta,c4).
ucenik(c1120,pavle,c4).
ucenik(c1121,stojan,c4).

predmet(p1,srpski,128).
predmet(p2,engleski,64).
predmet(p3,fizika,114+14).
predmet(p4,fizicko,64).
predmet(p5,analiza,128).
predmet(p6,baze,64).
predmet(p7,prolog,64).
predmet(p8,biologija,64).
predmet(p9,filozofija,32).
predmet(p10,astronomija,64).
predmet(p11,verovatnoca,64).
predmet(p12,numericka,64).

ocene(c1111,p5,4).
ocene(c1111,p8,1).
ocene(c1111,p12,5).
ocene(c1103,p9,4).
ocene(c1101,p1,5).
ocene(c1120,p3,5).
ocene(c1105,p5,1).
ocene(c1119,p3,5).
ocene(c1119,p2,5).


sif_5(S):-ocene(S,X,5),
     ocene(S,Y,5),
     X\=Y.

bar_dve_petice(X):-ucenik(S,X,_),
              sif_5(S).


odeljenje(X,Y):-ucenik(S1,_,X),
           ucenik(S2,_,X),
      S1\=S2,
      predmet(Y2,Y,_),
      ocene(S1,Y2,5),
      ocene(S2,Y2,5).