Prolog - listas en prolog(invertir lista)

 
Vista:

listas en prolog(invertir lista)

Publicado por andrea (1 intervención) el 28/01/2007 12:38:53
hola,necesito hacer un ejercicio en prolog que te de una lista y la invierta en una auxiliar.
el enunciado es asi:

realizar el predicado invierte(L,M) que devuelva en M la inversa de L .
por ejemplo:

invierte([1,2,3],L).
L=[3,2,1].

sugerencia:
crear un predicado invierte auxiliar que reciba tres en vez de dos parametros y k uno de ellos lo use como una lista auxiliar donde valla guardando los elementos.
al final, la segunda y tercera lista deberan ser iguales,Si no os sale tb se puede hacer con " concatena)

porfavor es urgente
muchisimas gracias de antemano
un saludo
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:listas en prolog(invertir lista)

Publicado por monica (1 intervención) el 29/01/2007 23:08:57
Hola,

no se si llegaré a tiempo, pero aquí tienes:

invierte([],[]).
invierte([H|T],L):- invierte(T,R), concat(R,[H],L).

concat([],L,L).
concat([X|L1],L2,[X|L3]):- concat(L1,L2,L3).

Un saludo.
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

RE:listas en prolog(invertir lista)

Publicado por Alejandra Arostegui (1 intervención) el 02/07/2010 21:39:24
Muchas Gracias Monica!!!!!!
Me salvaste el dia!!
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

RE:ayuda para hacer un programa que a base de preguntas me diga mi estado de animo

Publicado por sergio ivan (1 intervención) el 11/05/2016 21:06:20
ESTADOS
Triste = T
Preocupado=P
Emocionado= E
Feliz=F
Avergonzado=A
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

RE:listas en prolog(invertir lista)

Publicado por Jose (1 intervención) el 05/10/2010 09:59:11
Un millon de gracias Monica!! no solo salvaste a Andrea, tambien me salvaste a mi y supongo que a muchos mas tambien!! de nuevo muchisimas gracias!!!
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

RE:listas en prolog(invertir lista)

Publicado por Domingo (1 intervención) el 04/03/2011 19:39:45
inversa([],[]).
inversa([X|L1],L):-inversa(L1,Resto), concatenar(Resto,[X],L).
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

RE:listas en prolog(invertir lista)

Publicado por abel (1 intervención) el 04/01/2012 14:18:22
¿qué pasaria si no queremos usar recursion? osea ¿hay alguna manera de guardar la lista1 en la base de datos interna, luego ir sacando los elementos y guardarlos en orden inverso en lista2, con 1 llamada invertir(lista1, lista2) ?
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