From 712d1e6fc04c222a2e03570f2a3b9ecaf52859dc Mon Sep 17 00:00:00 2001 From: Aelita4 Date: Mon, 23 Oct 2023 18:43:02 +0200 Subject: [PATCH] Lab 1 --- 1_1.pl | 42 ++++++++++++++++++++++++ 1_2.pl | 12 +++++++ 1_3.pl | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ lab1.pl | 18 +++++++++++ rodzina.pl | 6 ++++ 5 files changed, 173 insertions(+) create mode 100644 1_1.pl create mode 100644 1_2.pl create mode 100644 1_3.pl create mode 100644 lab1.pl create mode 100644 rodzina.pl diff --git a/1_1.pl b/1_1.pl new file mode 100644 index 0000000..8a80007 --- /dev/null +++ b/1_1.pl @@ -0,0 +1,42 @@ +rodzic(zofia , marcin). +rodzic(andrzej, marcin). +rodzic(andrzej, kasia). +rodzic(marcin , ania). +rodzic(marcin , krzys). +rodzic(krzys , mikolaj). + +kobieta(zofia). +kobieta(kasia). +kobieta(ania). + +mezczyzna(andrzej). +mezczyzna(marcin). +mezczyzna(krzys). +mezczyzna(mikolaj). + +potomek(Y, X) :- + rodzic(X, Y). + +matka(X, Y) :- + rodzic(X, Y), + kobieta(X). + +ojciec(X, Y) :- + rodzic(X, Y), + mezczyzna(X). + +dziadkowie(X, Z) :- + rodzic(X, Y), + rodzic(Y, Z). + +brat(X, Y) :- + rodzic(Z, X), + rodzic(Z, Y), + mezczyzna(X), + X \= Y. + +siostra(X, Y) :- + rodzic(Z, X), + rodzic(Z, Y), + kobieta(X), + X \= Y. diff --git a/1_2.pl b/1_2.pl new file mode 100644 index 0000000..61ccbfb --- /dev/null +++ b/1_2.pl @@ -0,0 +1,12 @@ +% imie , wiek +osoba(stefan , 21). +osoba(andrzej, 19). + +% imie , co lubi +lubi(stefan , programowanie). +lubi(andrzej, ogladanie-filmow). + +starszy(X, Y) :- + osoba(X, A), + osoba(Y, B), + A > B. diff --git a/1_3.pl b/1_3.pl new file mode 100644 index 0000000..2b5657e --- /dev/null +++ b/1_3.pl @@ -0,0 +1,95 @@ +% imie , ojciec , matka , plec , wiek +osoba(mikolaj , wladyslaw, grazyna , mezczyzna, 21). +osoba(grazyna , jan , krystyna , kobieta , 58). +osoba(wladyslaw, miroslaw , lucyna , mezczyzna, 63). +osoba(krystyna , andrzej , emilia , kobieta , 78). +osoba(jan , kacper , wiktoria , mezczyzna, 83). +osoba(miroslaw , janusz , barbara , mezczyzna, 88). +osoba(lucyna , krystian , aleksandra, kobieta , 91). +osoba(michalina, wladyslaw, grazyna , kobieta , 35). +osoba(jakub , wladyslaw, grazyna , mezczyzna, 33). +osoba(krzysztof, gabriel , michalina , mezczyzna, 7). +osoba(milosz , pawel , renata , mezczyzna, 17). +osoba(milena , pawel , renata , kobieta , 15). +osoba(pawel , jan , krystyna , mezczyzna, 44). + +mezczyzna(X) :- + osoba(X, _, _, mezczyzna, _). + +kobieta(X) :- + osoba(X, _, _, kobieta, _). + +rodzenstwo(X, Y) :- + osoba(X, O, M, _, _), + osoba(Y, O, M, _, _), + X \= Y. + +bracia(X, Y) :- + rodzenstwo(X, Y), + mezczyzna(X), + mezczyzna(Y). + +siostry(X, Y) :- + rodzenstwo(X, Y), + kobieta(X), + kobieta(Y). + +brat(X, Y) :- + rodzenstwo(X, Y), + mezczyzna(X). + +siostra(X, Y) :- + rodzenstwo(X, Y), + kobieta(X). + +matka(X, Y) :- + osoba(Y, _, X, _, _). + +ojciec(X ,Y) :- + osoba(Y, X, _, _, _). + +potomek(X, Y) :- + matka(Y, X); + ojciec(Y, X). + +syn(X, Y) :- + potomek(X, Y), + mezczyzna(X). + +corka(X, Y) :- + potomek(X, Y), + kobieta(X). + +rodzic(X, Y) :- + matka(X, Y); + ojciec(X, Y). + +babcia(X, Y) :- + rodzic(Z, Y), + matka(X, Z). + +dziadek(X, Y) :- + rodzic(Z, Y), + ojciec(X, Z). + +wujek(X, Y) :- + rodzic(Z, Y), + brat(X, Z). + +ciocia(X, Y) :- + rodzic(Z, Y), + siostra(X, Z). + +kuzyni(X, Y) :- + rodzic(A, X), + rodzic(B, Y), + rodzenstwo(A, B), + X \= Y. + +kuzyn(X, Y) :- + kuzyni(X, Y), + mezczyzna(X). + +kuzynka(X, Y) :- + kuzyni(X, Y), + kobieta(X). diff --git a/lab1.pl b/lab1.pl new file mode 100644 index 0000000..c89c85b --- /dev/null +++ b/lab1.pl @@ -0,0 +1,18 @@ +lubi(ala, koty). +lubi(ala, jablko). +lubi(marek, psy). +lubi(ala, psy). +lubi(jarek, ala). +lubi(jarek, rower). +lubi(joanna, wakacje). + +kobieta(ala). +kobieta(joanna). + +mezczyzna(marek). +mezczyzna(jarek). + +lubi1(Y, X) :- + mezczyzna(X), + lubi(X, koty), + lubi(Y, psy). diff --git a/rodzina.pl b/rodzina.pl new file mode 100644 index 0000000..fbd21f5 --- /dev/null +++ b/rodzina.pl @@ -0,0 +1,6 @@ +rodzic(zofia, marcin). +rodzic(andrzej, marcin). +rodzic(andrzej, kasia). +rodzic(marcin, ania). +rodzic(marcin, krzyś). +rodzic(krzyś, mikołaj).