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)
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
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.

Si vous pouviez m'éclairer sur ce point je vous en remercierait grandement