la récursivité en prolog (sur les listes)

quelqu'un peut s'il vous plaît aidez-moi seulement w/notions de base sur la réalisation récursive prologue de fonctions..

append([],X,X). % base
append([X|Y],Z,[X|W]) :- append(Y,Z,W). %recursive

% base case
addup([], 0). % sum of the empty list of numbers is zero

% recursive case: if the base-case rule does not match, this one must:
addup([FirstNumber | RestOfList], Total) :-
    addup(RestOfList, TotalOfRest),   % add up the numbers in RestOfList
    Total is FirstNumber + TotalOfRest.

Quelqu'un peut m'expliquer ce soit en anglais ou en C/C++/Java que ce soit.. comment les étapes. En fait je préfère voir ce genre de choses à ajouter ou inverse.. je suis la plupart du temps que manipuler des listes de variables au lieu des nombres entiers.. (j'ai essayé de travailler grâce à ajouter comme 10 fois.. pouah).

OriginalL'auteur DJPlayer | 2011-04-28