zadanie rodzina


Spróbujmy odpowiedzieć na następujące pytania:



Znajdź imiona i nazwiska wszystkich osób w bazie

Znajdź wszystkie dzieci urodzone w 1980 roku
dziecko(osoba(X,Y,data(_,_,1980),_)).

Znajdź wszystkie żony, które pracują
zona(osoba(X,Y,_,pracuje(_,_))).

Znajdź osoby urodzone przed 1950 rokiem, których pensja jest mniejsza niż 3000
istnieje(X), data_urodzenia(X,data(_,_,Y)),Y<1950,pensja(X,Z),Z<3000.

Jakie są zarobki poszczególnych rodzin
rodzina(X,Y,Z),zarobki([X,Y|Z],P).

Wypisz rodziny tylko z jednym dzieckiem.
Znajdź wszystkie bezrobotne dzieci.
Znajdź wszystkie niepracujące żony.
Znajdź wszystkie małżeństwa, których różnica wieku męża i żony wynosi, co najmniej 10 lat.


% dane

rodzina(
osoba(jan, kowalski,data(5,kwiecien,1946),pracuje(tpsa,3000)),
osoba(anna,kowalski,data(8,luty,1949), pracuje(szkola,1500)),
[
osoba(pawel,kowalski,data(15,listopad,1979),zasilek),
osoba(maria,kowalski,data(20,maj,1973), pracuje(kghm,4000)) ]).

rodzina(
osoba(krzysztof, malinowski, data(24,lipiec,1945), bezrobocie),
osoba(klara, malinowski, data(9,styczen,1960), pracuje(kghm,8000)),
[
osoba(monika, malinowski, data(19,wrzesien,1980), bezrobocie)]
).
rodzina(
osoba(paweł malin, data(14,lipiec,1989), pracuje(kghm,9000),
osoba(piotr, malin, data(9,marzec,1970), pracuje(kghm,1200)),
[
osoba(sylwia, malin, data(2,grudzien,1990), bezrobocie)]
).

% zaleznosci

maz(X) :-
rodzina(X,_,_).

zona(X) :-
rodzina(_,X,_).

dziecko(X) :-
rodzina(_,_,Dzieci),
nalezy(X,Dzieci).

istnieje(Osoba) :- % sprawdzenie czy dana osoba isnieje w bazie
maz(Osoba)
;
zona(Osoba)
;
dziecko(Osoba).

data_urodzenia(osoba(_,_,Data,_),Data).

pensja(osoba(_,_,_,pracuje(_,P)),P). % pensja pracującej osoby
pensja(osoba(_,_,_,zasilek),500).
pensja(osoba(_,_,_,bezrobocie),0).

zarobki([],0).
zarobki([Osoba|Lista],Suma) :- % zarobki rodziny, jako suma zarobków wszystkich członków rodziny
pensja(Osoba,S),
zarobki(Lista,Reszta),
Suma is S + Reszta.

% narzedzia
nalezy(X,[X|_]). % sprawdzenie czy należy do listy
nalezy(X,[_|Yogon]) :-
nalezy(X,Yogon).
istnieje(osoba X,Y,_,_)).
|

Wyszukiwarka

Podobne podstrony:
RODZINA zadania wyzwania
Analiza Matematyczna 2 Zadania
ZARZĄDZANIE FINANSAMI cwiczenia zadania rozwiazaneE
ZADANIE (11)
zadanie domowe zestaw
rodzinka
Naturalne planowanie rodziny Anna Gabriela
Zadania 1
W 4 zadanie wartswa 2013
Sprawdzian 5 kl 2 matematyka zadania
rozporządzenie ministra sprawiedliwości w sprawie określenia wzoru oświadczenia o stanie rodzinnym
zadania1
Zadania 2015 9

więcej podobnych podstron