Sujet type bac pratique n°1 : le chiffre de Vigenère (Qt Designer et PyQt5)
Comme à l'épreuve pratique : l'interface est dessinée dans Qt Designer et enregistrée sous le nom interface.ui, le programme Python la charge avec loadUi. Les noms des objets imposés doivent être respectés. Barème sur 20 points.
Sujet : le chiffre de Vigenère (20 pts)
Le chiffre de Vigenère code un message avec une clé, un mot en majuscules. On numérote les lettres de A = 0 à Z = 25. Chaque lettre du message est décalée du numéro de la lettre de la clé qui lui correspond ; quand la clé est épuisée, on la reprend depuis le début. Les espaces du message sont recopiés tels quels et ne consomment pas de lettre de la clé.
Exemple avec le message BAC INFO et la clé CLE : B + C (2) = D, A + L (11) = L, C + E (4) = G, puis l'espace, puis I + C = K, N + L = Y, F + E = J, O + C = Q. Le message chiffré est DLG KYJQ. Pour déchiffrer, on décale dans l'autre sens.
L'interface contient :
- une zone de saisie txtMsg (QLineEdit) pour le message et une zone txtCle (QLineEdit) pour la clé, chacune avec son étiquette ;
- deux boutons radio rbChiffrer (« Chiffrer », coché au départ) et rbDechiffrer (« Déchiffrer ») ;
- un bouton btnExec (QPushButton) avec le texte « Exécuter » ;
- une étiquette lblRes (QLabel) pour le résultat.
Travail demandé
- 1) Concevoir l'interface et l'enregistrer sous le nom interface.ui (3 pts).
- 2) Développer une fonction Valide(ch, espaces) qui renvoie Vrai si ch est non vide et formée uniquement de lettres majuscules, et aussi d'espaces quand le booléen espaces est Vrai (3 pts).
- 3) Développer une fonction Vigenere(msg, cle, sens) qui renvoie le message chiffré (sens = 1) ou déchiffré (sens = -1) (7 pts).
- 4) Développer un module Play, appelé par un clic sur btnExec, qui affiche « Message invalide » si le message n'est pas valide (lettres majuscules et espaces), « Clé invalide » si la clé n'est pas valide (lettres majuscules seulement), sinon le résultat de l'opération choisie (5 pts).
- 5) Ajouter les instructions qui chargent l'interface, relient le bouton à Play et affichent la fenêtre (2 pts).
Correction détaillée
La correction de ce devoir est réservée aux abonnés. Elle donne l'analyse, l'algorithme en notation tunisienne, le programme Python vérifié et les erreurs fréquentes de chaque exercice. Avec un compte gratuit, tu peux ouvrir 3 corrections de ton choix.
Connecte-toi d'abord : créer un compte ou me connecter.
Tu as encore 0 correction(s) gratuite(s) à utiliser.
Il te faut un abonnement actif pour les autres corrections. Voir les tarifs ou demander un code sur WhatsApp, Instagram ou Facebook.
Mission Carthage est en période de test : le site s'ouvre avec un code d'accès. Demande ton code sur WhatsApp, Instagram ou TikTok, puis tape-le sur missioncarthage.tn.
Cette correction n'est pas encore publiée. Reviens bientôt.
Impossible de charger la correction. Vérifie ta connexion et réessaie.
Sujet original écrit pour Mission Carthage, dans le format de l'épreuve pratique d'informatique du bac Sciences de l'informatique. Ce n'est pas un sujet officiel.
Tout le programme : Bac Sciences de l'informatique · Revoir le cours · Tous les devoirs