Następnie można wymieniać resztę kobiet wpisując średnik (wymieniane są kolejno) bądź wszystkie naraz wciskając klawisz ‘a’.
Teraz zapytajmy się: Czy jest jakaś osoba, która jest kobietą i którą kocha Marcellu?
Zapytanie będzie wyglądać tak:
?- kocha(marcellus, X), kobieta(X).
Dla przypomnienia, przecinek oznacza logiczne AND, czyli i. Czyli muszą być spełnione dwie rzeczy - osoba X musi być kobietą i jednocześnie kochają marcellus.
Sprawdź, kto kocha mia?
Kto kocha pumpkin?
Ćwiczenie 5
W nowym pliku zad5.pl wpisz następujące fakty i regułę
kocha(vincent, mia). kocha(marcellus, mia). kocha(pumpkin,króliczek). kocha(króliczek,pumpkin).
zazdrosny(X,Y):-kocha(X,Z), kocha(Y,Z).
Mamy tu 4 fakty i jedną regułę. W regule pojawiły się zmienne X, Y oraz Z. Dzięki tej regule możemy określić kto jest o kogo zazdrosny. Osoba X jest zazdrosna o osobę Y jeżeli osoba X kocha jakąś osobę Z i osoba Y kocha osobę Z. Przy czym osoba Z jest dowolną osobą. Zapytajmy, czy i o kogo jest zazdrosny marcellus
?- zazdrosny(mercellus. W).
W odpowiedzi dostaliśmy Vincenta - oboje z Marcellusem kochają bowiem Mia.
Czy ktoś jest zazdrosny o króliczka?
Potrafisz znaleźć wszystkie zazdrosne osoby?
Zmodyfikuj regułę w następujący sposób:
zazdrosny(X,Y) kocha(X,Z), kocha(Y,Z), X \== Y.
Instrukcja x \== y oznacza, że osoba X nie jest taka sama jak Y.
Spróbuj teraz wczytać ponownie plik zad5 i teraz sprawdź wszystkich zazdrosnych.
Ćwiczenie 6
Przedstaw w prologu następujące fakty i reguły
- Mia i Marcellus są małżeństwem
- Brutus jest żebrakiem