Bases de la programmation (trace de pseudo-code)
Quelle est la valeur de retour de la fonction s suivante appelée sous la forme s(7) ?
○integer: s(integer: n)
if (n ≦ 0)
return 0
endif
return n + s(n − 2)
- A15
- B16
- C28
Afficher la réponse et l'explication
Réponse : B. 16
s(7) appelle s(5) pour calculer 7 + s(5), s(5) appelle s(3) pour 5 + s(3), s(3) appelle s(1) pour 3 + s(1), et s(1) appelle s(−1) pour 1 + s(−1) ; s(−1) renvoie 0 car n ≦ 0. Les valeurs s'additionnent au retour des appels, ce qui donne s(7) = 7 + 5 + 3 + 1 + 0 = 16. C'est la somme des entiers impairs positifs jusqu'à 7.
Continuer : 9 autres questions sur Bases de la programmation (trace de pseudo-code)