This application can give you suggestion about your voting choice. A user can make a list of politicians and their own views in the source file. Ask the application which politician is the most suitable to vote for in next elections.

This application has two modes:

Continue reading

Niewiele w Internecie prostych, krótkich i działających za pierwszym razem snippetów z Prologa, zatem podaje kilka swoich, które napisane i używane zostały podczas wykładów na AU.

% poniży kod doda liczby, niezależnie od tego w jakiej kolejności zostały podane
add(A,B,R):- A = R - B.
add(A,B,R):- R = A + B.
add(A,B,R):- B = R - A.
 
% silnia z 0 to z definicji 1 
factorial(0, 1).
 
% rekurencyjnie oblicza silnię z podanej liczby X
% zmniejsza wartość X co każde wywołanie.
% liczy silnię, aż wywoła definicję powyżej
 
factorial(X, RESULT) :- R1 is X-1,
                       factorial(R1, R2),
                       RESULT is R2 * X.
 
male(mark). % fact
male(jonah). % fact
female(marie).
female(sophie).
female(marcie).
parent_of(jonah, mark).
parent_of(marcie, mark).
parent_of(sophie, mark).
parent_of(jonah, marie).
parent_of(marcie, marie).
parent_of(sophie, marie).
mother_of(X,Y) :- parent_of(X,Y), female(Y). % rule
father_of(X,Y) :- parent_of(X,Y), male(Y).

Continue reading