martes, 19 de abril de 2016

Factorial

factorial(0, 1):- !.

factorial(A, B) :-
C is A - 1,
factorial(C, D),
B is A * D.

Fibonnaci

fibonacci(0,0).
fibonacci(1,1).
fibonacci(X,Y):-X>1,
X1 is X-1,
fibonacci(X1,Y1),
X2 is X-2,
fibonacci(X2,Y2),
Y is Y1+Y2.

Rutas Prolog

cdvecina(xalapa,banderilla).
cdvecina(xalapa,coatepec).
cdvecina(xalapa,las_trancas).
cdvecina(banderilla,la_joya).
cdvecina(la_joya,perote).

ruta(A,B) :- cdvecina(A,B).
ruta(A,B) :- cdvecina(A,Z), cdvecina(Z,B).

Árbol Genealógico Prolog

esposo(sara,atanacio).
esposo(elba,elfago).
esposo(elsa,santiago).

padre(yessica,santiago).
padre(rodrigo,santiago).
padre(santiago,elfago).
padre(elsa,atanacio).
padre(alondra,rodrigo).

madre(yessica,elsa).
madre(rodrigo,elsa).
madre(santiago,elba).
madre(elsa,sara).


hermano(elsa,virginia).


hermano(X,Y) :-
padre(X,Z),
padre(Y,Z).
hermano(X,Y) :-
madre(X,W),
madre(Y,W).

abuelo(X,Y) :-
padre(X,Z),
padre(Z,Y).

tia(X,Y) :-
madre(X,Z),
hermano(Z,Y).

sobrino(X,Y) :-
hermano(X,Z),
padre(Y,Z).