Algorithmique impérative/Assignation
L'assignation est une instruction qui consiste à inscrire dans une variable une valeur calculée depuis une expression. Attention : la nouvelle valeur affectée « écrase » la précédente.
C'est donc la deuxième façon que nous apprenons de donner une valeur à une variable. La première était d'utiliser l'instruction codice_1 qui permet de demander la valeur à l'utilisateur. On peut dire que l'instruction codice_1 est une forme particulière d'affectation.
Pour effectuer une assignation, on utilise l'instruction codice_3. On précise entre parenthèses la variable affectée ainsi que l'expression de la valeur de l'affectation.
On pourra également noter l'affectation codice_4 ou codice_5. Ce symbole peut être énoncé « prend pour valeur ». Attention toutefois à ne pas la noter codice_6 bien que certains langages utilisent cette notation. Ce serait un dangereux raccourci de pensée avec les mathématiques (voir la mise en garde ci-dessous).
Un exemple : voici notre lexique
 Lexique
 n : entier
On assigne n :
 Assigner(n, 12)
À partir de maintenant la variable n vaut 12. Ainsi, l'instruction 
 Afficher(n)
provoquera l'affichage suivant :
 12
Dans la suite du cours, nous utiliserons la notation codice_4, moins lourde.
Mise en garde sur le parallèle avec les mathématiques.
Au moment de l'affectation, la valeur affecté est évaluée, c'est-à-dire calculée, les constantes et les variables sont donc remplacées par leurs valeurs respectives.
Exemple : dans le lexique nous avons :
 Lexique
 a,b,c : entiers
 a←1
 b←2
 c←a+b (* équivaut à c←2+1 et à c←3 *)
 afficher(c) (* affiche 3 *)
 b←5
 afficher(c) (* affiche toujours 3 et non 6 *)
c conserve sa valeur tant qu'elle n'a pas été affectée, le changement de la valeur de b n'affecte pas la valeur de c.
Certains seraient tentés de noter l'affectation avec l'opérateur "=", elle est d'ailleurs notée ainsi dans le langage de programmation C. C'est pourtant une erreur vis-à-vis du sens mathématique de ce symbole. En effet, cette expression :
 x = x+1
est tout à fait correcte en informatique si on considère l'affectation notée ainsi ; cela revient à incrémenter x. Mais du point de vue mathématique c'est une aberration. Voyons cela en appliquant une résolution d'équation du premier degré :
formula_1
par soustraction de x dans les deux membres :
formula_2
donc
formula_3
En revanche, l'affectation notée := est valide en mathématique comme en informatique. En prenant cette convention, tout le monde est content...