Prolog - Ayuda codigo prolog

   
Vista:

Ayuda codigo prolog

Publicado por Juan Felipe (2 intervenciones) el 04/11/2010 00:50:16
Buenas, necesito ayuda con el siguiente codigo

connect(start, 2). connect(2, 3). connect(2, 8).
connect(3, 4). connect(8, 9). connect(9, 3).
connect(4, 10). connect(10, 16). connect(16, 22).
connect(22, 21). connect(21, 15). connect(15, 14).
connect(14, 13). connect(14, 20). connect(13, 7).
connect(7, 1). connect(20, 26). connect(26, 27).
connect(27, 28). connect(28, 29). connect(28, 34).
connect(29, 23). connect(23, 17). connect(17, 11).
connect(11, 5). connect(5, 6). connect(34, 35).
connect(34, 33). connect(35, 36). connect(36, 30).
connect(30, 24). connect(24, 18). connect(18, 12).
connect(33, 32). connect(32, finish). connect(32, 31).
connect(31, 25). connect(25, 19).

solveLab :-
path([start], Solution),
inversa(Solution, Sol),
write(Sol).

path([finish|RestOfPath], [finish|RestOfPath]).
path([CurrentLocation | RestOfPath], Sol) :-
connect_to(CurrentLocation, NextLocation),
not(member(NextLocation, RestOfPath)),
path([NextLocation, CurrentLocation|RestOfPath], Sol).

connect_to(Location1, Location2) :-
connect(Location1, Location2);
connect(Location2, Location1).

inversa([],_).
inversa([Actual|Rest],Sol):-

inversa(Rest,[Actual|Sol]).

y cuando escribo en el shell solveLab. este me muestra _G635, el problema surge en el predicado de invertir, que basicamente deberia hacer lo mismo que hace el predicado reverse, si me pueden ayudar se los agradeceria enormemente.
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
información
Otras secciones de LWP con contenido de Prolog
- Código fuente de Prolog
- Cursos de Prolog
- Temas de Prolog
información
Códigos de Prolog
- Juego Rummy
- Juego Tres en raya
- Problema resuelto

RE:Ayuda codigo prolog

Publicado por Juanx (1 intervención) el 08/11/2010 02:45:22
hola! estuve mirando y el error lo tenes en predicado inversa.

inversa([],[]).

inversa([Actual|Rest],Sol):- inversa(Rest,Sol1), append(Sol1,[Actual],Sol).

con eso funciona!

salududos
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 codigo prolog

Publicado por Juan Felipe (2 intervenciones) el 08/11/2010 19:49:09
Gracias por la ayuda
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 codigo prolog

Publicado por ubaldo (3 intervenciones) el 07/12/2010 03:27:23
ola temgo un problema con un programa no se como iniciarlo la loica que lleva voi iniviando elc urso setrata de un programa que convierta de un numero se sexagesimal a grados centecimales. ojala me pueda auyudar dle dejo mi correo estoi conectado
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