Program – zbiór definicji predykatów
Definicja predykatu(procedura) – ciąg klauzul
Klauzula – fakt, reguła
Programowanie w logice | Prolog | |
---|---|---|
Fakt | A | A. |
Reguła | A B1,…,Bn | A:- B1,…,Bn |
Cel, zapytanie | B1,…,Bn | ???? |
Komendy
Listing. – wyświetlenie skompilowanego kodu
Zadawanie pytań program Klocki 1
Czy klocek d leży na c?
Na(d,c). TRUE
Czy klocek c leży na d
Na(c,d). FALSE
Jaki klocek leży na c?
Na(X,c). X=d
Na jakim klocku leży c?
Na(c,X). X=a; X=b
Jaki pary klocków są w reacjach?
na(X,Y).
X = d,
Y = c ;
X = c,
Y = a ;
X = c,
Y = b.
Czy jakiś klocek leży na c?
na(_,c).
true
Między jakimi klockami leży c?
na(X,c),na(c,Y).
X = d,
Y = a ;
X = d,
Y = b ;
false.
Zadawanie pytań program Klocki 2
Czy jakiś klocek leży między d i c?
Na(d,_),na(_,c). true
Zadawanie pytań program Klocki 3
nad(d,X).
X = c ;
X = a ;
X = b ;
false.
Zapisz w postaci programu Prologowego następujące stwierdzenie:
Marta lubi wino, mandarynki, tenis i kwiaty.
Piotr lubi banany, wino i tenis.
Jan lubi wszystko to co lubi Piotr.
Ania lubi te rzeczy, które jednocześnie lubią Marta i Jan.
Pytania
Czy Piotr lubi wino?
Co lubi Piotr?
Co lubi Marta?
Czy Marta coś lubi?
Kto lubi tenis?
Czy ktoś lubi jabłka?
Co lubi Ania?