Documentos de Académico
Documentos de Profesional
Documentos de Cultura
% Fecha: 03/06/2012
% PRACTICA CALIFICADA DE LISTAS
%-----------------------------------------------------------------------------% 1.- pertenecia(L,E): E es el elemento que pertenece a la Lista L
%ubicar(L,E,P): P es la posicion del elem en la lista L
ubicar([E|L],E,1):- !.
ubicar([X|Y],E,P):- ubicar(Y,E,P1),P is 1+P1.
pertenece(L,E):-ubicar(L,E,P).
%-----------------------------------------------------------------------------% 2.- sumatoria(L,X): X es la suma de los elementos de la lista L
sumatoria([E],E):-!.
sumatoria([X|Y],S):- sumatoria(Y,S1),S is S1+X.
%-----------------------------------------------------------------------------% 3.- menor(L,E): E es el elem menor de la lista L
minimo([X],X):-!.
minimo([X,Y|M],X):-minimo([Y|M],Z),X =< Z,!.
minimo([X|M],Z):-minimo(M,Z),!,Z < X.
%-----------------------------------------------------------------------------% 5.- concatenar(L1,L2,R): R es la lista concatenada de L1 con L2
concatenar([],L,L).
concatenar([X|Y],L,[X|R]):-concatenar(Y,L,R).
%-----------------------------------------------------------------------------% 4.- ordenar_asc(L,X): X es la lista ordenada de L
% Eliminar el elem E de la lista L
eliminar([E|L],1,L):-!.
eliminar([X|Y],P,[X|LR]):-P1 is P-1,eliminar(Y,P1,LR).
eliminar2(L,E,LR):- ubicar(L,E,P),eliminar(L,P,LR).
%maximo(L,X): X es el elmento maximo de la Lista L
maximo([X],X):-!.
maximo([X,Y|M],X):-maximo([Y|M],Z),X>=Z,!.
maximo([X|M],Z):-maximo(M,Z),Z>X.
ordenar_asc([E],[E]):-!.
ordenar_asc(L,R):- maximo(L,X),eliminar2(L,X,L1),ordenar_asc(L1,L2),!,concatenar
(L2,[X],R).
%-----------------------------------------------------------------------------% 9.- Elim_repit(L,LR): LR es la sin duplicados de la lista L
%verifica sin un elemento es miembro de una Lista
esMiembro(X,[X|_]).
esMiembro(X,[_|T]):-esMiembro(X,T).
elimRepetidos([],[]).
elimRepetidos([H|T],S):-esMiembro(H,T),!,elimRepetidos(T,S).
elimRepetidos([H|T],[H|S]):-elimRepetidos(T,S).
%-----------------------------------------------------------------------------% 6.- unir(L1,L2,LR): R es la union entre las listas L1 y L2
%3.e. Hallar la concatenacin de dos listas
unionn([],L,L).
unionn(L,[],L).