Prolog – zadania powtórkowe
Zadanie 0
Dopisz do bazy wiedzy z pierwszych zajęć(rodzina.pl) informacje nt. wieku członków rodziny. Zmodyfikuj stworzone na zajęciach reguły(dziadek, babcia, matka itp.) o ograniczenia wiekowe. Warunkiem bycia ojcem jest min. 16 lat różnicy pomiędzy rodzicem a dzieckiem, natomiast warunek bycia dziadkiem to min. 40 lat różnicy pomiędzy dziadkiem a wnukiem.
Zadanie 1
Zdefiniuj regułę, która dla podanego dystansu w kilometrach oraz czasu w godzinach, będzie obliczało średnią prędkość w km/h oraz w m/s.
Zadanie 2
Stwórz bazę wiedzy aktorów(imię, nazwisko, kraj pochodzenia, miejsce urodzenia) oraz filmów(nazwa filmu, nazwisko reżysera, nazwisko aktora, rok powstania). Uzupełnij bazę wiedzy o 3 wpisy o aktorach i 3 wpisy o filmach.
Następnie stwórz regułę, która dla podanego nazwiska aktora wyświetli filmy w których grał oraz jego miejsce urodzenia.
Zadanie 3
Napisz regułę obliczającą dowolny wyraz ciągu:
Zadanie 4
Stwórz regułę, która rekurencyjnie będzie obliczała potęgę z podanej przez użytkownika liczby.
Zadanie 5
Napisz regułę obliczającą największy wspólny dzielnik dwóch liczb.
Zadanie 6
Stwórz regułę, której zadaniem będzie wypisanie liczb z podanego zakresu:
pomiedzy(4,7,Liczby).
Liczyby = [4,5,6,7]
Wypisanie wszystkich X spełniających warunek N1<=X<=N2 (pomiędzy(N1,N2,Liczby)).
Zadanie 7
Zdefiniuj regułę parzysta(Lista), która zwracać będzie wartość prawda jeśli podana w zapytaniu lista będzie miała parzystą liczbę elementów.
Zadanie 8
Napisz regułę wypisująca k-ty element listy.
Przykład: ?- element(X,[a,b,c,d,e],3). X = 3
Zadanie 9
Zdefiniuj bramki podstawowe NOT, AND, OR i na ich podstawie napisz regułę symulującą działanie bramki XOR.