Passage par valeur des paramètres
Dans le programme précédent, lorsque l'on passe des variables aux procédures,
les procédures travaillent avec une copie de la variable originale.
La valeur de la variable originale qui est passée à la procédure n'est pas
changée.
La copie que fait la procédure peut être modifiée par la procédure, mais cela n'affecte pas la valeur de l'original. Lorsque les procédures travaillent avec des copies des variables, on appelle cela un passage par valeur.
Soit l'exemple suivant,
program Value_Parameters (output);
procedure Nochange ( letter : char; number : integer );
begin
writeln( letter );
writeln( number );
letter := 'A'; {cela ne modifie pas mainletter}
number := 32; {cela ne modifie pas mainnumber}
writeln( letter );
writeln( number )
end;
var mainletter : char; {Ces variables sont connues seulement à partir d'ici}
mainnumber : integer;
begin
mainletter := 'B';
mainnumber := 12;
writeln( mainletter );
writeln( mainnumber );
Nochange( mainletter, mainnumber );
writeln( mainletter );
writeln( mainnumber )
end.