Algorithmique : variables, boucles et programmes de calculcours et exercices corrigés de maths 3e
« Choisis un nombre, multiplie-le par 4, ajoute 1 » : voilà un programme. Mais c'est aussi une expression littérale, , et les deux disent rigoureusement la même chose. Tout ce chapitre tient dans ce va-et-vient — exécuter une suite de gestes sur un nombre précis, ou l'écrire une fois pour toutes avec une lettre. La machine fait le premier ; l'algèbre fait le second.
À quoi ça sert : Algorithmique : variables, boucles et programmes de calcul
Un tableur est un algorithme déguisé : chaque cellule contient un programme de calcul, et les autres cellules lui fournissent ses variables. Un jeu vidéo empile des conditions — si la vie tombe à zéro, alors la partie s'arrête — et des boucles qui redessinent l'écran soixante fois par seconde. Mais l'usage le plus proche du collège est le plus banal : une facture d'électricité applique un programme de calcul à votre consommation, un abonnement de bus applique le sien au nombre de trajets. Savoir généraliser un programme en expression, c'est pouvoir vérifier une facture au lieu de la subir.
Un peu d'histoire : Algorithmique : variables, boucles et programmes de calcul
Le mot « algorithme » vient d'un nom propre. Al-Khwârizmî, savant persan de la Maison de la sagesse à Bagdad, écrit vers 820 un traité de méthodes de résolution qui sera traduit en latin sous le titre « Algoritmi de numero indorum ». Le détail remarquable est que le même homme a donné son nom aux deux moitiés de cette fiche : le mot « algèbre » vient du titre d'un autre de ses ouvrages, « al-jabr », qui désigne l'opération consistant à faire passer un terme de l'autre côté d'une équation. Algorithme et algèbre ont donc la même origine, ce qui n'est pas un hasard : ce sont deux façons de décrire une suite d'opérations sans faire le calcul.
Définition : Algorithmique : variables, boucles et programmes de calcul
Un algorithme est une suite d'instructions non ambiguës qui, exécutées dans l'ordre, résolvent un problème. Trois briques suffisent à tout écrire. Une VARIABLE retient une valeur et peut la changer en cours de route. Une BOUCLE répète un bloc d'instructions un nombre donné de fois. Une CONDITION choisit entre deux suites selon qu'un test est vrai ou faux. Un programme de calcul est le cas le plus simple : il n'utilise qu'une variable, et aucune répétition.
Propriétés : Algorithmique : variables, boucles et programmes de calcul
Une variable retient, puis oublie
Une variable est une boite nommée qui contient une valeur. L'instruction « mettre à » copie la valeur de DANS : après elle, vaut ce que valait , et n'a pas bougé. La valeur précédente de , elle, est définitivement perdue. C'est le point qui déroute : le signe ressemble à une égalité, mais il désigne un déplacement à sens unique.
| instruction | a | b |
|---|---|---|
| au départ | 3 | 7 |
| mettre a à b | 7 | 7 |
| l'ancien 3 | perdu | — |
Le contenu va de droite à gauche : garde sa valeur, perd la sienne.
Une boucle répète, et le total se construit
Répéter fois « ajouter » fait grandir la variable de au total. Encore faut-il l'avoir INITIALISÉE avant d'entrer dans la boucle : une variable qui n'a pas reçu de valeur de départ ne peut pas être augmentée, et le programme échoue ou repart d'une valeur imprévisible. Le tableau d'exécution — une ligne par tour — est le moyen le plus sûr de suivre ce qui se passe.
| tour | total |
|---|---|
| au départ | 0 |
| après le 1er | 5 |
| après le 2e | 10 |
| après le 3e | 15 |
Trois répétitions de à partir de 0 : le total vaut .
Une condition avec ET : les deux à la fois
La condition « ET » n'est vraie que si les DEUX tests le sont en même temps. Un nombre négatif échoue au premier, un nombre trop grand au second, et un seul échec suffit à rendre l'ensemble faux. Avec OU, c'est l'inverse : « OU » est vraie dès qu'UN des deux tests réussit.
Trois nombres testés : seul celui du milieu satisfait les deux conditions.
Le contraire d'une condition renverse aussi le bord
Le contraire de « » est « », et non « ». La valeur 5 elle-même doit changer de camp : elle satisfaisait la première, elle ne doit pas satisfaire la seconde. Oublier ce détail est le bogue le plus courant des programmes qui trient — accepter les notes « supérieures ou égales à 10 » ne s'écrit pas « note », faute de quoi un élève ayant exactement 10 est refusé.
| condition | son contraire |
|---|---|
| x ⩾ 5 | x < 5 |
| x > 5 | x ⩽ 5 |
| ET | devient OU |
Le symbole strict devient large, et le large devient strict.
Un programme de calcul, et son expression
Généraliser un programme, c'est remplacer le nombre choisi par une lettre et écrire la suite des opérations en une seule expression. « Choisir , multiplier par 5, enlever 2 » donne . L'intérêt est immédiat : l'expression vaut pour TOUS les nombres à la fois, alors qu'une exécution ne dit rien de plus que le cas traité.
Ce programme calcule , quel que soit le nombre choisi.
L'ordre décide des parenthèses
C'est le piège central du chapitre, et il vient directement du calcul littéral. « Multiplier par 4 puis ajouter 3 » s'écrit . Mais « ajouter 3 PUIS multiplier par 4 » s'écrit , car c'est le résultat de l'addition qui est multiplié. Les deux programmes ne donnent pas les mêmes résultats : pour , le premier donne 11 et le second 20.
| le programme | l'expression | pour x = 2 |
|---|---|---|
| ×4 puis +3 | 4x + 3 | 11 |
| +3 puis ×4 | 4(x + 3) | 20 |
Une parenthèse oubliée ne change pas l'apparence : elle change le résultat.
Remonter d'un résultat vers le nombre choisi
Un programme se lit aussi à l'envers. Si affiche 17, on cherche le nombre choisi en résolvant , ce qui donne . Autre méthode, souvent plus rapide de tête : refaire les opérations inverses dans l'ordre inverse — retrancher 2, puis diviser par 5. Les deux chemins mènent au même nombre, et se contrôlent l'un l'autre.
| à l'endroit | à l'envers |
|---|---|
| ×5 | ÷5 |
| +2 | −2 |
| ordre normal | ordre inversé |
On commence par défaire la DERNIÈRE opération : ici on enlève 2 avant de diviser.
Généraliser un motif qui grandit
Un motif construit avec des allumettes suit souvent une règle simple : chaque étape ajoute toujours le même nombre. Si le motif 1 en utilise 5, le motif 2 en utilise 8 et le motif 3 en utilise 11, l'écart constant vaut 3 : le motif en utilise donc . Le nombre qui s'ajoute à chaque étape devient le coefficient de , et ce qui reste est ce qu'il fallait au départ.
| motif | allumettes | écart |
|---|---|---|
| 1 | 5 | — |
| 2 | 8 | +3 |
| 3 | 11 | +3 |
| n | 3n + 2 |
Contrôle : pour , . La formule redonne bien le premier motif.
La formule : Algorithmique : variables, boucles et programmes de calcul
Le passage d'un programme de calcul à son expression
\text{« choisir } x \text{, ajouter } b \text{, multiplier par } a \text{ »} \;\longrightarrow\; a(x + b)
⚠️ La parenthèse vient de l'ORDRE, pas de la formule. Si l'on multiplie d'abord et qu'on ajoute ensuite, la même paire de nombres donne , qui est une expression différente. Une seule question tranche : sur quoi porte la dernière opération — sur le nombre seul, ou sur tout ce qui précède ?
| l'ordre des gestes | l'expression |
|---|---|
| + b puis × a | a(x + b) |
| × a puis + b | ax + b |
| × a puis × a | a²x |
Deux programmes équivalents donnent le même résultat pour TOUT — pas seulement pour un.
Méthode : Algorithmique : variables, boucles et programmes de calcul
1. Exécuter un programme : le tableau d'exécution
Une ligne par étape, une colonne par variable. On y inscrit la valeur APRÈS chaque instruction. C'est long à écrire et cela ne se trompe jamais, alors que suivre un programme de tête échoue dès qu'une boucle dépasse trois tours.
2. Généraliser : remplacer le nombre par une lettre
On réécrit la suite des gestes en gardant tout du long, sans jamais calculer. À chaque étape, on se demande sur quoi porte l'opération : sur seul, ou sur tout ce qu'on a déjà obtenu ? La réponse décide des parenthèses.
3. Vérifier une généralisation sur un nombre
On exécute le programme sur une valeur simple, puis on calcule l'expression pour cette même valeur. Les deux doivent coïncider. ⚠️ Un seul essai ne prouve pas l'équivalence, mais un désaccord prouve l'erreur — et c'est ce qu'on cherche.
4. Chercher un bogue : les quatre suspects
Une variable non initialisée avant une boucle ; un test strict là où il fallait un test large ; un affichage placé avant le calcul ; et l'ordre des opérations qui inverse les parenthèses. La banque du coach ne pose pratiquement que ces quatre-là.
5. Écrire une condition composée
ET exige les deux tests, OU se contente d'un seul. Pour être sûr, on teste trois nombres : un trop petit, un dans la cible, un trop grand. Si les trois réponses sont celles attendues, la condition est juste.
Selon ce que l'on cherche : Algorithmique : variables, boucles et programmes de calcul
On me donne un programme et un nombre
J'exécute, étape par étape, dans un tableau d'exécution. Une ligne par instruction, la valeur après chacune.
On me demande l'expression du programme
Je garde et je n'effectue aucun calcul. Je surveille l'ordre : la dernière opération porte sur tout ce qui précède.
On me donne le résultat et on cherche le nombre choisi
Je résous l'équation, ou je défais les opérations dans l'ordre inverse — les deux se contrôlent.
On me demande si deux programmes sont équivalents
J'écris les deux expressions et je les développe. Si elles se réduisent à la même, les programmes sont équivalents pour tout .
Le programme contient une boucle et une condition
J'exécute d'abord toute la boucle dans un tableau, et je teste la condition SEULEMENT sur la valeur finale.
Exemples corrigés : Algorithmique : variables, boucles et programmes de calcul
Une boucle, puis un test
La variable score vaut 0. On répète 4 fois : ajouter 7 à score. Puis, si score 30, on affiche « réussi », sinon « raté ».
Quel message s'affiche ?
| tour | score |
|---|---|
| départ | 0 |
| 1 | 7 |
| 2 | 14 |
| 3 | 21 |
| 4 | 28 |
28 est inférieur à 30 : le message est « raté ».
On exécute d'abord la boucle en entier : partant de 0, quatre ajouts de 7 donnent 7, puis 14, puis 21, puis 28. La valeur finale est 28 — on peut aussi l'obtenir directement par . On teste ENSUITE, et une seule fois : est faux. Le message affiché est donc « raté ». ⚠️ L'erreur consiste à tester à chaque tour ; ici la condition vient après la boucle, pas dedans.
Généraliser un programme
On choisit un nombre, on lui ajoute 3, puis on multiplie le résultat par 2.
Quelle expression généralise ce programme ?
On appelle le nombre choisi. Après l'addition, on a . La multiplication porte ensuite sur CE résultat, donc sur la somme entière : il faut des parenthèses, et l'expression est . Écrire décrirait un autre programme, celui où l'on multiplie d'abord. Contrôle sur un nombre : pour , le programme donne puis ; et . C'est cohérent, alors que donnerait 13.
Corriger un programme
Un programme doit ajouter 3 à puis multiplier par 4. Il calcule .
Où est l'erreur, et comment la corriger ?
L'expression écrite correspond à l'ordre inverse : elle multiplie d'abord, puis ajoute. Or l'énoncé demande que la multiplication porte sur le résultat de l'addition. Il manque donc des parenthèses, et la bonne expression est . On peut le vérifier sur un nombre : pour , le programme voulu donne puis , tandis que donne 11. L'écart de 9 confirme que ce n'était pas un détail d'écriture.
Le motif d'allumettes
Un motif utilise 5 allumettes à l'étape 1, 8 à l'étape 2, et 11 à l'étape 3.
Combien en faut-il pour l'étape 20 ?
| étape | allumettes |
|---|---|
| 1 | 5 |
| 2 | 8 |
| 3 | 11 |
| 20 | 62 |
La formule évite de dessiner les vingt motifs.
On cherche d'abord l'écart entre deux étapes consécutives : , et . L'écart est constant et vaut 3, qui devient donc le coefficient de . Reste à ajuster : , alors que l'étape 1 en demande 5 — il manque 2. La formule est . On la contrôle sur une autre étape que celle qui a servi : , ce qui est bien le motif 3. Pour l'étape 20 : allumettes.
Pièges à éviter : Algorithmique : variables, boucles et programmes de calcul
- Écrire pour « ajouter 3 puis multiplier par 4 ». La multiplication porte sur la somme : c'est .
- Oublier d'initialiser une variable avant une boucle qui l'augmente : elle n'a alors aucune valeur de départ, et le total obtenu ne veut rien dire.
- Tester « note » pour accepter les notes supérieures OU ÉGALES à 10 : l'élève ayant exactement 10 est refusé. Il faut .
- Croire que « mettre à » échange les deux variables. La valeur va de vers ; ne change pas, et l'ancienne valeur de est perdue.
- Confondre ET et OU. Avec ET, un seul test raté suffit à tout invalider ; avec OU, un seul test réussi suffit à tout valider.
- Placer l'affichage du résultat avant le calcul : le programme montre alors une valeur qui n'a pas encore été mise à jour.
- Vérifier une généralisation sur le nombre qui a servi à la trouver : cela ne prouve rien. Il faut en essayer un autre.
À retenir : Algorithmique : variables, boucles et programmes de calcul
- Un programme de calcul se généralise en une expression littérale.
- L'ordre des gestes décide des parenthèses : n'est pas .
- « Mettre à » copie dans : ne bouge pas, l'ancien est perdu.
- Une variable augmentée dans une boucle doit être initialisée avant.
- ET exige les deux conditions ; OU se contente d'une seule.
- Le contraire de est : le bord change de camp.
- Deux programmes sont équivalents s'ils donnent le même résultat pour TOUT .
Exercices corrigés : Algorithmique : variables, boucles et programmes de calcul
1. La variable vaut 3 et vaut 7. On exécute « mettre à ». Que valent et ensuite ?
Voir la correction
vaut 7 et vaut toujours 7. La valeur est copiée de vers ; l'ancienne valeur de , qui était 3, est perdue.
2. La variable total vaut 0. On répète 6 fois : ajouter 4 à total. Quelle est la valeur finale ?
Voir la correction
Six ajouts de 4 à partir de 0 donnent . On peut le vérifier en déroulant : 4, 8, 12, 16, 20, 24.
3. La variable vaut 12. La condition « ET » est-elle vraie ?
Voir la correction
Non. Le premier test réussit — 12 est bien positif — mais le second échoue, car 12 n'est pas inférieur à 10. Avec ET, un seul échec suffit à rendre l'ensemble faux.
4. Quel est le contraire de la condition « » ?
Voir la correction
C'est « ». Le symbole large devient strict, de sorte que la valeur 5 change de camp : elle satisfaisait la première condition, elle ne satisfait pas la seconde.
5. On choisit un nombre, on le multiplie par 5, puis on enlève 2. Quelle expression correspond ?
Voir la correction
. La multiplication vient en premier et porte sur le nombre seul : aucune parenthèse n'est nécessaire.
6. On choisit un nombre, on lui ajoute 4, puis on multiplie par 3. Quelle expression correspond ?
Voir la correction
. La multiplication porte cette fois sur le résultat de l'addition, donc les parenthèses sont obligatoires. Pour : le programme donne 15, et .
7. Un programme calcule . Le résultat affiché est 19. Quel nombre avait-on choisi ?
Voir la correction
On résout , donc , donc . Par les opérations inverses : on enlève 4, ce qui donne 15, puis on divise par 3, ce qui donne 5.
8. Un programme doit additionner des nombres, mais oublie d'initialiser le total. Quel est le problème ?
Voir la correction
Le total n'a pas de valeur de départ : la première addition n'a rien à quoi s'ajouter. Le résultat est soit une erreur, soit une valeur laissée par une exécution précédente — donc imprévisible.
9. Un motif utilise allumettes à l'étape . Combien en faut-il à l'étape 12 ?
Voir la correction
On remplace par 12 : allumettes.
10. Deux programmes de calcul donnent le même résultat pour toutes les valeurs de . Comment dit-on ?
Voir la correction
On dit qu'ils sont ÉQUIVALENTS. Cela se prouve en développant les deux expressions : si elles se réduisent à la même, l'égalité vaut pour tout — un seul nombre commun ne suffirait pas.
📚 Révise cette fiche en flashcards
Connecte-toi pour retourner cette fiche en cartes de rappel actif — et garder ta progression.
Se connecter