Menu


1NSI

Les exercices python à connaître

programme de première
E1:listes
E2:listes
E3:listes
E4:tri par insertion
E5:tri par séléction
E6:dictionnaires / string
E7:tuple
E8:boucle / booléen / liste
E9:string
E10:dictionnaire / fonctions
E11:booléens / listes
récursivité
E1:somme d'entiers
E2:chiffres romains
E3:factorielle
E4:rendu de monnaie
POO
E1:la classe Chien
E2:carrés semi-magiques
E3:filtre sur une pile
E4:durées en POO
Arbres
E1: Hauteur et taille d'un arbre
E2: parcours 1
E3: parcours 2
E4: Recherche dans un ABR
E5: Arbre binaire additif
E6: Arbre binaire de recherche
Diviser pour régner
E1:sommet d'un tableau
E2:Indice d'une panne
E3:calcul d'une puissance
Sécurisation des communications
E1:code César
E2:Vigenre
programmation dynamique
E1:Nombres de Delannoy
E2:Communication des acacias
E2:Mineur (le meilleur filon)

Vigenere

Le chiffre de César peut être cassé très facilement, même à l'aide du seul texte chiffré. Soit par la méthode d'analyse fréquentielle, soit (si l'on sait que l'on a affaire à un chiffre de césar) en testant toutes les clés possibles : il n'y en a que 26 !!
Pour rendre ce chiffrement plus robuste, Jean Trithème en 1518 propose une amélioration :

  • Une clé que l'on répéte à l'infini indique le décalage ;
Par exemple avec la clé 'ABCD' c'est à dire '1234' :
vigenere.png
Compléter la fonction `vigenere` qui permet de chiffrer un texte avec cette méthode.