Tomasz Gawron
Grupa 21, Informatyka WFMiI
Sprawozdanie z Prolog_Lab_1
Zad 1.
Wyniki otrzymane w ćwiczeniu pierwszym po wykonaniu
wszystkich poleceń.
Zad 2.
Wyniki otrzymane w ćwiczeniu drugim po wykonaniu
wszystkich poleceń.
Zad 3.
Wyniki otrzymane w ćwiczeniu trzecim po wykonaniu
wszystkich poleceń.
Zad 4.
X jest siostrą Y gdy X ma takich samych rodziców jak Y.
Jednocześnie należy mieć pewność, że X jest kobietą oraz X nie jest tą samą kobietą co Y. Aby uzyskać taką zależność do pliku należy dodać regułę
„siostra(X, Y) :-rodzice(X, A, B), rodzice(Y, A, B), kobieta(X), X\==Y”.
W naszym przypadku jest tylko jedna taka możliwość.
Zad 5.
Stefan lubi każdego kto lubi piwo można wyrazić regułą:
„lubi(stefan, X) :- lubi(X, piwo).” Po wprowadzeniu tej reguły wyniki dla zapytania „lubi(stefan, X).” są następujące:
Zad 6.
Aby obliczyć dwukrotną wartość podanej liczby należy zastosować
predykat „pomnoz_2(X, Wynik) :- X > 4, Wynik is 2*X.”. Predykat
„pomnoz_2(X, Wynik) :- X>4, Wynik = 2*X.” zwróci nam jedynie wartość wyrażenia a nie wynik.
Na obrazku obok zamieszczone są wyniki po wykonaniu
wszystkich operacji dla ćwiczenia szóstego.
Zad 7.
W bazie umieściłem władców z lat 960 – 1107. Reguła
„rzadzil(Krol, Rok) :- krol(Krol, A, B), Rok >= A, Rok =<B.”
odpowiada za wyszukanie odpowiedniego króla/króli panujących w
danym roku. Przykładowe zastosowanie na obrazku obok.
Jako załącznik do sprawozdania dokładam pliki: lubi.pl, rodzice.pl, mnozenie.pl oraz krolowie.pl, na których pracowałem