Prolog - Error !!!

 
Vista:

Error !!!

Publicado por Alain Sanchez (7 intervenciones) el 15/04/2006 22:19:26
Hola, estoy desarrollando una aplicacion en prolog y he hecho un regla para determinar la cantidad de elementos de una lista determinada :
longitud([],0):-!.
longitud([_|L], N):- M is N+1,
longitud(L,M).

la cuestion es que cuando compilo y le hago una pequenna consulta
1 ?- longitud([1,2,3,4,5,6], X).
para ver que tal va la regla me devuelve el siguitne error :
ERROR: Arguments are not sufficiently instantiated
^ Exception: (7) _G378 is _G304+1 ?
2 ?-

Agredecere la ayuda que me puedan brindar al respecto...
Saludos...
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:Error !!!

Publicado por Fernando (1 intervención) el 19/04/2006 03:18:58
Hola. bueno no soy un experto en el tema, pero dos observaciones. la primera un cut siempre debe ir acompañado de un fail. para terminar el proceso segundo, hasta que tengas dominio con el tema de cabeza, cola y recusividad procura usar esta notacion.
longitud([],0).
longitud([X|Y],L1) :- longitud(Y,L2), L1 is L2+1.
% c:/documents and settings/all users/escritorio/prolog/longitud.pl compiled 0.00 sec, -12 bytes
6 ?- longitud([1,2,3,4,5],L1).

L1 = 5

Yes
7 ?- longitud([20,30,40,50],L1).

L1 = 4

Yes
8 ?-

Saludos.
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:Error !!!

Publicado por Alain Sanchez (7 intervenciones) el 19/04/2006 04:41:12
Muchas gracias Fernando por la ayuda brindada.
Saludos... ;-)
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