Variables et instruction d’affectation
CHAPITRE 2
20
Malgré sa simplicité, l’utilisation du signe égal peut prêter à confusion, comme nous le verrons un peu plus loin. Nous utiliserons donc un symbole dissymétrique, à savoir « := ».
Ainsi, les deux instructions :
a := b
b := a
apparaîtront clairement comme différentes l’une de l’autre. En effet, la première signifie
« affecter à a la valeur de b », tandis que la seconde signifie « affecter à b la valeur de a ».
Cette dissymétrie est beaucoup moins apparente si l’on utilise le symbole = comme dans :
a = b
b = a
3.3 Rôle
Des instructions telles que :
nombre := 5
b := a
b := a + 3
sont formées de deux parties :
• à gauche du symbole :=, on trouve le nom d’une variable destinée à recevoir une valeur,
• à droite du symbole :=, on trouve « quelque chose » qui précise la valeur en question. Nous
dirons qu’il s’agit d’une expression.
Nous pouvons alors dire qu’une instruction d’affectation possède un double rôle :
• elle détermine la valeur de l’expression située à droite de :=,
• elle range le résultat dans la variable située à gauche.
Bien entendu, lorsqu’on détermine la valeur d’une expression, cela ne modifie pas la valeur
des variables qui apparaissent dans cette expression. Ainsi :
b := a + 3
détermine la valeur de l’expression a + 3, sans modifier la valeur de la variable a.
En revanche, si la variable réceptrice (ici b) comporte déjà une valeur, celle-ci est purement
et simplement remplacée par celle qui vient d’être déterminée.
Précisons cela sur un exemple. Pour chaque varible, nous indiquons quelle est sa valeur après
l’exécution de chacune des instructions mentionnées :
Instruction
a
b
a := 1
1
-
b := a + 3
1
4
a := 3
3
4
CHAPITRE 2
20
Malgré sa simplicité, l’utilisation du signe égal peut prêter à confusion, comme nous le verrons un peu plus loin. Nous utiliserons donc un symbole dissymétrique, à savoir « := ».
Ainsi, les deux instructions :
a := b
b := a
apparaîtront clairement comme différentes l’une de l’autre. En effet, la première signifie
« affecter à a la valeur de b », tandis que la seconde signifie « affecter à b la valeur de a ».
Cette dissymétrie est beaucoup moins apparente si l’on utilise le symbole = comme dans :
a = b
b = a
3.3 Rôle
Des instructions telles que :
nombre := 5
b := a
b := a + 3
sont formées de deux parties :
• à gauche du symbole :=, on trouve le nom d’une variable destinée à recevoir une valeur,
• à droite du symbole :=, on trouve « quelque chose » qui précise la valeur en question. Nous
dirons qu’il s’agit d’une expression.
Nous pouvons alors dire qu’une instruction d’affectation possède un double rôle :
• elle détermine la valeur de l’expression située à droite de :=,
• elle range le résultat dans la variable située à gauche.
Bien entendu, lorsqu’on détermine la valeur d’une expression, cela ne modifie pas la valeur
des variables qui apparaissent dans cette expression. Ainsi :
b := a + 3
détermine la valeur de l’expression a + 3, sans modifier la valeur de la variable a.
En revanche, si la variable réceptrice (ici b) comporte déjà une valeur, celle-ci est purement
et simplement remplacée par celle qui vient d’être déterminée.
Précisons cela sur un exemple. Pour chaque varible, nous indiquons quelle est sa valeur après
l’exécution de chacune des instructions mentionnées :
Instruction
a
b
a := 1
1
-
b := a + 3
1
4
a := 3
3
4
