Chapitre 1221 minDébutant
Exercices corrigés d'arithmétique type E3
Par Josselyn C., prof de BTS SIO. Mis à jour le .
À la fin de ce chapitre, tu sauras
- dire où et sous quelle forme l'arithmétique tombe à l'E3 ;
- appliquer une méthode de rédaction en six points ;
- traiter des sujets complets, de la conversion au codage affine.
5 exercices corrigés
Ce chapitre rassemble des sujets d'arithmétique construits comme ceux de l'épreuve E3 « Mathématiques pour l'informatique » du BTS SIO : un QCM de numération, un chiffrement affine avec des algorithmes à compléter, un problème de congruences et de liste circulaire, une question d'arrondi en base 2, une décomposition en facteurs premiers à programmer. Chaque sujet est corrigé en entier, avec la rédaction attendue sur une copie. Commence par la méthode, puis traite chaque sujet au brouillon avant d'ouvrir le corrigé.
Où l'arithmétique tombe à l'E3
L'épreuve E3 (coefficient 3), commune aux options SISR et SLAM, prend deux formes selon ton statut :
- en contrôle en cours de formation (CCF), une situation pratique d'algorithmique (sur machine, avec un oral) et une situation écrite de 55 minutes, au second semestre de deuxième année, sur les autres modules du programme ;
- en forme ponctuelle, un écrit de 2 heures de deux ou trois exercices, dont un évalue la capacité à programmer.
L'arithmétique est l'un des modules de l'écrit, à côté de la logique et de l'algèbre de Boole, du calcul matriciel, de la théorie des ensembles et des graphes. La calculatrice est autorisée en mode examen. Le cours d'algorithmique détaille la situation d'algorithmique de l'E3.
Ce que les sujets demandent, classé par notion
Le sujet de la session 2026 (écrit de 2 heures) en donne une bonne image : son exercice 1 était un QCM dont deux questions portaient sur la numération, et son exercice 2, sur 5 points, entièrement consacré au codage affine. Le site en propose une proposition de corrigé non officielle.
| Notion | Type de question | Exemple (sujet 2026 ou classique) | Chapitre |
|---|---|---|---|
| Numération des réels | Convertir un nombre à virgule de la base 2 vers la base 10 | (10110,11101)₂ = 22,90625 (QCM 2026) | 3 |
| Calcul en base 16 | Additionner deux nombres hexadécimaux | (3D8)₁₆ + (2C5)₁₆ = (69D)₁₆ (QCM 2026) | 4 |
| Conversions d'entiers | Passer d'une base à une autre, lire une adresse IP ou une couleur | 156 = (10011100)₂ = (9C)₁₆ | 1 et 2 |
| Arrondi, précision | Arrondir en base 2, expliquer une erreur de calcul flottant | 0,1 arrondi à 2⁻⁸ près | 3 |
| Congruences | Coder une lettre, réduire un calcul modulo n | Coder « SI » avec y ≡ 9x + 5 [26] (2026) | 8 |
| Inverse modulaire | Compléter l'algorithme de recherche de l'inverse, l'appliquer | inverse(9) = 3 modulo 26 (2026) | 9 |
| Déchiffrement | Établir la formule de décodage, décoder un mot | x ≡ 3y + 11 [26] (2026) | 10 |
| PGCD | Compter les clés valables, tester si deux nombres sont premiers entre eux | 12 × 26 = 312 clés (2026) | 7 |
| Multiples modulo n | Dire si un parcours circulaire est exhaustif | Sauts de 5 sur 12 positions | 9 |
| Nombres premiers | Tester la primalité, décomposer, programmer le crible | 2 026 = 2 × 1 013 | 6 |
| Programmation | Compléter, tracer ou corriger un algorithme | nbCles(), inverse(a) (2026) | 11 |
La méthode en six points
- Lis tout l'exercice avant d'écrire. Les questions s'enchaînent : la formule de décodage de la question 4 s'appuie sur l'inverse de la question 3, et une question « en déduire » signale qu'il faut réutiliser le résultat précédent.
- Écris la base de chaque nombre en indice. (101)₂ et 101 ne sont pas le même nombre : une conversion sans indices est ambiguë et peut te coûter la question.
- Écris chaque division euclidienne sous la forme a = b × q + r, et chaque congruence avec son modulo : 167 = 6 × 26 + 11, donc 167 ≡ 11 [26].
- Vérifie chaque résultat dans l'autre sens : reconvertis en base 10, recode la lettre décodée, multiplie l'inverse trouvé par a. Ça prend quelques secondes, et une erreur dans une question se propage à toutes les suivantes.
- Pour un algorithme à compléter, fais tourner ta version sur un petit exemple, ligne par ligne, avant de la recopier : bornes des boucles (« de 1 à 25 »), condition d'arrêt (« ≠ 1 » et non « = 1 »), valeur renvoyée.
- Rédige les conclusions avec les mots de l'énoncé : « le mot SI se code LZ », « le parcours passe par les 18 postes ».
Sujet 1 : QCM de numération
Exercice 1 sur 5 Sujet 1 (QCM, numération et calcul en base 2 et 16) Réussi À revoir
Pour chaque question, une seule réponse est exacte. Justifie ton choix.
- Le nombre (110101,11)₂ s'écrit en base 10 :
- A. 53,3
- B. 53,75
- C. 107,5
- D. 53,11
- La somme (A7)₁₆ + (5C)₁₆ vaut :
- A. (FF)₁₆
- B. (F13)₁₆
- C. (103)₁₆
- D. (113)₁₆
- Le produit (1011)₂ × (100)₂ vaut :
- A. (1111)₂
- B. (101100)₂
- C. (1011100)₂
- D. (10110)₂
- Le nombre 0,1 en base 10 s'écrit en base 2 :
- A. (0,1)₂
- B. (0,0001)₂
- C. (0,000110011…)₂, avec une infinité de chiffres
- D. (0,1010)₂
- Combien de bits faut-il au minimum pour numéroter 300 équipements différents ?
- A. 8
- B. 9
- C. 10
- D. 300
Voir la réponseMasquer la réponse de l'exercice 1
- B. Partie entière : (110101)₂ = 32 + 16 + 4 + 1 = 53. Partie fractionnaire : (0,11)₂ = 0,5 + 0,25 = 0,75. Le nombre vaut 53,75.
- C. Colonne de droite : 7 + C = 7 + 12 = 19 = 16 + 3, on écrit 3, retenue 1. Colonne de gauche : A + 5 + 1 = 16, on écrit 0, retenue 1, qui descend. Résultat (103)₁₆. Vérification : 167 + 92 = 259 = 256 + 3.
- B. Multiplier par (100)₂ = 4 = 2², c'est ajouter deux 0 à droite : (101100)₂. Vérification : 11 × 4 = 44 = 32 + 8 + 4.
- C. Par multiplications successives : 0,2 (0), 0,4 (0), 0,8 (0), 1,6 (1), 1,2 (1), 0,4 (0)… on retombe sur 0,4 : l'écriture est infinie et périodique, (0,0001100110011…)₂. La réponse A vaut 0,5, la B 0,0625, la D 0,625.
- B. Il faut 2ⁿ ≥ 300 : 2⁸ = 256 ne suffit pas, 2⁹ = 512 suffit. 9 bits.
Tu avais trouvé ?
Sujet 2 : codage affine
Exercice 2 sur 5 Sujet 2 (congruences, inverse, algorithmes, décodage) Réussi À revoir
Un service informatique veut chiffrer les noms de ses fichiers de journalisation avec un codage affine. Chaque lettre est remplacée par son rang x (A = 0, B = 1, …, Z = 25), puis par la lettre de rang y, où y est le reste de la division euclidienne de 11x + 8 par 26. On note y ≡ 11x + 8 [26]. La clé est le couple (11, 8).
-
Montre que la lettre B est codée par T, puis code le mot « BTS ».
-
Une clé (a, b) est dite acceptable si deux lettres différentes sont toujours codées par deux lettres différentes. On admet que c'est le cas si et seulement si PGCD(a, 26) = 1.
- a. Justifie que la clé (11, 8) est acceptable.
- b. Complète l'algorithme ci-dessous pour qu'il renvoie le nombre de clés acceptables, puis donne ce nombre.
Fonction nbCles() nb ← 0 Pour a allant de 1 à ...... faire Si pgcd(a, 26) ...... alors nb ← ...... Fin Si Fin Pour Renvoyer nb × 26 -
a. Complète l'algorithme suivant, qui renvoie l'inverse de a modulo 26 (on suppose PGCD(a, 26) = 1).
Fonction inverse(a) c ← 1 Tant que reste(a × c, 26) ...... faire c ← c + 1 Fin Tant que Renvoyer ......b. Détermine inverse(11), en justifiant.
-
a. Montre que si 11x + 8 ≡ y [26], alors x ≡ 19y + 4 [26].
b. Décode le mot « RNGBM ».
Voir la réponseMasquer la réponse de l'exercice 2
1. B a pour rang x = 1. 11 × 1 + 8 = 19, et 19 < 26, donc y = 19 : la lettre T. B est bien codée par T.
- T : x = 19. 11 × 19 + 8 = 217 = 8 × 26 + 9, donc y = 9 : J.
- S : x = 18. 11 × 18 + 8 = 206 = 7 × 26 + 24, donc y = 24 : Y.
Le mot « BTS » se code « TJY ».
2. a. 26 = 2 × 13 et 11 est un nombre premier qui ne divise pas 26 : PGCD(11, 26) = 1. Par l'algorithme d'Euclide : 26 = 11 × 2 + 4 ; 11 = 4 × 2 + 3 ; 4 = 3 × 1 + 1 ; 3 = 1 × 3 + 0. Le dernier reste non nul est 1. La clé est acceptable.
2. b.
Fonction nbCles()
nb ← 0
Pour a allant de 1 à 25 faire
Si pgcd(a, 26) = 1 alors
nb ← nb + 1
Fin Si
Fin Pour
Renvoyer nb × 26
Les valeurs de a entre 1 et 25 premières avec 26 sont les nombres impairs différents de 13 : 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25, soit 12 valeurs. Il y a 12 × 26 = 312 clés acceptables.
3. a.
Fonction inverse(a)
c ← 1
Tant que reste(a × c, 26) ≠ 1 faire
c ← c + 1
Fin Tant que
Renvoyer c
3. b. On cherche le plus petit c tel que 11c ≡ 1 [26]. Les nombres de la forme 26k + 1 sont 27, 53, 79, 105, 131, 157, 183, 209… et 209 = 11 × 19 est le premier divisible par 11. inverse(11) = 19. Vérification : 11 × 19 = 209 = 8 × 26 + 1.
4. a. On part de 11x + 8 ≡ y [26] et on multiplie les deux membres par 19 :
19 × 11x + 19 × 8 ≡ 19y [26], soit 209x + 152 ≡ 19y [26].
Or 209 = 8 × 26 + 1 ≡ 1 [26] et 152 = 5 × 26 + 22 ≡ 22 [26]. Donc x + 22 ≡ 19y [26], puis x ≡ 19y − 22 [26]. Comme −22 ≡ −22 + 26 = 4 [26], on obtient x ≡ 19y + 4 [26].
4. b.
| Lettre codée | y | 19y + 4 | Reste modulo 26 | Lettre |
|---|---|---|---|---|
| R | 17 | 327 | 327 = 12 × 26 + 15 → 15 | P |
| N | 13 | 251 | 251 = 9 × 26 + 17 → 17 | R |
| G | 6 | 118 | 118 = 4 × 26 + 14 → 14 | O |
| B | 1 | 23 | 23 | X |
| M | 12 | 232 | 232 = 8 × 26 + 24 → 24 | Y |
Le mot « RNGBM » se décode « PROXY ». Vérification : P (15) se code 11 × 15 + 8 = 173 = 6 × 26 + 17 → R.
Tu avais trouvé ?
Sujet 3 : astreintes et congruences
Exercice 3 sur 5 Sujet 3 (PGCD, liste circulaire, congruences) Réussi À revoir
Une entreprise compte 18 postes de travail en open space, numérotés de 0 à 17 et disposés en anneau autour d'une colonne technique. Un script de maintenance doit vérifier les postes un par un. Il commence par le poste 0, puis passe à chaque étape au poste situé s numéros plus loin dans l'anneau (après le 17 vient le 0).
Partie A
- On choisit s = 4. Donne la liste des postes vérifiés avant que le script revienne au poste 0. Le parcours est-il exhaustif ?
- Calcule PGCD(4, 18) et explique le résultat de la question 1 à l'aide de la propriété du cours.
- On choisit s = 5. Sans lister les postes, justifie que tous les postes seront vérifiés.
- Donne toutes les valeurs de s comprises entre 1 et 17 qui permettent de vérifier tous les postes.
Partie B
Les journaux du script sont archivés dans des fichiers de 2 964 lignes, et ceux d'un autre outil dans des fichiers de 1 209 lignes. On veut découper tous ces fichiers en blocs de même nombre de lignes, le plus grand possible.
- Calcule PGCD(2 964, 1 209) par l'algorithme d'Euclide.
- Combien de lignes compte un bloc ? En combien de blocs est découpé chaque type de fichier ?
Partie C
Le script s'exécute une fois par jour. Pour répartir la charge, la n-ième exécution (n ≥ 1) envoie son rapport vers le serveur numéro reste(2ⁿ, 9).
- Complète le tableau des restes de 2ⁿ modulo 9 pour n allant de 1 à 6.
- En déduis vers quel serveur part le rapport de la 2 026e exécution.
Voir la réponseMasquer la réponse de l'exercice 3
Partie A
- Positions : 0, 4, 8, 12, 16, 20 ≡ 2, 6, 10, 14, 18 ≡ 0. Les postes vérifiés sont 0, 4, 8, 12, 16, 2, 6, 10 et 14 : seulement les 9 postes pairs. Le parcours n'est pas exhaustif.
- 18 = 4 × 4 + 2 ; 4 = 2 × 2 + 0 : PGCD(4, 18) = 2. D'après la propriété du cours, modulo 18, les multiples de 4 sont exactement les multiples de PGCD(4, 18) = 2 : le script ne visite que les postes de numéro pair, au nombre de 18 ÷ 2 = 9.
- 18 = 5 × 3 + 3 ; 5 = 3 × 1 + 2 ; 3 = 2 × 1 + 1 ; 2 = 1 × 2 + 0 : PGCD(5, 18) = 1. Les multiples de 5 modulo 18 sont les multiples de 1, c'est-à-dire tous les entiers de 0 à 17 : tous les postes sont vérifiés.
- Il faut PGCD(s, 18) = 1, avec 18 = 2 × 3² : s ne doit être divisible ni par 2 ni par 3. s ∈ {1, 5, 7, 11, 13, 17}.
Partie B
- 2 964 = 1 209 × 2 + 546 ; 1 209 = 546 × 2 + 117 ; 546 = 117 × 4 + 78 ; 117 = 78 × 1 + 39 ; 78 = 39 × 2 + 0. PGCD(2 964, 1 209) = 39.
- Un bloc compte 39 lignes. 2 964 ÷ 39 = 76 blocs et 1 209 ÷ 39 = 31 blocs.
Partie C
-
On multiplie chaque reste par 2 et on réduit modulo 9 :
n 1 2 3 4 5 6 reste(2ⁿ, 9) 2 4 8 7 5 1 (2⁴ = 16 ≡ 7 ; 7 × 2 = 14 ≡ 5 ; 5 × 2 = 10 ≡ 1.)
-
2⁶ ≡ 1 [9] et 2 026 = 6 × 337 + 4. Donc 2²⁰²⁶ = (2⁶)³³⁷ × 2⁴ ≡ 1 × 16 ≡ 7 [9]. Le rapport part vers le serveur 7.
Tu avais trouvé ?
Sujet 4 : arrondi et nombres à virgule
Exercice 4 sur 5 Sujet 4 (réels en base 2, arrondi, flottants) Réussi À revoir
Un capteur de température transmet ses mesures en binaire, avec un nombre limité de bits après la virgule.
- Le capteur envoie (11010,011)₂. Quelle est la température en base 10 ?
- Convertis 13,40625 en base 2, puis en base 16.
- On veut transmettre 6,7 avec 6 bits après la virgule.
- a. Donne les 7 premiers bits après la virgule de l'écriture binaire de 0,7.
- b. Donne l'arrondi par défaut et l'arrondi par excès de 6,7 à 2⁻⁶ près, en base 2 puis en base 10.
- c. Quel est l'arrondi au plus près ? Justifie de deux façons.
- Un programme Python compare deux mesures avec
if mesure == 6.7:. Explique pourquoi ce test est déconseillé et propose une alternative.
Voir la réponseMasquer la réponse de l'exercice 4
-
(11010)₂ = 16 + 8 + 2 = 26 et (0,011)₂ = 0,25 + 0,125 = 0,375. La température est 26,375 °C.
-
13 = (1101)₂. Pour 0,40625 : × 2 = 0,8125 → 0 ; × 2 = 1,625 → 1 ; 0,625 × 2 = 1,25 → 1 ; 0,25 × 2 = 0,5 → 0 ; 0,5 × 2 = 1 → 1, fin. 13,40625 = (1101,01101)₂. En base 16, on groupe par 4 depuis la virgule : 1101 → D ; 0110 1000 (on complète à droite) → 6 et 8. (D,68)₁₆. Vérification : 13 + 6/16 + 8/256 = 13 + 0,375 + 0,03125 = 13,40625.
-
a. 0,7 → 1,4 (1) → 0,8 (0) → 1,6 (1) → 1,2 (1) → 0,4 (0) → 0,8 (0) → 1,6 (1). Les 7 premiers bits sont 1011001.
b. 6 = (110)₂. Par défaut : (110,101100)₂ = 6 + 44/64 = 6,6875. Par excès : on ajoute 2⁻⁶ : (110,101101)₂ = 6 + 45/64 = 6,703125.
c. L'arrondi au plus près est (110,101101)₂ = 6,703125, l'arrondi par excès. Première justification : le premier bit supprimé (le 7e) vaut 1. Seconde justification : 6,7 − 6,6875 = 0,0125 et 6,703125 − 6,7 = 0,003125, plus petit.
-
6,7 n'a pas d'écriture binaire finie : il est stocké arrondi (sur 52 bits de mantisse en double précision), et une mesure calculée ou convertie peut différer de cette valeur arrondie par une infime quantité. Le test
==risque d'être faux pour des valeurs « égales ». On compare avec une tolérance :if abs(mesure - 6.7) < 1e-9:ouif math.isclose(mesure, 6.7):.
Tu avais trouvé ?
Sujet 5 : nombres premiers et programmation
Exercice 5 sur 5 Sujet 5 (décomposition, diviseurs, algorithme) Réussi À revoir
-
Décompose 2 520 et 1 386 en produits de facteurs premiers.
-
En déduis PGCD(2 520, 1 386).
-
Combien 2 520 a-t-il de diviseurs ?
-
On considère l'algorithme suivant, où n est un entier supérieur ou égal à 2.
Fonction f(n) d ← 2 Tant que n > 1 faire Si reste(n, d) = 0 alors Afficher d n ← quotient(n, d) Sinon d ← d + 1 Fin Si Fin Tant quea. Fais la trace de f(90) : valeurs de n, de d et affichages successifs.
b. Que fait cet algorithme ?
c. Traduis-le en Python.
Voir la réponseMasquer la réponse de l'exercice 5
-
2 520 = 10 × 252 = (2 × 5) × (2² × 3² × 7) = 2³ × 3² × 5 × 7. 1 386 = 2 × 693 = 2 × 9 × 77 = 2 × 3² × 7 × 11.
-
Facteurs communs avec le plus petit exposant : 2¹, 3², 7¹. PGCD = 2 × 9 × 7 = 126.
-
(3 + 1)(2 + 1)(1 + 1)(1 + 1) = 4 × 3 × 2 × 2 = 48 diviseurs.
-
a. Trace :
n d reste(n, d) = 0 ? Affichage 90 2 oui 2 45 2 non 45 3 oui 3 15 3 oui 3 5 3 non 5 4 non 5 5 oui 5 1 5 fin de la boucle L'algorithme affiche 2, 3, 3, 5.
b. Il affiche la décomposition de n en produit de facteurs premiers, chaque facteur répété autant de fois que son exposant : 90 = 2 × 3² × 5. Un d non premier (comme 4) ne divise jamais le n courant, car ses facteurs ont déjà été retirés.
c.
def f(n): d = 2 while n > 1: if n % d == 0: print(d) n = n // d else: d = d + 1
Tu avais trouvé ?