Nescau Gelado 0 Denunciar post Postado Abril 16, 2008 Fala ae pessoal! vim pedir uma ajuda... como faço para calcular a soma da seguinte seqüência: {{1,2,3},{-1,-2,-3},{-1,-3,-4},{10,20,30}} empregando a técnica de acumulação? Alguem pode ajudar...? Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Abril 17, 2008 tenta isso: SOMA_LISTA([],0). SOMA_LISTA(X|Y,TOTAL):- SOMA_LISTA(Y,SUB), TOTAL is SUB+X+SOMA_ELEMENTOS(Y). SOMA_ELEMENTOS([],0). SOMA_ELEMENTOS(A|B,PART) :- SOMA_ELEMENTOS(B,PART2), PART is PART2+A. (Provavelmente eu inverti alguma coisa ou tá faltando algo.Faz 6 meses que não toco em prolog.) Compartilhar este post Link para o post Compartilhar em outros sites
Nescau Gelado 0 Denunciar post Postado Abril 22, 2008 eu to usando isso: somatorio([],Acumulador,Saida):- Saida=Acumulador. somatorio([X|R],ResParcial,Saida):- Acumulador is X+ResPacial, somatorio(R,Acumulador,Saida). com a pergunta: ?- somatorio([1,2,3,4],0,X). resultando na resposta: X = 10 Agora como faço pra somar mais de uma lista? Ex: [1,2,3,4],[3,2,5,6],[7,5,3,2] Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Abril 22, 2008 acho q faz a recursao usando virgula p/ isso. Compartilhar este post Link para o post Compartilhar em outros sites