Aller au contenu

Mathématiques · CAPCAP

Variables et instructions : exercices corrigés de CAP

Publié le 9 novembre 2026 · Mis à jour le 9 novembre 2026 · Signaler une erreur

L'essentiel

  • Une variable associe un nom à une valeur ; cette valeur peut changer pendant l'exécution du programme 3.
  • Un algorithme est une suite finie d'instructions élémentaires qui résout un problème 2.
  • Pour suivre un programme, exécute les lignes dans l'ordre et note la valeur de chaque variable après chaque instruction.
  • Le nom d'une variable ne commence jamais par un chiffre ; choisis un nom qui dit ce qu'elle contient 3 2.
  • Avec for i in range(5), la variable i prend les valeurs de 0 à 4 1.

Comment utiliser ces exercices

Ces exercices te font manipuler les variables et les instructions comme on le fait en CAP : tu lis un petit programme, tu devines ce qu'il affiche, puis tu écris ou corriges des lignes pour résoudre un problème de la vie professionnelle (devis, facture, surface à peindre, paie). Ils vont du plus simple au plus délicat. Prends une feuille, fais chaque exercice sans regarder la correction, puis compare.

Rappel : lire et écrire des instructions

Un programme simple enchaîne trois sortes de gestes : donner une valeur à une variable (affectation), calculer à partir de variables, et afficher un résultat avec print. L'ordinateur lit de haut en bas, une ligne après l'autre.

Une variable peut contenir un nombre entier, mais aussi d'autres types de valeurs (un nombre décimal, un texte…). Il est possible de convertir une valeur d'un type vers un autre 2. Dans ces exercices, nous utilisons surtout des nombres.

Quand une action doit être répétée, on utilise une boucle bornée. L'instruction for i in range(5) répète son bloc en faisant prendre à i les valeurs de 0 à 4 1. Les lignes à répéter sont décalées vers la droite (indentation) : ce décalage indique ce qui fait partie de la boucle 1.

Les exercices

Exercice 1 Suivre les valeurs d'un programme

★☆☆Environ 5 min

On exécute le programme suivant :

a = 5
b = a + 3
a = b * 2
print(a)

Quelle valeur est affichée ?

Indice 1

Fais un tableau avec deux colonnes : a et b.

Indice 2

À la ligne 3, utilise la valeur de b calculée à la ligne 2.

Voir la correction pas à pas
  1. Ligne 1 : a reçoit 5. On a a = 5.

  2. Ligne 2 : l'ordinateur calcule 5+3=85 + 3 = 8 et range 8 dans b. On a a = 5 et b = 8.

  3. Ligne 3 : l'ordinateur calcule 8×2=168 \times 2 = 16 avec la valeur actuelle de b, puis range 16 dans a. L'ancienne valeur 5 de a est perdue.

  4. Ligne 4 : print(a) affiche la valeur actuelle de a, donc 16.

Le programme affiche 16. Retiens qu'une variable ne garde que sa dernière valeur : a valait 5, puis 16.

Exercice 2 Prix après remise

★☆☆Environ 6 min

Dans un magasin d'outillage, une perceuse coûte 40 €. Un programme calcule le prix après une remise de 15 % :

prix = 40
remise = 0.15
montant_remise = prix * remise
prix_final = prix - montant_remise
print(prix_final)

Quel prix est affiché, en euros ?

Indice 1

Calcule d'abord la variable montant_remise.

Indice 2

Le prix final est le prix de départ moins la remise.

Voir la correction pas à pas
  1. Ligne 1 : prix vaut 40.

  2. Ligne 2 : remise vaut 0,15, ce qui correspond à 15 %.

  3. Ligne 3 : montant_remise reçoit 40×0,15=640 \times 0{,}15 = 6.

  4. Ligne 4 : prix_final reçoit 40−6=3440 - 6 = 34.

  5. Ligne 5 : le programme affiche la valeur de prix_final, soit 34 euros (Python écrit 34.0, car le calcul utilise un nombre décimal).

Le prix affiché est 34 €. Remarque que les noms prix, remise et prix_final rendent le programme lisible sans commentaire 2.

Exercice 3 Échanger deux valeurs

★★☆Environ 8 min

Deux variables contiennent x = 7 et y = 12. On veut échanger leurs valeurs : à la fin, x doit valoir 12 et y doit valoir 7.

  1. Explique pourquoi les deux lignes x = y puis y = x ne fonctionnent pas.
  2. Complète le programme avec une variable temp :
x = 7
y = 12
temp = ...
x = ...
y = ...
print(x - y)
  1. Quelle valeur le print affiche-t-il une fois l'échange réussi ?
Indice 1

Que vaut x après la ligne x = y ? Que devient l'ancienne valeur de x ?

Indice 2

Il faut mettre une valeur « à l'abri » avant de l'écraser.

Voir la correction pas à pas
  1. Avec x = y, x reçoit 12 : l'ancienne valeur 7 est perdue. La ligne y = x recopie alors 12 dans y, donc les deux variables valent 12.

  2. On met d'abord 7 à l'abri : temp = x (temp vaut 7).

  3. On écrase x : x = y (x vaut 12).

  4. On redonne à y la valeur gardée : y = temp (y vaut 7).

  5. L'affichage est x−y=12−7=5x - y = 12 - 7 = 5.

Le programme affiche 5. La variable intermédiaire sert de « boîte de passage » : sans elle, une valeur est écrasée avant d'avoir été copiée.

Exercice 4 Choisir de bons noms de variables

★☆☆Environ 6 min

Un élève propose ces noms de variables pour un programme de calcul de devis :

2prix ; prix2 ; total_ht ; 3fois ; remise_client.

  1. Lesquels sont refusés parce qu'ils commencent par un chiffre ?
  2. Parmi les noms acceptés, lequel est le moins clair pour quelqu'un qui lit le programme ? Propose un meilleur nom.
  3. Pourquoi vaut-il mieux écrire surface que s ?
Indice 1

Regarde uniquement le tout premier caractère de chaque nom.

Indice 2

Un bon nom dit ce que la variable contient.

Voir la correction pas à pas
  1. Le premier caractère d'un nom ne peut pas être un chiffre 3. Sont donc refusés : 2prix et 3fois.

  2. Les noms prix2, total_ht et remise_client commencent par une lettre : ils sont acceptés. Le caractère « _ » placé au début ou entre des lettres sert aussi à écrire un nom 3.

  3. Le moins clair est prix2 : on ne sait pas s'il s'agit d'un second prix, d'un prix doublé, etc. On peut écrire prix_unitaire ou prix_apres_remise selon ce qu'il contient.

  4. Un nom évocateur comme surface facilite la lecture du programme, car on comprend ce que contient la variable sans chercher 2.

Deux règles à garder : jamais de chiffre en premier caractère, et un nom qui explique le contenu. Un bon nom évite beaucoup d'erreurs de lecture.

Exercice 5 Un compteur qui s'incrémente

★☆☆Environ 6 min

Un atelier compte les pièces fabriquées avec ce programme :

pieces = 0
pieces = pieces + 1
pieces = pieces + 1
pieces = pieces + 1
print(pieces)

Que s'affiche-t-il ? Que fait l'instruction pieces = pieces + 1 ?

Indice 1

Lis l'instruction en deux temps : calcul à droite, rangement à gauche.

Indice 2

Suis la valeur de pieces ligne après ligne.

Voir la correction pas à pas
  1. Ligne 1 : pieces vaut 0.

  2. Ligne 2 : l'ordinateur calcule 0+1=10 + 1 = 1 et range 1 dans pieces.

  3. Ligne 3 : il calcule 1+1=21 + 1 = 2 et range 2 dans pieces.

  4. Ligne 4 : il calcule 2+1=32 + 1 = 3 et range 3 dans pieces.

  5. Ligne 5 : le programme affiche 3.

Le programme affiche 3. Augmenter une variable de 1 s'appelle l'incrémentation 1 : la variable reçoit sa valeur précédente plus 1.

Exercice 6 Surface à peindre et coût

★★☆Environ 10 min

Un peintre doit repeindre un mur de 8 m de long et de 2,5 m de haut. La peinture coûte 12,50 € le mètre carré. Il écrit :

longueur = 8
hauteur = 2.5
prix_m2 = 12.5
surface = longueur * hauteur
cout = surface * prix_m2
print(cout)
  1. Quelle est la valeur de surface ?
  2. Quel coût est affiché, en euros ?
Indice 1

La surface d'un rectangle est longueur multipliée par hauteur.

Indice 2

Le coût est la surface multipliée par le prix d'un mètre carré.

Voir la correction pas à pas
  1. Les trois premières lignes rangent 8, 2,5 et 12,5 dans les variables.

  2. surface reçoit 8×2,5=208 \times 2{,}5 = 20, en m².

  3. cout reçoit 20×12,5=25020 \times 12{,}5 = 250, en euros.

  4. Le print affiche la valeur de cout.

La surface vaut 20 m² et le coût affiché est 250 €. Si le mur changeait, il suffirait de modifier les deux premières lignes : c'est tout l'intérêt de ranger les données dans des variables.

Exercice 7 Prévoir l'affichage d'une boucle

★★☆Environ 10 min

On exécute :

for i in range(4):
    print(i * 2)
  1. Quelles valeurs sont affichées, dans l'ordre ?
  2. Quelle est la somme de toutes les valeurs affichées ?
  3. Que se passerait-il si la ligne print n'était pas décalée vers la droite ?
Indice 1

Avec range(4), la variable i commence à 0.

Indice 2

Calcule i * 2 pour chaque valeur de i.

Voir la correction pas à pas
  1. Avec range(4), la variable i prend successivement 0, 1, 2 et 3. La logique est la même qu'avec range(5), où i va de 0 à 4 1.

  2. Pour chaque valeur, le programme affiche i * 2 : 0, 2, 4 puis 6.

  3. La somme est 0+2+4+6=120 + 2 + 4 + 6 = 12.

  4. Le décalage (indentation) de print indique que cette ligne fait partie de la boucle 1. Sans décalage, elle sortirait de la boucle : Python signalerait une erreur, car la boucle n'aurait plus de contenu.

Les valeurs affichées sont 0, 2, 4, 6 et leur somme est 12. Pour ne pas te tromper, écris toujours la liste des valeurs de i avant de calculer.

Exercice 8 Facture avec TVA et acompte

★★★Environ 12 min

Un artisan établit une facture pour des travaux de 250 € hors taxes. La TVA est de 20 %. Le client verse un acompte de 30 % du montant toutes taxes comprises (TTC). L'artisan écrit :

prix_ht = 250
taux_tva = 20
prix_ttc = prix_ht * (1 + taux_tva / 100)
acompte = prix_ttc * 0.30
reste = prix_ttc - acompte
print(reste)
  1. Donne la valeur de chaque variable après exécution.
  2. Quel montant reste à payer, en euros ?
Indice 1

Calcule prix_ttc en commençant par la division taux_tva / 100.

Indice 2

Le reste à payer est le TTC moins l'acompte.

Voir la correction pas à pas
  1. prix_ht vaut 250 et taux_tva vaut 20.

  2. Dans prix_ttc, on calcule d'abord 20/100=0,220 / 100 = 0{,}2, puis 1+0,2=1,21 + 0{,}2 = 1{,}2, enfin 250×1,2=300250 \times 1{,}2 = 300. Donc prix_ttc vaut 300 €.

  3. acompte reçoit 300×0,30=90300 \times 0{,}30 = 90 €.

  4. reste reçoit 300−90=210300 - 90 = 210 €.

  5. Le print affiche 210.0, c'est-à-dire 210 €.

Valeurs finales : prix_ttc = 300 €, acompte = 90 €, reste = 210 €. Vérification rapide : payer 70 % du TTC revient à calculer 300×0,7=210300 \times 0{,}7 = 210.

Exercice 9 Calculer une paie avec heures supplémentaires

★★★Environ 14 min

Un salarié est payé 12 € de l'heure. Il a travaillé 35 heures normales et 4 heures supplémentaires. Chaque heure supplémentaire est payée avec une majoration de 25 %.

  1. Écris un programme en Python qui utilise les variables taux, heures_normales, heures_sup, paie_normale, paie_sup et total.
  2. Quel total est affiché, en euros ?
Indice 1

Une heure supplémentaire est payée 12×1,2512 \times 1{,}25.

Indice 2

Le total est la somme des deux paies.

Voir la correction pas à pas
  1. Programme possible :

    taux = 12
    heures_normales = 35
    heures_sup = 4
    paie_normale = heures_normales * taux
    paie_sup = heures_sup * taux * 1.25
    total = paie_normale + paie_sup
    print(total)
    
  2. paie_normale reçoit 35×12=42035 \times 12 = 420 €.

  3. paie_sup reçoit 4×12×1,25=604 \times 12 \times 1{,}25 = 60 €.

  4. total reçoit 420+60=480420 + 60 = 480 €.

  5. Le programme affiche 480.0, c'est-à-dire 480 €.

Le total affiché est 480 €. Avec des variables bien nommées, chaque ligne correspond à une étape du raisonnement et le programme se relit sans effort.

Les questions qu'on se pose

Pourquoi x = x + 1 n'est-il pas une erreur ?

Parce que le signe = ne veut pas dire « est égal à » comme en mathématiques. C'est une affectation : l'ordinateur calcule d'abord ce qui est à droite avec l'ancienne valeur de x, puis range le résultat dans x. Si x vaut 4 avant la ligne, il vaut 5 après. Une variable peut en effet changer de valeur au cours du programme 3.

Dans une boucle for i in range(5), pourquoi i commence-t-il à 0 ?

Python numérote à partir de 0. L'instruction for i in range(5) fait prendre à i les valeurs de 0 à 4 1 : cela fait cinq tours, mais la dernière valeur est 4 et non 5. Si tu veux compter de 1 à 5, tu dois ajuster ton calcul, par exemple en utilisant i + 1.

Comment ne pas me tromper quand je dois prévoir ce qu'affiche un programme ?

Construis un tableau de suivi : une colonne par variable, une ligne par instruction exécutée. Complète-le ligne après ligne, sans sauter d'étape, et ne lis le print qu'à la fin. Cette méthode évite l'erreur classique qui consiste à utiliser une valeur de variable déjà remplacée.

Sources

  1. Algorithmique et programmation - Programme CAP mathématiques, Éduscol. Consulté le 9 novembre 2026.
  2. Repères pédagogiques - Variables et affectation en algorithmique, Académie de Lille. Consulté le 9 novembre 2026.
  3. Variable (informatique), Wikipédia. Consulté le 9 novembre 2026.
  4. Jeu d'instructions, 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