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