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 du logiciel 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_ordi - 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_ordi - 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 » puis celui des 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 –1 inverse de la fonction f, ce que l’on se propose de faire avec
l’aide du logiciel.
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.
© Texas Instruments 2010 / Photocopie autorisée
ESD 2010 0708_ordi - 3
Epreuve sur Dossier
CAPES Mathématiques
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 ». 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.
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.
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_ordi - 4
Epreuve sur Dossier
CAPES Mathématiques
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 ? ».
Pour présenter son travail au jury, le candidat
peut grouper (Ctrl + 4) les deux fonctions cd et
dc ainsi que le programme clefs sur une même
page.
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
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 ?
© Texas Instruments 2010 / Photocopie autorisée
ESD 2010 0708_ordi - 5
Epreuve sur Dossier
CAPES Mathématiques
Ci-contre, on essaie les cas où l’on sait
successivement que T est codé P, puis que S est
codé I, puis que R est codé B. 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) et enfin
v = 17 ; fv = 1 (13 couples solutions, tous
générant une fonction de codage sauf lorsque
a = 13).
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_ordi - 6
Téléchargement