Języki i Paradygmaty programowania – Laboratorium 3
Zadanie 0
Stwórz bazę wiedzy przechowującą informacje o książkach: imię i nazwisko autora, tytuł, rok wydania, kraj wydania). Uzupełnij bazę 3 dowolnymi faktami o wybranej przez siebie strukturze.
Zadaj następujące pytania do bazy wiedzy:
Wyświetl tytuły wszystkich książek wydanych w USA.
Czy w bazie wiedzy są jakiekolwiek książki?
Podaj wszystkie tytuły książek wraz z imieniem ich autora.
Wyświetl nazwiska autorów książek, które zostały wydane w ostatniej dekadzie.
Zadanie 1
Zaproponuj bazę wiedzy przechowującą dane na temat trójkątów(minimum 3 trójkąty). Dopisz do bazy wiedzy reguły obliczające pole i obwód trójkąta.
Zadanie 2
Stwórz nową bazę wiedzy pary.pl oraz umieść w niej fakty, które zawierać będą informacje o dwóch osobach oraz o roku rozpoczęcia przez nich spotykania się i roku zakończenia randkowania. Uzupełnij bazę 5 dowolnymi faktami o zadanej strukturze.
Do bazy wiedzy pary.pl dopisz 2 reguły:
Reguła sprawdzająca, czy dwie osoby były razem w zadanym roku.
Reguła obliczająca ile dwie podane osoby były parą
Zadanie 3
Stwórz bazę wiedzy zawierającą dane na temat liczby ludności danego kraju oraz zajmowanego przez kraj obszaru. Dopisz do bazy regułę gęstość, która po podaniu nazwy kraju obliczy jego gęstość zaludnienia
Zadanie 4
Korzystając z poniższej bazy wiedzy, stwórz regułę potencjalny złodziej, która dla podanego imienia zwróci logiczną prawdę jeżeli w bazie wiedzy istnieją przesłanki mówiące o tym że ta osoba może być złodziejem.
pożąda(romek,czekolada).
pożąda(jurek,zegarek).
pożąda(wojtek,laptop).
portfel(romek,3).
portfel(jurek,500).
portfel(wojtek,1700).
koszt(czekolada,4).
koszt(zegarek,600).
koszt(laptop,1599).
Zadanie 6
Proszę o przygotowanie bazy wiedzy przechowującą dane nt. samochodów.
Wybrana przez Państwa struktura oprócz modeli i marki samochodu,
powinna zawierać informacje nt. przebiegu, rocznika, zużycia paliwa i pojemności baku. Wpisz dane na temat 3 samochodów do bazy wiedzy.
Następnie proszę stworzyć reguły:
a) Obliczającą ile dany samochód może przejechać na pełnym baku.
b) Jednoargumentową regułę stary_zużyty_ford, która sprawdzi czy podany samochód jest fordem, który przejechał ponad 300 000 km i jest starszy niż 15 lat.
Zadanie 7
Stwórz bazę wiedzy, która będzie przechowywała informacje nt. kul(sfer) i walców. Stwórz fakty opisujące niezbędne wymiary.
Dopisz do bazy wiedzy reguły obliczającą objętość i pole powierzchni każdej z figur(4 reguły).
Stwórz regułę czy_kula_miesci_się_w_walcu(X,Y), gdzie X to nr kuli, a Y nr walca. Zadaniem reguły jest sprawdzenie czy dana kula zmieści się w konkretnym walcu.
Zadanie 8
Napisz regułę obliczającą dowolny wyraz ciągu:
Zadanie 9
Stwórz regułę, która rekurencyjnie będzie obliczała potęgę z podanej przez użytkownika liczby.
Zadanie 10
Stwórz strukturę połączenie opisującą bazę połączeń kolejowych uwzględniając następujące informacje:
- miejsce odjazdu
- destynację
- nazwę przewoźnika
- godzinę odjazdu (w formacie GGMM np. 11:30 zapiszemy jako 1130)
- godzinę przyjazdu do destynacji( jak powyżej)
oraz uzupełnij stworzoną strukturę informacjami o połączeniach:
- Rzeszów-Kraków, które jest obsługiwane przez Przewozy Regionalne. Pociąg odjeżdża z Rzeszowa o 12:30 i dojeżdża do celu podróży o 15:45.
Posługując się zmiennymi określonymi i nieokreślonymi oraz zbudowaną strukturą połączenie zbuduj następujące zapytania:
Czy jest jakiś pociąg, który przyjedzie do Krakowa o 15.45?
Skąd odjeżdża pociąg, które jest obsługiwany przez Przewozy regionalne?
Wyświetl wszystkie pary miejsce odjazdu-destynacja(pozostałe informacje nie są istotne)?
Czy w harmonogramie są jakiekolwiek połączenia?