Comment encoder un message avec des nombres
1, 2, 3, codez ! - Activités cycle 3 - Séance 1.2: Comment encoder un message avec des nombres ?
Résumé |
Les élèves doivent encoder un message textuel en utilisant seulement des nombres. Pour cela, ils font des propositions puis conviennent d’un tableau de correspondance entre caractères textuels et nombres, commun à toute la classe. Ils utilisent ce tableau pour encoder un message qu’ils doivent envoyer, puis pour décoder un message qu’ils ont reçu. |
Notions |
« Information »
|
Matériel |
Pour la classe |
Lexique |
Table de correspondance, encodage, décodage |
Durée : |
1h15 |
Note scientifique préalable sur le vocabulaire
- Dans le langage courant, les termes « coder », « chiffrer », « crypter » sont souvent confondus et employés à mauvais escient. Le terme « coder », par exemple, est parfois utilisé pour signifier « programmer » (on lit aussi « écrire du code »), parfois pour « représenter de l’information » (par exemple, le codage binaire), ou encore pour « altérer un message pour le rendre incompréhensible » (en référence à la notion de « code » secret…).
- Dans tout ce qui suit, nous tâcherons d’employer les mots dans leur signification scientifique, c’est-à-dire
- Coder signifie représenter de l’information. Au cours de cette séance, les élèves vont représenter un message textuel à l’aide de nombres. Lorsqu’ils transformeront les lettres en nombre, on parlera d’encodage et, lorsqu’ils effectueront la transformation inverse, de décodage. C’est l’objet de cette séance, puis des deux suivantes sur le binaire.
- Chiffrer un message consiste à le déformer pour le rendre incompréhensible à toute personne non destinataire du message (qui ne possède pas la clé pour le déchiffrer). C’est l’objet de la Séance III-3.4.
- Les termes crypter/décrypter (que nous éviterons ici) sont en général employés comme synonymes de chiffrer/déchiffrer, mais il existe une nuance. La cryptanalyse consiste à casser le chiffrement (on devine quelle est la clé alors qu’on n’est pas censé la connaître).
Situation déclenchante
L’enseignant explique à la classe que l’équipe du poste de contrôle communique avec le rover et avec l’équipe de terrain en utilisant des instruments électroniques. Ces instruments permettent d’envoyer et de recevoir seulement des nombres, pas de lettres. Tout message textuel à transmettre doit donc être converti en une succession de nombres avant l’envoi (c’est l’opération d’encodage du message), puis reconverti en une succession de caractères textuels à l’arrivée (c’est l’opération de décodage du message). Il ne peut pas y avoir d’espace ou de virgule entre les nombres : les nombres arrivent tous « collés » à la suite les uns des autres.
La question est donc est la suivante : comment encoder des messages textuels sous forme de nombres, puis les décoder ?
Recherche : stratégie d’encodage et de décodage (par binômes)
L’enseignant annonce que l’équipe de terrain souhaite prolonger sa sortie au-delà de l’horaire initialement prévu. Mais le vent semble se lever. Il faut envoyer au poste de contrôle un message qui commence comme ceci :
ENVOYEZ BULLETIN METEO.
Notes pédagogiques
- Le texte à encoder contient uniquement des lettres majuscules sans accents, des points et des espaces. De ce fait, il est probable que la plupart des propositions des élèves consistent à associer chaque lettre de l’alphabet à un nombre, conformément à l’ordre alphabétique (1 pour coder A, 2 pour coder B, etc. jusqu’à 26 pour coder Z) et à ajouter une correspondance entre le point, l’espace et deux autres nombres (par exemple 27 et 28 ou bien 27 et 0).
- Toutefois, certains groupes imaginent de coder par des nombres différents les lettres majuscules (de 1 à 26 par exemple) et minuscules (de 27 à 52 par exemple). La question des lettres accentuées peut également émerger, ainsi que celle des caractères de ponctuation autres que le point. Bien que le message à coder ne comporte pas de chiffres, certains groupes peuvent chercher à les prendre en compte : ils peuvent alors associer les chiffres 0 à 9 aux nombres 0 à 9, et le codage des lettres ne commence qu’à partir de 10.
- Toutes ces propositions doivent être valorisées, même si on effectue ensuite, pour des raisons de simplicité, le choix de ne pas coder les chiffres et d’en rester à un codage identique pour toutes les variantes d’une lettre (A, a, â, à tous codés par 01, par exemple).
- Enfin, certains élèves risquent d’anticiper sur la question du chiffrement du message en proposant une correspondance peu intuitive entre caractères textuels et nombres, voire en proposant une correspondance instable (qui change tous les 10 caractères par exemple). On proposera à ces élèves de retenir leurs idées pour une autre séance (Séance III-3.4).
Mise en commun
Lors de la mise en commun, l’enseignant demande à un premier binôme
de présenter sa proposition. Celle-ci est confrontée aux propositions
des autres groupes (voir notes pédagogiques ci-dessous), en pesant les
avantages et les inconvénients de chacune. Puis, la classe s’arrête sur
un choix de consensus : celui d’une table de correspondance biunivoque
(aucune ambigüité, ni à l’encodage, ni au décodage) entre les caractères
textuels que l’on souhaite utiliser dans les messages et des nombres.
La table de correspondance retenue pour la suite est la suivante (noter
que la table véritablement utilisée peut varier d’une classe à l’autre,
notamment pour l’espace et le point) :
Caractère textuel | A | B | C | D | E | F | G | H |
---|---|---|---|---|---|---|---|---|
Nombre | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 |
Caractère textuel | I | J | K | L | M | N | O | P |
Nombre | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
Caractère textuel | Q | R | S | T | U | V | W | X |
Nombre | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |
Caractère textuel | Y | Z | point | espace | ||||
Nombre | 25 | 26 | 27 | 28 |
Noter que les nombres 1 à 9 (correspondant aux lettres A à I) ont été notés 01 à 09, de façon à ce que tous les nombres utilisés pour coder les caractères textuels soient écrits avec autant de chiffres (2 en l’occurrence). Ainsi, 0221 se lit 02 21 et se décode en BU et 2201 se lit 22 01 et se décode en VA. Alors que si les lettres A à I étaient codées par les nombres 1 à 9, le texte encodé 221 pourrait être lu soit 2 21, soit 22 1 et être décodé indifféremment en BU ou en VA. Exercice – Encoder un message (par groupes)L’enseignant distribue aux élèves le haut de la Fiche 29 (table
de correspondance et consigne 1) et leur demande d’effectuer l’encodage
du message destiné au poste de contrôle (consigne 1), en utilisant la
table de correspondance choisie par la classe. |
Discussion sur l’importance d’un encodage sur 2 chiffres pour chaque caractère. Classe de CM1 de Carole Vinel (Paris) |
Défi – Décoder un message (par groupes)
L’enseignant annonce que la classe vient de recevoir la réponse du
poste de contrôle, sous forme encodée. Il va maintenant s’agir de
décoder cette réponse.
Il distribue la partie basse de la Fiche 29 (consigne 2) et laisse aux élèves le temps de mener à bien le décodage.
La classe partage le message décodé :
APPROCHE CYCLONE MAJEUR. RETOUR PARKING OBLIGATOIRE. INDIQUEZ DELAI PREVU.
La mission ne peut donc pas être prolongée, le rover doit rentrer immédiatement à la base.
Deux stratégies de décodage, au fil du texte (à gauche) ou pour toutes les occurrences d’un caractère dans le texte (à droite).
Classe de CM2 d’Anne-Marie Lebrun (Bourg-la-Reine).
Note pédagogique
L’exercice d’encodage et le défi de décodage peuvent être menés de
façon collaborative : un élève donné encode ou décode seulement une
ligne du message, et les résultats sont mis en commun. Nous proposons
toutefois de distribuer les messages en entier aux élèves, ce qui
simplifie la logistique de la séance, permet aux élèves les plus rapides
d’avoir constamment du travail et à tous de garder mémoire du travail
collectif accompli.
Conclusion et trace écrite
La classe synthétise collectivement ce qui a été appris au cours de cette séance :
- Un caractère peut être représenté par un nombre.
- Un texte, qui est une succession de caractères, peut donc être représenté par une succession de nombres.
- L’encodage du texte est le remplacement de ses caractères par les nombres qui leur correspondent. Le décodage est l’opération inverse.
Les élèves notent ces conclusions dans leur cahier de sciences. L’enseignant, quant-à-lui, complète l’affiche « Qu’est-ce que l’informatique ? » avec ce que la classe a appris au cours de cette séance sur les notions d’information et d’algorithme.
Prolongements
Avec les plus grands, le message à décoder peut être un peu plus long. Par exemple, le message ci-dessous a la propriété amusante d’être un pangramme (toutes les lettres de l’alphabet y sont présentes au moins une fois) :
WARNING. APPROCHE CYCLONE MAJEUR. VENTS EXCEPTIONNELLEMENT FORTS ATTENDUS. RETOUR PARKING OBLIGATOIRE. INDIQUEZ DELAI PREVU.
Extrait de "1, 2, 3... codez !", Editions Le Pommier, 2016-2017. Publié sous licence CC by-nc-nd 3.0.