Citation:
appel de Calcul(3): 3 est-il supérieur à 0 ? oui -> on assigne 3 + Calcul(2) à total
il faut donc exécuter Calcul(2)
appel de Calcul(2): 2 est-il supérieur à 0 ? oui -> on assigne 2 + Calcul(1) à total
il faut donc exécuter Calcul(1)
appel de Calcul(1): 1 est-il supérieur à 0 ? oui -> on assigne 1 + Calcul(0) à total
il faut donc exécuter Calcul(0)
appel de Calcul(0): 0 est-il supérieur à 0 ? non -> on renvoie total (donc 0 vu que c'est la valeur par défaut d'un Integer)
on a fini Calcul(0) on retourne à l'appelant soit Calcul(1) ; total se voit donc assigner 1 + 0 ' = 0 et on renvoie total
on a fini Calcul(1) on retourne à l'appelant soit Calcul(2) ; total se voit donc assigner 2 + 1 ' = 3 et on renvoie total
on a fini Calcul(2) on retourne à l'appelant soit Calcul(3) ; total se voit donc assigner 3 + 3 ' = 6 et on renvoie total
on a fini Calcul(3) on retourne à l'appelant (par exemple le Main) ; et si l'on récupère le résultat de Calcul(3) dans une variable, celle-ci vaudra donc 6