الرئيسية › الامتحانات › باكالوريا علوم الإعلامية
Sujet type bac pratique n°1 : le chiffre de Vigenère et son carré (Qt Designer et PyQt5)
اكتب البرامج متاعك بـ Python ولا بالـ algorithme وثبّت فيهم في بلاصتهم، وبعد حلّ الإصلاح تمرين بتمرين.
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.
Le programme ne calcule pas les décalages un par un : il les lit dans le carré de Vigenère, une matrice V de 26 lignes et 26 colonnes de lettres. La ligne i commence par la lettre numéro i et continue dans l'ordre de l'alphabet : V[i][j] est la lettre numéro (i + j) mod 26. Pour chiffrer une lettre de numéro x avec une lettre de clé de numéro d, on lit V[d][x]. Pour déchiffrer, on cherche dans la ligne d la colonne k qui contient la lettre chiffrée : la lettre claire est la lettre numéro k.
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 (2 pts).
- 3) Développer une procédure RemplirCarre(V) qui remplit la matrice V décrite ci-dessus (3 pts).
- 4) Développer une fonction Vigenere(V, msg, cle, sens) qui renvoie, à l'aide du carré V, le message chiffré (sens = 1) ou déchiffré (sens = -1) (6 pts).
- 5) 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 (4 pts).
- 6) Ajouter les instructions qui remplissent le carré, chargent l'interface, relient le bouton à Play et affichent la fenêtre (2 pts).
الإصلاح المفصّل
الإصلاح متاع الامتحان هذا للمشتركين. فيه التحليل، والـ algorithme بالنوطاسيون التونسية، والبرنامج Python المجرّب، والغلطات اللي ترجع برشا في كل تمرين. بحساب بلاش، تنجم تحلّ 3 إصلاحات تختارهم إنت.
ادخل لحسابك قبل: اعمل حساب ولا ادخل.
مازال عندك 0 إصلاح بلاش.
باش تحلّ الإصلاحات الأخرين لازمك اشتراك. شوف الأسعار ولا اطلب code على WhatsApp ولا Instagram ولا Facebook.
الإصلاحات اللي بلاش متاع الجهاز هذا تستعملو، بالحساب هذا ولا بحساب آخر: كل جهاز عندو 3 إصلاحات بلاش، مهما كان عدد الحسابات. للإصلاحات الأخرين لازمك اشتراك. شوف الأسعار ولا ابعثلنا على WhatsApp.
الموقع توّا في فترة test: يتحلّ بـ code. اطلب الـ code متاعك على WhatsApp ولا Instagram ولا TikTok، وبعد اكتبو في missioncarthage.tn.
الإصلاح هذا مازال ما تنشرش. ارجع قريب.
ما نجمناش نحمّلو الإصلاح. ثبّت في الكونكسيون وعاود جرّب.
كل الإصلاحات حتى الفرض التأليفي3 أشهر بـ 20 د، العرض حتى 30 نوفمبر 2026 ابعثها لبابا ولّا ماما يخلّصوموضوع أصلي كتبناه لـ Mission Carthage، على نفس الشكل متاع امتحانات القسم. الأستاذ متاعك يبقى هو المرجع.
البرنامج الكل: باكالوريا علوم الإعلامية · عاود اقرا الكور · الامتحانات الكل