Prolog - Sumar Listas

 
Vista:

Sumar Listas

Publicado por Mayra (1 intervención) el 20/10/2006 20:31:45
Tengo un programa en prolog que suma los elementos de dos listas, el problema es que al desplegar la respuesta me salen los resultados previos al resultado final.
Que puedo hacer para que solo me aparesca el resultado final???
Espero que alguien me pueda ayudar...de antemano gracias!!!

domains
num=integer
lnum=integer*
predicates
sumalista(num,lnum).
clauses
sumalista(0,[ ]).
sumalista(S,[Cab|Cola):- sumalista(N,Cola), S=Cab+N, write("La suma es:",S).

Goal: sumalista(Y,[2,4,6]).

Me despliega La suma es:6 Lasuma es:10, La suma es:12 Y=12

Nota: Quiero que me despliegue solamente

La suma es: Y=12
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:Sumar Listas

Publicado por Marta (3 intervenciones) el 25/10/2006 23:38:08
Te escribe los resultados parciales porque pusiste el write dentro de la recursividad.
Debería estar en el final.
Chau, espero que te sirva.
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:Sumar Listas

Publicado por Ross (1 intervención) el 07/11/2006 23:04:19
domains
lnum=integer*
num=integer
predicates
suma_lista(num,lnum)

clauses
suma_lista(0,[]).
suma_lista(S,[H|T]):-suma_lista(N,T),S=H+N.
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:Sumar Listas

Publicado por Lucía!!! (1 intervención) el 05/10/2009 04:28:28
Hallo!!..q tal.. bueno noc.. si esto te sirva.. ;)

suma([],0).
suma([X|Xs],C):-suma(Xs,C1),C is C1+X.
sumadelista(X):-suma(X,C),write('La suma es : ';C).
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