Seconde SI 1 Nom :...................................... D´ ecryptage statistiq

Seconde SI 1 Nom :...................................... D´ ecryptage statistique Vous ˆ etes agent secret et vous venez de recevoir ce mail crypt´ e (ou cod´ e). Vous savez que c’est un po` eme ´ ecrit en fran¸ cais : YR PNEER QR Y ULCBGRAHFR RFG RTNY FV WR AR Z NOHFR N YN FBZZR QRF PNEERF QRF QRHK NHGERF PBGRF Votre mission si vous l’acceptez, consiste ` a d´ echiffrer (ou d´ ecoder, ou d´ ecrypter) ce message. Dans votre panoplie d’agent secret, vous disposez de Python, mais son utilisation n’est pas indispensable ! Pour commencer, on peut recopier le message en Python (le code ”+=” sert ` a rajouter des morceaux de texte, au texte courant).   code=’YR␣PNEER␣QR␣Y␣ULCBGRAHFR␣’ code+=’RFG␣RTNY␣FV␣WR␣AR␣Z␣NOHFR␣’ code+=’N␣YN␣FBZZR␣QRF␣PNEERF␣’ code+=’QRF␣QRHK␣NHGERF␣PBGRF ’   Pour faire des statistiques sur le message cod´ e, on cr´ ee un objet message compos´ e des lettres du message cod´ e (dans un tableau) puis un ensemble lettres pour ´ eviter d’´ ecrire plusieurs fois la mˆ eme lettre. Cet objet est l’ensemble des lettres du message.   message=[x f o r x in code] lettres=set ( message )   Pour d´ ecoder le message, on va utiliser l’algorithme d’Al Kindi (801-873), consis- tant ` a comparer la fr´ equence d’apparition des lettres cod´ ees avec la fr´ equence des lettres dans la langue fran¸ caise. En effet, si une lettre apparaˆ ıt souvent dans la langue fran¸ caise, on s’attend ` a ce qu’elle apparaisse souvent dans un message cod´ e. Pour faire le tableau d’effectifs, on peut demander ` a Python de compter les lettres du message :   f o r y in lettres: p r i n t ( y+’-->’+str ( message.count ( y ) ) )   Remplir le tableau d’effectifs suivant (on ne compte pas les espaces puisque ce ne sont pas des lettres). On n’a pas besoin de Python pour ce TP, il suffit de compter les lettres ! : lettres A B C E F G H K L N O P Q R U T V W Y Z effectifs On compare avec les fr´ equences des lettres dans la langue fran¸ caise, dont voici les plus fr´ equentes : lettres E S A I T N R U L O D C P fr´ equences (%) 14,7 7,9 7,6 7,5 7,2 7,1 6,6 6,3 5,5 5,4 3,7 3,3 3 1 Quelle lettre code le ”E” ? ............... De mˆ eme, quelle lettre code le ”S” ? ......... Et quelle lettre code le ”A” ? ....... Pour les lettres suivantes, les fr´ equences sont trop proches pour ˆ etre aussi certain. Pour continuer ` a d´ ecoder, on a donc int´ erˆ et ` a utiliser des propri´ et´ es linguistiques comme le fait qu’un mot long commence souvent par une consonne, qu’il y a peu de mots de deux lettres surtout au d´ ebut de la phrase etc. D´ ecoder alors le message : xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx Pour occuper les plus rapides Tester la variante suivante du script, qui utilise l’objet ”dictionnaire” de Python :   effectifs={} f o r x in code: effectifs[x]=code.count ( x ) p r i n t ( effectifs )   Si le temps le permet, effectuer une recherche par Internet sur le livre ”la disparition” de Georges Perec. Quelle est la particularit´ e statistique de ce livre ? .............. 2 uploads/S4/ tp11.pdf

  • 35
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Mai 02, 2022
  • Catégorie Law / Droit
  • Langue French
  • Taille du fichier 0.0931MB