L produciendo otra lista L1. Recomendación: L es la concatenación de L1 y una lista de
tres elementos.
ultimo( Elemento, Lista)
de tal modo que Elemento sea el último elemento de la lista Lista. Escriba dos versiones:
(a) usando la relación concat, y (b) sin usarla.
PREGUNTEMOS:
1 ?- ultimo(d,[a,c,e,f,d,f]).
false.
2 ?- ultimo(a,[d,e,g,h,f,a]).
true .
3 ?- ultimo(a,[a,a,a,a,a,a,a,a]).
true .
4 ?- ultimo(6,[2,3,4,5,1,7,6,2]).
false.
5 ?- ultimo(darwin,[marco,luis,lorenzo,antonio,daniel]). //son mis amigos xD
true .
3.4. Aritmética.
1. Defina la relación max(X,Y,Max) de tal modo que Max sea< el mayor valor de los
dos números X y Y.
max(X,Y,Max).
max(X,Y,Max):-X<Max,Y<Max.
número de la lista List de números.
maxlist(List,Max).
maxlist(List,Max):-Max>List.
números dada en List.
sumlist(List,Sum).
List([X,Y,Z]).
sumlist(List,Sum):-X is Y is Z=:=Sum.
lista ordenada de números en forma ascendente o descendente, por ejemplo,
?- ordenada(1,5,6,6,9,12).
Yes
ordenada(List).
List(X,Y,Z).
ordenada(List):-X<Y<Z=:=ascendente.
ordenada(List):-X>Y>Z=:=descendente.
5. Defina el predicado subsum(Set, Sum, Subset) donde Set es una lista de números,
Subset es un subconjunto de esta lista y Sum es la suma de los números en
Subset. Por ejemplo,
?- subsum([1,2,5,3,2], 5, Sub).
Sub = [1,2,2];
Sub = [2,3];
Sub = [5];
subsum(set,Sum,Subset).
subsum(Set,Sum,Subset):-Set=:=[X,Y,Z],Sum=:= Y,Subset=:=Sub.







