Classe : 4ème SI 1
Ministère de l’Education
Lycée Mourouj 1 Devoir de Contrôle N°3
***** Matière : Algorithmique et Programmation
Enseignante : Imen HAJRI Durée 1H
Mardi 31 Janvier 2023
Nom et Prénom
Poste n° :………… Note: /20
………………………………………………………..
Enregistrer vos fichiers dans le dossier ayant comme nom « votre nom et prenom» dans le dossier
DC3 de la racine C.
Soit le fichier de données "mdpass.dat" contenant des informations des clients d’une banque. Chacun de
ces derniers est un enregistrement composé de cinq champs :
Code Client : composé de 8 chiffres.
Nom : composé de lettres alphabétiques majuscules (minimum 4).
Prénom : composé de lettres alphabétiques majuscules (minimum 4).
Compte : courant ou épargne.
Mot de passe : à générer selon le principe décrit ci-dessous.
On se propose de concevoir une interface graphique contenant les objets suivants :
- Un label contenant le texte : "Générateur des mots de passe"
- Un label contenant le texte : " Code Client ".
- Un label contenant le texte : " Nom"
- Un label contenant le texte : " Prénom"
- Une zone de saisie permettant la saisie du code client.
- Une zone de saisie permettant la saisie du nom du client.
- Une zone de saisie permettant la saisie du prénom du client.
- Un bouton radio nommé "Compte Courant " coché par défaut.
- Un bouton radio nommé " Compte Epargne ".
- Un bouton intitulé " Générer mot passe ".
- Un bouton intitulé "Afficher les clients".
- Une table widget pour l’affichage du contenu du fichier "mdpass.dat".
Enregistrer l’interface graphique dans votre dossier de travail sous le nom ‘’compte.ui’’
1/2
Créer et enregistrer le fichier ‘’motp.py’’ dans votre dossier de travail, dans lequel vous allez
implémenter les modules suivants :
Le module "generer", qui s’exécute suite à un clic sur le bouton " Générer mot passe", et
permettant si toutes les contraintes sont respectées de créer un mot de passe pour le client,
ajouter ce dernier au fichier "mdpass.dat", et d’afficher un message d’erreur sinon.
Contrainte Message en cas d’erreur
Le code client doit être numérique
composé de 8 chiffres
Nom : composé de lettres alphabétiques
majuscules (minimum 4).
Prénom : composé de lettres alphabétiques
majuscules (minimum 4).
NB : En cas d’erreur, le champ correspondant doit être vidé.
Pour créer un mot de passe on doit suivre ces étapes :
On commence avec une chaîne Ch issue de la concaténation des 4 premières lettres du nom avec
les 4 premières lettres du prénom. Chaque caractère de Ch donne un équivalent selon le principe
suivant, la concaténation de ces équivalents donne un mot de passe :
o Si le caractère est entre "A" et "F", on applique la conversion de cette lettre dans la base
8 donnant la valeur p, le résultat sera la lettre ayant p comme position dans l’alphabet
français majuscule (Exp la conversion de "A" dans la base 8 donne la valeur 12, la lettre
correspondante est "L".
o Si le caractère est entre "G" et "I", son équivalent dans le mot de passe est sa position
dans l’alphabet français majuscule. Exp : l’équivalent de "I" est "9".
o Si le caractère est entre "J" et "Z", on cherche en premier lieu le plus grand diviseur
premier du code ASCII de ce caractère, d, puis on convertit d en son équivalent dans la
base 16. Exp : si le caractère est "M" son code ASCII est 77, le plus grand diviseur
premier de 77 est d=11, enfin l’équivalent de d dans la base 16 est la lette "B".
Le mot de passe généré pour la chaîne Ch="MNAHAAET" est mp= "BDL8LLP7".
Le module "afficher", qui s’exécute suite à un clic sur le bouton " Afficher les clients",
permettant d’afficher le contenu du fichier "mdpass.dat" dans la table widget.
2/2