Aller au contenu

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 + 1 n'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 xx la longueur du côté », « notons SS 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.

a←5a \leftarrow 5

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 a=a+1a=a+1 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

★☆☆Environ 5 min

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
  1. Ligne 1 : a reçoit 5.

  2. Ligne 2 : on calcule 5+2=75+2=7 avec la valeur actuelle de a, puis b reçoit 7.

  3. Ligne 3 : on calcule 7×3=217\times 3=21 avec la valeur actuelle de b, puis a reçoit 21. L'ancienne valeur 5 est perdue.

  4. À la fin, a vaut 21 et b vaut 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

★★☆Environ 8 min

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
  1. Ligne 1 : prix reçoit 80.

  2. Ligne 2 : on calcule 80×1,25=10080\times 1{,}25=100 avec l'ancienne valeur, puis prix reçoit 100.

  3. Ligne 3 : on calcule 100−10=90100-10=90, puis prix reçoit 90.

  4. La variable prix contient 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

★★★Environ 12 min

On part de x = 2 et y = 3, puis on exécute :

x = x + y
y = x - y
x = x - y
  1. Dresse le tableau de suivi.
  2. Quelle est la valeur finale de x ?
  3. 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
  1. Départ : x vaut 2 et y vaut 3.

  2. Ligne 1 : x=2+3=5x=2+3=5. On a x =5=5 et y =3=3.

  3. Ligne 2 : y=5−3=2y=5-3=2 avec la valeur actuelle de x. On a x =5=5 et y =2=2.

  4. Ligne 3 : x=5−2=3x=5-2=3 avec la nouvelle valeur de y. On a x =3=3 et y =2=2.

  5. Au départ, x valait 2 et y valait 3 ; à la fin, x vaut 3 et y vaut 2.

La valeur finale de x est 3. Le programme échange le contenu de x et de y sans variable temporaire : la somme x+yx+y 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.

  1. Parmi ces phrases, laquelle décrit correctement une variable en programmation ?

  2. On exécute a = 4, puis a = a + 1, puis a = a * 2. Quelle est la valeur finale de a ?

  3. On exécute x = 3, puis y = x, puis x = 10. Quelle est la valeur de y à la fin ?

  4. L'instruction a = a + 1 est impossible, car aucun nombre n'est égal à son successeur.

  5. Dans un algorithme écrit en classe de Seconde, quel symbole note l'affectation ?

  6. On exécute a = 7, puis b = a, puis a = 2 * b. Quelle est la valeur finale de a ?

  7. Que se passe-t-il si on exécute b = a + 1 alors que a n'a jamais reçu de valeur ?

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 ?

Une constante est un identifiant associé à une valeur fixe, comme la taille 8×88\times 8 d'un plateau d'échecs.6 Une variable, elle, peut recevoir de nouvelles valeurs pendant le programme.6 En pratique, la différence tient à l'usage : on ne modifie pas une constante, on modifie une variable.

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

  1. Programmes et ressources en mathématiques - voie GT, Éduscol. Consulté le 9 novembre 2026.
  2. 5 TP pour apprendre Python en 2nde, Édubase (Éduscol). Consulté le 9 novembre 2026.
  3. Ressources pédagogiques - Algorithmique programmation seconde, Éduscol. Consulté le 9 novembre 2026.
  4. Activités d'apprentissage - Variables et instructions en algorithmique, Éduscol. Consulté le 9 novembre 2026.
  5. Affectation, Wikipédia. Consulté le 9 novembre 2026.
  6. 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.

Signaler une erreur sur cette page

Je suis en…

Primaire

  • CP Bientôt
  • CE1 Bientôt
  • CE2
  • CM1
  • CM2 Bientôt

Collège

Lycée

Supérieur

  • BTS Bientôt
  • BUT Bientôt
  • Licence Bientôt
  • Prépas Bientôt

Sur cette page