Bonjour,
J'ai commencé a coder en pascal il y a peu, et j'ai du mal a comprendre ceci : (voici le code pour l'exemple)
La fonction calcule bien la factorielle d'un nombre comme je le souhaite, mais je ne comprend pas pourquoi quand je demande la factorielle de 0 il n'exécute pas la boucle qui suit malgré le fait que je n'ai pas de ELSE apres mon IF. Je me suis dit que des que la fonction recevait une valeur pour result elle s'arrêtait mais si c'était le cas elle devrait s'arreter lors du premier passage dans la boucle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function factorielle(x: integer): integer; var compteur, dernier_nombre: integer; begin dernier_nombre:=1; if(x=0) then result:=1; for compteur:=1 to x do begin result:=compteur*dernier_nombre; dernier_nombre:=result end
Si vous pouviez m'éclairer sur ce point je vous en remercierait grandement![]()
Partager