Prolog.pptx
- Количество слайдов: 7
Prolog
Zadanie: Stwórz regułę, która rekurencyjnie będzie obliczała potęgę z podanej przez użytkownika liczby. Rozwiązanie: potęga(_, 0, X): -X=1. potęga(L, 1, X): -X=L. potęga(L, P, X): -P>1, P 1 is P-1, potęga(L, P 1, X 1), X is L*X 1.
Zadanie: Baza wiedzy, która będzie przechowywała informacje nt. kul(sfer) i walców. Fakty opisujące niezbędne wymiary. 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.
Rozwiązanie: kula(numer(1), promien(4), liczba_pi(3. 14)). kula(numer(2), promien(2), liczba_pi(3. 14)). walec(numer(1), promien(5), wys(5), liczba_pi(3. 14)). walec(numer(2), promien(9), wys(3), liczba_pi(3. 14)). pole 1(N, O): -kula(numer(N), promien(Z), liczba_pi(Y)), O is 4*Z*Z*Y. objetnosc 1(N, X): -kula(numer(N), promien(Z), liczba_pi(S)), X is 4/3*S*Z*Z*Z. pole 2(N, O): -walec(numer(N), promien(X), wys(Z), liczba_pi(C)), O is 2*C*Z*X. objetnosc 2(N, Z): -walec(numer(N), promien(C), wys(W), liczba_pi(C)), Z is V*C*C*W.
Rozwiązanie: czy_kula_miesci_sie(X, Y): -kula(numer(X), promien(Z), _), walec(numer(Y), promien(P), wys(C), _), D is Z*2, C >= D, P >= Z.
Zadanie: Baza wiedzy przechowującą dane nt. samochodów. Wybrana struktura oprócz modeli i marki samochodu, powinna zawierać informacje nt. przebiegu, rocznika, zużycia paliwa i pojemności baku. Dane na temat 3 samochodów. Reguły: a) Obliczająca ile dany samochód może przejechać na pełnym baku. b) Jednoargumentowa reguła 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.
Rozwiązanie: samochod(marka(volkswagen), model(beetle), przebieg(10000), rocznik(2000), zuzycie_paliwa(5. 6), pb(55)). samochod(marka(ford), model(mustang_shalby), przebieg(400000), rocznik(1970), zuzycie_paliwa(10. 7), pb(60)). samochod(marka(delorean), model(dmc_12), przebieg(300000), rocznik(1981), zuzycie_paliwa(10. 6), pb(78)). ile_na_pb(X, I): -samochod(marka(X), _, _, _, zuzycie_paliwa(P), pb(B)), I is (B*100)/P. stary_zużyty_ford(X)-: samochod(marka(ford), model(X), przebieg(P), rocznik(R), _, _), P > 300000, R < 1999.
Prolog.pptx