Mathématiques · Seconde
Variables et affectations : cours de Seconde
Publié le 9 novembre 2026 · Mis à jour le 9 novembre 2026 · Signaler une erreur
L'essentiel
- Une variable est une case de la mémoire qui porte un nom (l'identifiant) et contient une valeur ; dans la plupart des langages, cette valeur peut changer pendant l'exécution.6
- Une affectation range une valeur dans une variable ; dans un algorithme de Seconde, on la note avec la flèche ←, et en Python avec le signe =.53
- Une instruction d'affectation se lit dans un ordre précis : on calcule d'abord ce qui est à droite, avec les valeurs actuelles, puis on range le résultat dans la variable de gauche.
- Une instruction comme
a = a + 1n'est pas une équation : elle signifie « nouvelle valeur de a = ancienne valeur de a, plus 1 ». - Pour échanger deux valeurs, il faut une variable temporaire ; pour comprendre un programme, on dresse un tableau de suivi des variables, ligne après ligne.
Pourquoi a-t-on besoin de variables ?
Quand tu résous un problème de mathématiques, tu donnes souvent un nom aux nombres : « soit la longueur du côté », « notons l'aire ». Un programme fonctionne de la même manière, avec une différence de taille : l'ordinateur doit mémoriser des informations pendant qu'il travaille, les retrouver plus tard, et parfois les modifier. Les variables sont l'outil qui permet cela.6
Ce chapitre ouvre la partie « Algorithmique et programmation » de la classe de Seconde. Le programme de cette classe fait travailler les notions de variable, d'affectation, d'instruction conditionnelle, de boucle, puis de fonction et de liste, en s'appuyant sur le langage Python.3 Les variables et les affectations sont donc le point de départ : sans elles, impossible de comprendre ce qui vient ensuite.
À la fin de ce cours, tu sauras :
- expliquer ce qu'est une variable et ce qu'elle contient ;
- écrire une affectation en notation d'algorithme et en Python ;
- prévoir la valeur d'une variable après une suite d'instructions ;
- éviter les erreurs classiques, comme confondre affectation et égalité ;
- échanger le contenu de deux variables.
Qu'est-ce qu'une variable ?
Pour te représenter la chose, imagine une étagère de boîtes. Chaque boîte porte une étiquette (le nom) et contient un objet (la valeur). Quand le programme a besoin de l'objet, il cherche la boîte grâce à son étiquette. Quand il veut changer l'objet, il remplace le contenu de la boîte, mais l'étiquette reste la même.
Cette dernière idée est la plus importante. Dans la plupart des langages, et notamment dans les plus courants, la valeur d'une variable peut changer au cours du temps.6 C'est justement ce qui distingue une variable d'une valeur écrite directement dans le programme : le nom reste, le contenu évolue. Certains langages, utilisés dans des styles de programmation particuliers, fonctionnent au contraire avec des valeurs figées une fois posées,6 mais ce n'est pas le cas de Python, que tu utilises en Seconde.
L'affectation : ranger une valeur dans une variable
Dans un algorithme écrit en classe de Seconde, on utilise le symbole ← pour noter l'affectation.34 La flèche rappelle le sens de l'opération : la valeur située à droite va vers la variable située à gauche.
Cette ligne se lit « a reçoit 5 » ou « on affecte 5 à a ». Après son exécution, la variable a existe et contient 5.
En Python, la même instruction s'écrit avec le signe égal :
a = 5
Attention, ce signe = ne pose pas une égalité à vérifier. C'est un ordre donné à l'ordinateur : « range 5 dans a ». Nous reviendrons longuement sur ce piège, car c'est la source d'erreur la plus fréquente.
Quand on donne une première valeur à une variable, on parle d'initialisation. Certains langages exigent de déclarer une variable, parfois avec son type, avant de s'en servir ; d'autres, dont la plupart des langages de script, la créent au moment de sa première affectation.6 Python fait partie de la seconde famille : tu n'as rien à déclarer avant, il suffit d'écrire a = 5 pour que a existe.
Suivre l'exécution : l'ordre des instructions et le tableau de suivi
Un programme s'exécute ligne par ligne, de haut en bas. L'ordre est donc capital : changer deux lignes de place change le résultat. Pour ne pas se tromper, on construit un tableau de suivi (ou tableau d'états) : une colonne par variable, une ligne par instruction exécutée, et on écrit la nouvelle valeur à chaque étape.
Quand la variable apparaît des deux côtés : a = a + 1
Regarde cette ligne :
a = a + 1
Si tu la lis comme une égalité mathématique, elle est absurde : aucun nombre n'est égal à son successeur, l'équation n'a pas de solution. Pourtant, en programmation, cette ligne est parfaitement correcte et extrêmement courante. La raison tient à la lecture « droite vers gauche » vue plus haut.
Cette écriture sert à construire deux outils très utilisés par la suite, surtout dans les boucles :
- le compteur, qui augmente de 1 à chaque étape :
compteur = compteur + 1; - l'accumulateur, qui additionne peu à peu des valeurs :
total = total + prix.
Voici un accumulateur en action :
total = 0
total = total + 8
total = total + 5
total = total + 12
| Après la ligne | total |
|---|---|
| 1 | 0 |
| 2 | 8 |
| 3 | 13 |
| 4 | 25 |
Le point de départ, total = 0, est essentiel : sans cette initialisation, la ligne 2 chercherait à lire une variable qui n'existe pas encore.
Échanger les valeurs de deux variables
Un problème classique : on a deux variables a et b, et l'on veut que a reçoive la valeur de b et inversement. La première idée vient vite, mais elle est fausse.
Les valeurs et les noms : bien choisir
Une variable ne contient pas que des nombres. Elle peut recevoir un entier, un nombre décimal, du texte, une valeur vrai/faux, et plus tard des listes, que le programme de Seconde introduit aussi.3 Chaque valeur a un type, qui détermine les opérations possibles.
| Valeur | Type | Exemple d'affectation |
|---|---|---|
| nombre entier | entier | age = 16 |
| nombre à virgule | flottant | taille = 1.75 |
| texte, entre guillemets | chaîne de caractères | prenom = "Lina" |
| vrai ou faux | booléen | majeur = False |
Une même variable peut, en Python, recevoir successivement des valeurs de types différents, mais ce n'est pas une bonne habitude : le programme devient difficile à lire.
Exercices corrigés
Exercice 1 Suivre trois affectations
On exécute les instructions suivantes :
a = 5
b = a + 2
a = b * 3
Quelle est la valeur de a à la fin ?
Indice 1
Dresse un tableau de suivi avec une colonne pour a et une pour b.
Indice 2
Dans chaque affectation, calcule d'abord la droite avec les valeurs actuelles.
Voir la correction pas à pas
Ligne 1 :
areçoit 5.Ligne 2 : on calcule avec la valeur actuelle de
a, puisbreçoit 7.Ligne 3 : on calcule avec la valeur actuelle de
b, puisareçoit 21. L'ancienne valeur 5 est perdue.À la fin,
avaut 21 etbvaut 7.
La variable a vaut 21 à la fin. Le piège était de garder 5 en tête pour a : la ligne 3 remplace son contenu.
Exercice 2 Prix après deux opérations
Un article coûte 80 euros. On exécute :
prix = 80
prix = prix * 1.25
prix = prix - 10
Quelle valeur contient prix à la fin, en euros ?
Indice 1
Dans prix = prix * 1.25, on lit d'abord l'ancienne valeur de prix.
Indice 2
Multiplier par 1,25 revient à ajouter 25 %.
Voir la correction pas à pas
Ligne 1 :
prixreçoit 80.Ligne 2 : on calcule avec l'ancienne valeur, puis
prixreçoit 100.Ligne 3 : on calcule , puis
prixreçoit 90.La variable
prixcontient donc 90 à la fin du programme.
À la fin, prix vaut 90 euros. Une même variable est passée par trois valeurs successives : 80, 100, puis 90. Seule la dernière est conservée.
Exercice 3 Échanger sans variable supplémentaire
On part de x = 2 et y = 3, puis on exécute :
x = x + y
y = x - y
x = x - y
- Dresse le tableau de suivi.
- Quelle est la valeur finale de
x? - Que réalise ce programme ?
Indice 1
Recalcule les deux variables après chaque ligne, sans en oublier une.
Indice 2
Compare les valeurs de départ et d'arrivée de x et de y.
Voir la correction pas à pas
Départ :
xvaut 2 etyvaut 3.Ligne 1 : . On a
xety.Ligne 2 : avec la valeur actuelle de
x. On axety.Ligne 3 : avec la nouvelle valeur de
y. On axety.Au départ,
xvalait 2 etyvalait 3 ; à la fin,xvaut 3 etyvaut 2.
La valeur finale de x est 3. Le programme échange le contenu de x et de y sans variable temporaire : la somme garde la trace des deux valeurs pendant l'opération. Cette astuce ne marche qu'avec des nombres ; la variable temporaire reste la méthode générale.
Quiz
7 questions · correction immédiate · ton score reste sur ton appareil.
-
Une variable est une case mémoire portant un nom et contenant une valeur, qui peut évoluer au fil du programme.6 La deuxième réponse est la tentation venue des maths : on ne cherche pas la variable, on la remplit. La troisième décrit plutôt une constante, et la quatrième confond mémoire et affichage.
-
Après la première ligne,
avaut 4. La deuxième calcule . La troisième calcule . L'erreur tentante est de multiplier 4 par 2 en oubliant queaa déjà été modifiée : chaque ligne utilise la valeur obtenue à la ligne précédente. -
À la deuxième ligne, la valeur 3 est copiée dans
y. Ensuite, changerxne touche plusy, qui garde 3. La réponse 10 suppose à tort queyreste liée àx; 13 et 7 viennent de calculs sans rapport avec les instructions. -
L'affirmation est fausse. Le signe
=de Python ne pose pas une égalité : il ordonne d'affecter. On calcule le membre de droite avec l'ancienne valeur dea, puis on range le résultat dansa. Seule la lecture en équation mathématique rend la ligne absurde. -
Après
b = a, la variablebcontient 7. La dernière ligne calcule et le range dansa. La réponse 7 oublie la dernière affectation ; 2 vient d'une lecture de2 * bcomme un simple « 2 ». Quant à 9, c'est une somme sans rapport avec le programme. -
Une variable doit avoir été affectée avant d'être lue. Python ne remplace jamais une variable absente par 0 : il affiche une erreur qui nomme la variable inconnue. La réponse «
avaut 0 » est une idée répandue, mais elle est fausse en Python.
Les questions qu'on se pose
Pourquoi écrit-on a = a + 1 alors que ce n'est pas possible en maths ?
Parce que le signe = de Python n'exprime pas une égalité : il donne un ordre. L'ordinateur calcule le membre de droite avec la valeur actuelle de a, puis range le résultat dans a. Les algorithmes de Seconde notent d'ailleurs l'affectation avec une flèche ←,3 ce qui évite cette confusion. Lis toujours : « nouvelle valeur = ancienne valeur + 1 ».
Quelle différence entre une variable et une constante ?
Comment être sûr de ne pas me tromper dans un programme à plusieurs lignes ?
Dresse un tableau de suivi : une colonne par variable, une ligne par instruction. À chaque ligne, recalcule uniquement la variable concernée et recopie les autres. Cette méthode évite presque toutes les erreurs et marche à l'écrit comme au contrôle. Tu peux ensuite vérifier en exécutant le programme dans un éditeur Python.
Est-ce que l'ordre des lignes a vraiment de l'importance ?
Oui, énormément. Un programme s'exécute de haut en bas. Si tu inverses a = 5 et b = a + 2, la seconde ligne essaie de lire a avant qu'elle existe, et Python signale une erreur. Même sans erreur, permuter deux affectations change souvent les valeurs finales.
Que devient l'ancienne valeur d'une variable quand je lui en affecte une nouvelle ?
Elle est perdue. La variable ne garde pas d'historique : seule la dernière valeur affectée est conservée. Si tu as besoin de l'ancienne valeur plus tard, copie-la d'abord dans une autre variable, comme dans l'échange avec une variable temporaire.
Sources
- Programmes et ressources en mathématiques - voie GT, Éduscol. Consulté le 9 novembre 2026.
- 5 TP pour apprendre Python en 2nde, Édubase (Éduscol). Consulté le 9 novembre 2026.
- Ressources pédagogiques - Algorithmique programmation seconde, Éduscol. Consulté le 9 novembre 2026.
- Activités d'apprentissage - Variables et instructions en algorithmique, Éduscol. Consulté le 9 novembre 2026.
- Affectation, Wikipédia. Consulté le 9 novembre 2026.
- Variable (informatique), Wikipédia. Consulté le 9 novembre 2026.
Les numéros dans le texte renvoient à ces sources. Une source qui ne dit pas ce qu'on lui fait dire ? Signale-le.