Hoy veremos una serie de ejercicios resueltos en el lenguaje "Prolog", se verá el uso de functores, si tienen alguna duda en algún ejercicio solo comenten.
menor(A,B,Me):- A<B, Me is A,!.
menor(A,B,Me):- B=<A,Me is B.
menor(A,B,C,Me):- menor(A,B,Me1),menor(C,Me1,Me),!.
menor(A,B,C,D,Me):- menor(A,B,C,Me1),menor(Me1,D,Me),!.
menor(A,B,C,D,E,Me):- menor(A,B,C,D,Me1),menor(Me1,E,Me),!.
mayor(A,B,My):- A>B, My is A,!.
mayor(A,B,My):- B>=A, My is B.
mayor(A,B,C,My):-mayor(A,B,Z),mayor(Z,C,My).
mayor(A,B,C,D,My):-mayor(A,B,C,X),mayor(X,D,My).
mayor(A,B,C,D,E,My):-mayor(A,B,C,D,X),mayor(X,E,My).
segMenor(A,B,Me):-mayor(A,B,Me).
segMenor(A,B,C,Me):-mayor(A,B,X),mayor(B,C,Y),mayor(A,C,Z),menor(X,Y,Z,Me).
segMenor(A,B,C,D,Me):-segMenor(A,B,C,X),segMenor(A,C,D,Y),segMenor(A,B,D,Z),segMenor(B,C,D,U),
menor(X,Y,Z,U,Me).
segMayor(A,B,My):-menor(A,B,My).
segMayor(A,B,C,My):-mayor(A,B,X),mayor(B,C,Y),mayor(A,C,Z),menor(X,Y,Z,My).
segMayor(A,B,C,D,My):-segMayor(A,B,C,X),segMayor(A,C,D,Y),segMayor(A,B,D,Z),segMayor(B,C,D,U),
mayor(X,Y,Z,U,My).
tercerMenor(A,B,C,Me):-mayor(A,B,C,Me).
tercerMenor(A,B,C,D,Me):-segMayor(A,B,C,D,Me).
tercerMayor(A,B,C,Me):-menor(A,B,C,Me).
tercerMayor(A,B,C,D,Me):-segMenor(A,B,C,D,Me).
menorDif(A,B,Me):-Me is A-B.
menorDif(A,B,C,Me):-X is A-B,Y is A-C, Z is B-C, menor(X,Y,Z,Me).
iguales(A,B):- A=:=B.
iguales(A,B,C):- iguales(A,B),iguales(B,C).
iguales(A,B,C,D):- iguales(A,B,C),iguales(A,D).