Lab1: Improve naming on task 3
This commit is contained in:
parent
712d1e6fc0
commit
efb2c71045
122
1_3.pl
122
1_3.pl
|
@ -13,83 +13,83 @@ osoba(milosz , pawel , renata , mezczyzna, 17).
|
||||||
osoba(milena , pawel , renata , kobieta , 15).
|
osoba(milena , pawel , renata , kobieta , 15).
|
||||||
osoba(pawel , jan , krystyna , mezczyzna, 44).
|
osoba(pawel , jan , krystyna , mezczyzna, 44).
|
||||||
|
|
||||||
mezczyzna(X) :-
|
mezczyzna(Osoba) :-
|
||||||
osoba(X, _, _, mezczyzna, _).
|
osoba(Osoba, _, _, mezczyzna, _).
|
||||||
|
|
||||||
kobieta(X) :-
|
kobieta(Osoba) :-
|
||||||
osoba(X, _, _, kobieta, _).
|
osoba(Osoba, _, _, kobieta, _).
|
||||||
|
|
||||||
rodzenstwo(X, Y) :-
|
rodzenstwo(Dzieciak1, Dzieciak2) :-
|
||||||
osoba(X, O, M, _, _),
|
osoba(Dzieciak1, Ojciec, Matka, _, _),
|
||||||
osoba(Y, O, M, _, _),
|
osoba(Dzieciak2, Ojciec, Matka, _, _),
|
||||||
X \= Y.
|
Dzieciak1 \= Dzieciak2.
|
||||||
|
|
||||||
bracia(X, Y) :-
|
bracia(Brat1, Brat2) :-
|
||||||
rodzenstwo(X, Y),
|
rodzenstwo(Brat1, Brat2),
|
||||||
mezczyzna(X),
|
mezczyzna(Brat1),
|
||||||
mezczyzna(Y).
|
mezczyzna(Brat2).
|
||||||
|
|
||||||
siostry(X, Y) :-
|
siostry(Siostra1, Siostra2) :-
|
||||||
rodzenstwo(X, Y),
|
rodzenstwo(Siostra1, Siostra2),
|
||||||
kobieta(X),
|
kobieta(Siostra1),
|
||||||
kobieta(Y).
|
kobieta(Siostra2).
|
||||||
|
|
||||||
brat(X, Y) :-
|
brat(Brat, Osoba) :-
|
||||||
rodzenstwo(X, Y),
|
rodzenstwo(Brat, Osoba),
|
||||||
mezczyzna(X).
|
mezczyzna(Brat).
|
||||||
|
|
||||||
siostra(X, Y) :-
|
siostra(Siostra, Osoba) :-
|
||||||
rodzenstwo(X, Y),
|
rodzenstwo(Siostra, Osoba),
|
||||||
kobieta(X).
|
kobieta(Siostra).
|
||||||
|
|
||||||
matka(X, Y) :-
|
matka(Matka, Dziecko) :-
|
||||||
osoba(Y, _, X, _, _).
|
osoba(Dziecko, _, Matka, _, _).
|
||||||
|
|
||||||
ojciec(X ,Y) :-
|
ojciec(Ojciec, Dziecko) :-
|
||||||
osoba(Y, X, _, _, _).
|
osoba(Dziecko, Ojciec, _, _, _).
|
||||||
|
|
||||||
potomek(X, Y) :-
|
potomek(Dziecko, Rodzic) :-
|
||||||
matka(Y, X);
|
matka(Rodzic, Dziecko);
|
||||||
ojciec(Y, X).
|
ojciec(Rodzic, Dziecko).
|
||||||
|
|
||||||
syn(X, Y) :-
|
syn(Syn, Rodzic) :-
|
||||||
potomek(X, Y),
|
potomek(Syn, Rodzic),
|
||||||
mezczyzna(X).
|
mezczyzna(Syn).
|
||||||
|
|
||||||
corka(X, Y) :-
|
corka(Corka, Rodzic) :-
|
||||||
potomek(X, Y),
|
potomek(Corka, Rodzic),
|
||||||
kobieta(X).
|
kobieta(Corka).
|
||||||
|
|
||||||
rodzic(X, Y) :-
|
rodzic(Rodzic, Dziecko) :-
|
||||||
matka(X, Y);
|
matka(Rodzic, Dziecko);
|
||||||
ojciec(X, Y).
|
ojciec(Rodzic, Dziecko).
|
||||||
|
|
||||||
babcia(X, Y) :-
|
babcia(Babcia, Wnuk) :-
|
||||||
rodzic(Z, Y),
|
rodzic(Rodzic, Wnuk),
|
||||||
matka(X, Z).
|
matka(Babcia, Rodzic).
|
||||||
|
|
||||||
dziadek(X, Y) :-
|
dziadek(Dziadek, Wnuk) :-
|
||||||
rodzic(Z, Y),
|
rodzic(Rodzic, Wnuk),
|
||||||
ojciec(X, Z).
|
ojciec(Dziadek, Rodzic).
|
||||||
|
|
||||||
wujek(X, Y) :-
|
wujek(Wujek, Osoba) :-
|
||||||
rodzic(Z, Y),
|
rodzic(Rodzic, Osoba),
|
||||||
brat(X, Z).
|
brat(Wujek, Rodzic).
|
||||||
|
|
||||||
ciocia(X, Y) :-
|
ciocia(Ciocia, Osoba) :-
|
||||||
rodzic(Z, Y),
|
rodzic(Rodzic, Osoba),
|
||||||
siostra(X, Z).
|
siostra(Ciocia, Rodzic).
|
||||||
|
|
||||||
kuzyni(X, Y) :-
|
kuzyni(Kuzyn1, Kuzyn2) :-
|
||||||
rodzic(A, X),
|
rodzic(Rodzic1, Kuzyn1),
|
||||||
rodzic(B, Y),
|
rodzic(Rodzic2, Kuzyn2),
|
||||||
rodzenstwo(A, B),
|
rodzenstwo(Rodzic1, Rodzic2),
|
||||||
X \= Y.
|
Kuzyn1 \= Kuzyn2.
|
||||||
|
|
||||||
kuzyn(X, Y) :-
|
kuzyn(Kuzyn, Osoba) :-
|
||||||
kuzyni(X, Y),
|
kuzyni(Kuzyn, Osoba),
|
||||||
mezczyzna(X).
|
mezczyzna(Kuzyn).
|
||||||
|
|
||||||
kuzynka(X, Y) :-
|
kuzynka(Kuzynka, Osoba) :-
|
||||||
kuzyni(X, Y),
|
kuzyni(Kuzynka, Osoba),
|
||||||
kobieta(X).
|
kobieta(Kuzynka).
|
||||||
|
|
Loading…
Reference in New Issue