Epreuve pratique d’informatique
Révision Bac 2024
Section : Sciences de l’informatique
Sujet N° 1 Matière : Pratique de Python
Durée : 1 heure 30 Coefficient : 1
Important :
Toutes les ressources à utiliser se trouvent dans le dossier « Ressources » situé sur la racine du disque
dur C
Il est demandé au candidat de :
- Créer, dans le répertoire Bac2024 situé sur la racine du disque C, un dossier de travail portant
son numéro d’inscription 111111 (6 chiffres) et dans lequel il doit enregistrer, au fur et à
mesure, tous les fichiers solution le ce sujet
- Copier, dans le dossier de travail le fichier « [Link] » situé dans « C:\Ressources », puis
extraire son contenu, en utilisant le mot de passe « algo1mp11s1 », dans ce même dossier de
travail
- S’assurer que le contenu extrait est formé de deux fichiers : Interface_Sujet1.ui et [Link]
- Vérifier à la fin de l’épreuve que tous les fichiers, crées sont stockés dans le dossier de travail.
Dans le cadre de la réalisation d’un projet scientifique, deux chercheurs résident dans
deux pays différents, s’échangent des données sur Internet. Pour assurer la
confidentialité de leur projet, les messages échangés sont cryptés.
Le message initial se compose au maximum de 50 lignes et chaque ligne contient 50
caractères au maximum. Ce message est stocké dans un fichier texte intitulé
« [Link] ».
On demande de remplir ce fichier avec un éditeur de texte disponible dans le laboratoire
et l’enregistrer avec le nom proposé sur le dossier de travail.
Exemple :
Pour le contenu du fichier "[Link]" suivant :
alors les étapes de détermination du fichier « [Link] » seront les suivantes :
1ère étape :
A partir du fichier « [Link] » précédent, on obtient la matrice M suivante :
0 1 2 3 4 5 6
66 111 110 106 110 117 114
M 0
84 101 115 11 49 32 32
Où 66 est le code ASCII de « B », 111
1 celui de « o »,… 32 le code ASCII du
2 77 101 114 99 105 32 32 caractère espace.
2ème étape :
Après la conversion en base 8, on obtient la matrice M suivante :
0 1 2 3 4 5 6
102 157 156 152 156 165 162
M
0
1 124 145 163 164 61 40 40
2 115 145 162 143 151 40 40
3ème étape :
A partir de la matrice M précédente on obtient le fichier « [Link] » suivant :
102#124#115
157#145#145
[Link]
156#163#162
152#164#143
…..
On se propose de concevoir une interface « Interface_Sujet1 » permettant de :
Créer et de remplir un fichier texte nommé « [Link] » par des mots. Chaque
mot doit être non vide, commencer par une lettre majuscule et contient au
minimum 3 caractères.
Trouver, à partir du fichier « [Link] » une matrice M
Convertir la matrice M vers la base 8
Trouver, à partir de la matrice M, un fichier texte nommé « [Link] »
L’interface graphique "Interface_Sujet1.ui", comme le montre la Figure1 ci-dessous,
contient les éléments suivants :
Un label contenant le texte "Révision Python Bac2024 – Sujet 1".
Un label contenant le texte "Taper un mot :".
Une zone de saisie pour saisir un mot.
Un bouton intitulé "Ajouter".
Un bouton intitulé "Trouver la Matrice MC".
Un bouton intitulé "Convertir M vers Base 8"
Un bouton intitulé "Afficher la Matrice M".
Un bouton intitulé "Afficher [Link]".
Une table widget pour afficher les colonnes d’une matrice MC de L*C entiers
Une liste widget pour afficher le contenu du fichier [Link].
Figure1 : Interface_Sujet1
Travail demandé :
1) Ouvrir le fichier "Interface_Sujet1.ui" situé dans le dossier de travail et compléter
l’interface graphique par les éléments manquants.
2) Ouvrir le fichier "[Link]" situé dans le dossier de travail et apporter les
modifications suivantes :
- Développer le module "ajouterFich" qui s’exécute suite à un clic sur le bouton
"Ajouter" et qui permet :
* d’afficher un message d’alerte (QMessagebox) indiquant une anomalie de
saisie si la contrainte de saisie n’est pas respectée (voir les imprimes écran),
ou bien,
* d’ajouter dans le fichier "[Link]" le mot saisi dans le cas contraire avec un
message de réussite de l’opération.
- Développer le module "trouverMat" selon le principe décrit ci-dessus
- Développer le module "trouverMaB8" qui permet de convertir les entiers de
la matrice M vers la base 8.
- Développer le module "afficherMat" qui permet d’afficher la matrice M dans
une table widget.
- Développer le module "afficherFichCrypt" qui permet d’afficher le fichier
"[Link]" dans une liste widget.
- Modifier les instructions de la partie exploitation de la ‘interface graphique
"Interface_Sujet1.ui" par les informations nécessaires à l’appel de l’interface
et aux différents modules développés.
Ci-dessous quelques captures d’écran montrant des exemples d’exécutions :
Figure2 : Message d’erreur (le champ de saisie est vide)
Figure3 : Message d’erreur (la longueur du champ de saisie
est inférieur à 3)
Figure4 : Message d’erreur (le champ de saisie ne
commence pas par une lettre majuscule)
Grille d’évaluation
Traitement Nombre de
points
Complétion da l’interface graphique 2.75
Développement des modules dans le fichier [Link] 15
Complétion de la partie exploitation de l’interface graphique 2.25