ESD 2010 – 0708 - Univers TI

publicité
Epreuve sur Dossier
CAPES Mathématiques
ESD 2010 – 0708 : Arithmétique
TI-Nspire CAS 
Auteur du corrigé : Gilbert JULIA
Ce document a été réalisé avec la version 2.1 de la calculatrice TI-Nspire CAS.
Fichier associé : esd2010_0708.tns
1. Le sujet
A. L’exercice proposé au candidat
1. Déterminer deux entiers relatifs u et v tels que 7u − 13v = 1 puis déterminer tous les couples (a ; k)
d’entiers relatifs tels que 14a – 26k = 4.
2. On considère deux entiers naturels a et b. Pour tout entier n, on note f (n) le reste de la division
euclidienne de a n + b par 26. On décide de coder un message en procédant comme suit : à chaque lettre de
l’alphabet, on associe un entier compris entre 0 et 25 selon le tableau suivant :
Lettre
Nombre
Lettre
Nombre
A
0
N
13
B
1
O
14
C
2
P
15
D
3
Q
16
E
4
R
17
F
5
S
18
G
6
T
19
H
7
U
20
I
8
V
21
J
9
W
22
K
10
X
23
L
11
Y
24
M
12
Z
25
Pour chaque lettre du message, on détermine l’entier n associé puis on calcule f (n). La lettre est alors codée
par la lettre associée à f (n).
On sait que la lettre F est codée par la lettre K et que la lettre T est codée par la lettre O.
5a + b ≡ 10 (26)
2.1. Montrer que les entiers a et b sont tels que : 
.
19a + b ≡ 14 (26)
2.2. En déduire qu’il existe un entier k tel que : 14a – 26k = 4.
5a + b ≡ 10 (26)
2.3. Déterminer tous les couples d’entiers (a ; b) avec 0 ≤ a ≤ 25 ; 0 ≤ b ≤ 25 , tels que : 
.
19a + b ≡ 14 (26)
2.4. On suppose que a = 17 ; b = 3. Coder le message « GAUSS ».
B. Le travail demandé au candidat
Le candidat rédigera sur ses fiches :
• Sa réponse à la question 1 et à la question 2.3.
• Un ou plusieurs exercices se rapportant au thème « Arithmétique ».
Le candidat présentera au jury :
• Le contenu de ses fiches.
• Les méthodes et les savoirs mis en jeu dans l’exercice.
2. Eléments de correction
L’exercice est inspiré de l’exercice 26 de la banque d’exercices destinés aux classes de terminale S spécialité
mathématiques. Il aborde le thème du codage affine, thème permettant de mettre en œuvre simultanément
quelques outils du programme d’arithmétique de cette classe, en particulier l’outil des congruences.
Un codage affine définit une bijection de l’ensemble {0 ;1; ... ;25} sur lui-même. La condition pour qu’il en
soit ainsi est que le coefficient a de n dans a n + b soit un entier premier avec 26.
© Texas Instruments 2010 / Photocopie autorisée
ESD 2010 0708_calc - 1
Epreuve sur Dossier
CAPES Mathématiques
La question 1 a pour but la résolution dans ℤ×ℤ d’une équation qui servira dans la suite de l’exercice.
La question 2 a pour but d’étudier dans quelle mesure la donnée des images de deux lettres détermine la
fonction de codage qui a été employée.
Méthodes et savoirs mis en jeu dans l’exercice :
1. Savoirs : Théorèmes de Bézout et de Gauss.
Méthode : résolution de l’équation a x − b y = c dans ℤ×ℤ :
•
S’assurer que le coefficient c est un multiple du PGCD de a et de b et se ramener à une équation où
les coefficients a et b sont premiers entre eux (ce qu’on suppose dans ce qui suit).
•
Rechercher une solution particulière (u0 ; v0) de l’équation de Bézout a x − b y = 1 . Le couple
(cu0 ; cv0) est alors une solution particulière de a x − b y = c . En l’occurrence, dans le cas de cet
exercice, la solution évidente (u 0 ; v 0 ) = (2 ; 1) évite de mettre en œuvre des processus de recherche
plus généraux.
•
Un couple d’entiers relatifs (x ; y) est solution de l’équation a x − b y = c si et seulement si le couple
(x – cu0 ; y – cv0) est solution de l’équation réduite : ax = by.
•
(x ; y) est solution de l’équation ax – by = c si et seulement si il existe un entier relatif k tel que :
 x = c u0 + k b
.

 y = c v0 + k a
2. Savoir : Formuler de diverses manières une relation de congruence : dire que deux entiers a et b sont
congrus modulo 26, c’est dire que les restes des divisions euclidiennes de a et de b par 26 sont égaux. C’est
aussi dire qu’il existe un entier relatif k tel que b = a + 26 k .
Méthode : Il s’agit de déterminer les coefficients a et b connaissant les images des lettres numéros 5 et 19.
Ces données conduisent à écrire un système de deux congruences modulo 26. De ce système, on déduit une
congruence modulo 26 portant sur un seul des deux coefficients (le coefficient a). On peut dégager ensuite
une méthode permettant de déterminer les entiers relatifs a vérifiant une relation de congruence de la forme :
u a ≡ v (c) , les entiers u, v et c étant donnés :
•
Traduire la relation en termes de nombres entiers : il existe un entier relatif k tel que : ua = v + ck.
•
Résoudre l’équation d’inconnues a et k : ua – ck = v et déterminer les couples (a ; k) pour lesquels a
appartient à {0 ;1; ... ;25} .
À chaque valeur de a trouvée par cette méthode est associée une valeur de b appartenant à {0 ;1; ... ;25} que
l’on calcule en déterminant le reste de la division euclidienne par 26 de 10 – 5a (ou de 14 – 19a).
En l’occurrence, l’équation d’inconnue a et k est celle de la question 1 et, du fait que l’entier u = 14 = 19 – 5
n’est pas premier avec 26, il n’y a pas unicité d’un entier a solution dans l’ensemble {0 ;1; ... ;25} .
3. Apport du logiciel TI-Nspire
a. Apports proposés
•
•
•
Fonction permettant le codage affine d’un mot.
Fonction permettant le décodage d’un mot.
Détermination des paramètres a et b connaissant le codage de deux lettres distinctes.
© Texas Instruments 2010 / Photocopie autorisée
ESD 2010 0708_calc - 2
Epreuve sur Dossier
CAPES Mathématiques
b. Codage d’un « mot »
Connaissant les deux paramètres a et b définissant un chiffrement affine, l’image d’un entier de l’ensemble
{0 ;1; ... ;25} est obtenue par le logiciel à l’aide de la fonction : x ֏ mod(a.x + b ) .
Ouvrir une page Calculs.
On peut affecter un nom spécifique à cette fonction, par
exemple cd. À cet effet, ouvrir l’Editeur de programmes puis
Fonction.
cd a trois arguments : les paramètres a et b de la fonction de
codage et l’élément que l’on souhaite coder. Cet élément peut
être aussi bien un nombre qu’une liste de nombres.
Ci-contre, on obtient le codage numérique des lettres du mot
« gauss ».
En appliquant la fonction cd a la liste des 26 premiers entiers
naturels, on obtient le codage numérique de toutes les lettres
de l’alphabet.
Selon le code ASCII, les lettres minuscules sont codées numériquement de 97 à 122. La fonction du logiciel qui
permet de passer d'une lettre à son code ASCII est la fonction ord. Par conséquent, la fonction :
" x" ֏ ord (" x") − 97 associe à une lettre de l’alphabet son code numérique conformément à l’énoncé. La
fonction qui inversement permet de passer d'un code numérique ASCII à la lettre correspondante est la fonction
char. Ainsi la fonction x ֏ char ( x + 97 ) associe à un entier de {0 ;1; ... ;25} la lettre qui lui correspond
conformément à l’énoncé. On peut composer ces diverses fonctions pour passer directement d’une lettre ou
d’une liste de lettres à leur codage affine.
c. Décodage d’un « mot »
Il apparaît utile de chercher la fonction f
l’aide du logiciel.
–1
inverse de la fonction f, ce que l’on se propose de faire avec
© Texas Instruments 2010 / Photocopie autorisée
ESD 2010 0708_calc - 3
Epreuve sur Dossier
CAPES Mathématiques
Soit x un entier de {0 ;1; ... ;25} et y l’entier de {0 ;1; ... ;25} tel que : y ≡ ax + b (26).
Pour tout entier a appartenant à {0 ;1; ... ;25} et premier avec 26, on sait qu’il existe un et un seul entier a’
appartenant à {0 ;1; ... ;25} tel que : aa’ ≡ 1 (26).
Alors : a’y – a’b ≡ x (26) : L’entier x est, en sens inverse, image de y par la fonction de codage affine dont
les paramètres sont a’ et –a’b.
La fonction de décodage notée dc a elle aussi trois
arguments : les clefs de codage a et b ainsi que l’élément y
que l’on souhaite décoder. Elle se construit en deux temps :
• Recherche de l’entier a’.
• Application de la fonction cd de paramètres a’ et
− a' b .
L’entier 26 étant un « petit » entier, on effectue une recherche
systématique1 de a’. Cet entier est celui que l’on obtient lors
de l’arrêt de l’instruction « While ».
On obtient ainsi l’antécédent par f d’un entier ou d’une liste
d’entiers de l’ensemble {0 ;1; ... ;25} . Si on le souhaite, on
peut utiliser les fonctions ord et char pour décoder
directement une lettre de l’alphabet.
c. Trouver les clefs du code
L’objectif est le suivant : on connaît, comme c’est le cas dans la question 2 de l’exercice, les images par f de
deux entiers différents u et v appartenant à {0 ;1; ... ;25} et on se propose de chercher quels sont les
paramètres a et b de la fonction f.
u a + b ≡ fu (26)
Si on note fu et fv les images respectives de u de v : 
.
v a + b ≡ fv (26)
On en déduit en effectuant la différence membre à membre des deux congruences qu’un entier a de
l’ensemble {0 ;1; ... ;25} est susceptible d’être une des deux clefs du codage s’il vérifie :
(v – u)a – (fv – fu) ≡ 0 (26).
Le programme suivant, nommé clefs, a pour objectif de déterminer, s’il en existe, les couples (a ; b) d’entiers
de {0 ;1; ... ;25} pour lesquels la fonction de codage associée code u en fu et v en fv. Ce programme a quatre
arguments : l’entier u, son image notée fu, l’entier v, son image notée fv.
1
Il faut s’assurer avant d’utiliser cette fonction que l’entier a est bien premier avec 26, sinon la fonction recherchera
indéfiniment l’entier a’ (on peut insérer un test d’arrêt quand k atteint 26 pour parer cette éventualité).
© Texas Instruments 2010 / Photocopie autorisée
ESD 2010 0708_calc - 4
Epreuve sur Dossier
CAPES Mathématiques
Il répertorie systématiquement tous les entiers a de
{0 ;1; ... ;25} qui vérifient la congruence :
(v – u)a ≡ fv – fu (26).
Chaque fois qu’une solution est trouvée, le paramètre b
associé est calculé et le couple (a ; b) est affiché sous forme
de liste. Il restera à vérifier si l’entier a est bien premier avec
26 avant d’accepter un tel couple (a ; b) comme clefs d’un
code.
Dans la question 2 de l’exercice, on trouve ou bien
a = 4 ; b = 16 ou bien a = 17 ; b = 3. Dans le premier cas, la
fonction f n’est pas bijective (4 et 26 ne sont pas premiers
entre eux), ce n’est pas une fonction de codage. C’est
pourquoi l’énoncé impose la deuxième solution dans la
question 2.4.
4. Conclusion
Un réaménagement de l’énoncé serait souhaitable. La question 2.4, en fin d’exercice, n’a là d’autre rôle que
de transformer le résultat de 2.3 en secret de polichinelle. Elle serait mieux placée en tout début d’exercice
(avec des valeurs de a et de b différentes de celles obtenues ensuite) afin de faciliter par l’étude d’un
exemple la compréhension de la situation. La fonction cd ne fait qu’automatiser le codage, dès lors que les
paramètres a et b sont connus. Elle peut intervenir dans la correction de la question, après que les élèves
aient codé « à la main » quelques lettres. En l’appliquant à la liste {0 ;1; ... ;25} , on obtient un tableau de
codage.
Le problème de la réversibilité du codage se pose (facultativement) à ce moment : « on sait coder un texte,
mais comment le récepteur d’un message fait-il pour le lire ? ». La lecture « à l’envers » du tableau de
codage précédent répond correctement à la question et l’enseignant peut s’en tenir là. Cependant,
l’élaboration de la fonction dc souligne le point fondamental de l’action de décodage : trouver l’unique entier
a’ de {0 ;1; ... ;25} tel que aa’ ≡ 1 (26), occasion d’expliquer son existence et son unicité, liées au fait que a
doit être choisi premier avec 26.
Les questions 2.1 à 2.3 portant sur la recherche des clefs d’un code permettent de guider les élèves dans leur
démarche, leur ordre peut être reconduit.
La question 1 se place plus naturellement après 2.2 puisque c’est à ce moment que survient la nécessité de la
résolution d’une équation au premier degré à deux inconnues. Elle peut être purement et simplement
supprimée, si on destine cet exercice à être l’objet d’un travail de recherche. Il est préférable que les élèves
se posent eux-mêmes la question à propos de la marche à suivre pour résoudre 14a – 26k = 4 qu’ils écriront
spontanément : 7a – 13k = 2 : « que faire quand il y a un second membre et que ce second membre est
différent de 1 ? ».
5. Pour aller plus loin
Le travail avec le logiciel qui présente le plus d’intérêt est assurément le programme « clefs ». Il peut être
exploité en fin d’exercice par l’enseignant (et par un candidat au CAPES) pour (se) poser la question du
© Texas Instruments 2010 / Photocopie autorisée
ESD 2010 0708_calc - 5
Epreuve sur Dossier
CAPES Mathématiques
choix des lettres de l’alphabet qu’il est intéressant de décrypter. Le programme va fournir rapidement
quelques exemples de résolution de la question 2 (en variant les paramètres u et v) destinés à susciter des
conjectures. À titre d’exemple, supposons que l’on sache que E est codé O. Ainsi, u = 4 ; fu = 14 dans le
programme. Quelles autres lettres essayer de décoder ?
Ci-contre, on essaie les cas où l’on sait successivement que T
est codé P, puis que S est codé I. On a donc successivement v
= 19 ; fv = 15 (un seul couple solution), puis v = 18 ; fv = 8
(deux couples solutions comme dans l’exercice, dont un ne
génère pas une fonction de codage).
On essaie maintenant le cas où R est codé B, c’est-à-dire où
v = 17 ; fv = 1 (13 couples solutions, tous générant une
fonction de codage sauf lorsque a = 13). Ainsi, la
connaissance des images de 4 et de 17 n’avance guère la
recherche des clefs de codage.
Ces exemples amènent à s’intéresser au PGCD de v – u et de 26. Si ces deux nombres sont premiers entre
eux, alors on trouvera un unique couple (a ; b) solution du système de congruences. Si ce PGCD est égal à 2,
on trouvera deux couples solutions. En définitive, ce n’est pas bien grave, l’un est composé d’un entier a pair
donc non premier avec 26, l’autre d’un entier a impair, premier avec 26 s’il ne s’agit pas de 13.
Enfin, si v – u = 13, il y a 13 couples solutions, le décryptage n’est pas résolu. C’est pourquoi par exemple,
connaissant le code de E, il est inutile de tenter de connaître le code de la lettre R.
Une autre question que l’on peut se poser est la suivante : Si u et v sont choisis de telle sorte que v – u soit
premier avec 26, peut-on choisir « au hasard » les entiers images fu et fv pour générer un codage ?
Il n’en est rien. Ci-contre, on suppose successivement que T
est codé G puis B. Le programme fournit bien, dans chaque
cas, un couple solution, mais a n’est pas premier avec 26.
Les données ne génèrent pas une fonction de codage. L’entier
fv – fu est égal successivement à –8 et à –13, il n’est pas
premier avec 26. Pour générer une authentique fonction de
codage, il faut choisir fv – fu premier avec 26.
© Texas Instruments 2010 / Photocopie autorisée
ESD 2010 0708_calc - 6
Téléchargement