Prolog - Ayuda con ordenacion en prolog

 
Vista:

Ayuda con ordenacion en prolog

Publicado por Jose (1 intervención) el 05/10/2010 10:15:17
por favor alguien me podria ayudar a hacer este ejercicio:

Elaborar un predicado llamado ordenar_terminos(Lista1,Lista2) en el que la lista Lista2 contenga la lista Lista1 ordenada ascendentemente. Considerar que Lista1 solo contiene terminos sencillos.

Muchas gracias por su ayuda!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con ordenacion en prolog

Publicado por Fernando (9 intervenciones) el 12/12/2010 03:14:52
Hola
qué son "términos sencillos"?

esto es para ordenar números, no se si te sirva, hace mil años que no programo en prolog y por ahi hay cosas mas simples que esto:

% ordernar una lista

%retorna la longitud de una lista
long([],0):-!.
long([X|M],V):-long(M,B),!, V is B + 1.

%método de ordenamiento burbuja, voy comparando de a pares de números consecutivos
%el resultado es que mueve el mayor al final de la lista
burbuja([],[]).
burbuja([X],[X]).
burbuja([X,Y],[X,Y]):-X=<Y,!.
burbuja([X,Y],[Y,X]):-!.
burbuja([X,Y|M],[X|L]):-X=<Y,!,burbuja([Y|M],L),!.
burbuja([X,Y|M],[Y|L]):-burbuja([X|M],L),!.

%llama al burbujeo N veces, donde N es la longitud de la lista
burbujaext(L1,L1,0):-!.
burbujaext(L1,L1,1):-!.
burbujaext(L1,L2,N):-burbuja(L1,L3),!,N1 is N - 1, burbujaext(L3,L2,N1),!.

ordenar(L1,L2):-long(L1,LG),burbujaext(L1,L2,LG).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar