0% ont trouvé ce document utile (0 vote)
233 vues4 pages

Série 11

Transféré par

jihed rezgani
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
233 vues4 pages

Série 11

Transféré par

jihed rezgani
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Algo & Prog

Classe :
S
Bac Sciences de l’informatique

Série 11 : Interface graphique

Nom du prof : Mme Amel Ben Saâd


Algo & Prog

Introduction 10 min

Widget Méthode Rôle

.toPlainText() Récupérer le texte

QTextEdit .setText(ch) Attribuer un nouveau texte

.clear() Effacer le contenu

.text() Récupérer le texte


QRadioButton
(Bouton radio) Renvoie l'état booléen (True / False) du bouton radio
.isChecked()
(True : sélectionné / False : n’est pas sélectionné)

.text() Récupérer le texte


QCheckBox
(Case à cocher) Renvoie l'état booléen (True / False) de la case à co-
.isChecked()
cher (True : cochée / False : n’est pas cochée)

.currentText() Récupérer le texte du choix


QComboBox
(Liste déroulante) .currentIndex() Récupérer l’indice du choix

.addItem(ch) Ajouter un élément à la liste


QListWidget
.clear() Efface le contenu de la liste

.setRowCount(N) Définir le nombre de ligne se la table

.setColumnCount(N) Définir le nombre de ligne se la table


QTabWidget
.setItem(i,j,QTableWidgetItem(ch)) Attribuer à la case[i,j] l’élément ch

.clear() Effacer le contenu du table

1
Algo & Prog

Exercice 1 80 min

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’’

2
Algo & Prog

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 al-


phabétiques majuscules (mini-
mum 4).

Prénom : composé de lettres


alphabétiques majuscules (mi-
nimum 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 calcule la somme des chiffres du code ASCII de
du caractère, le résultat sera la lettre ayant S comme position dans l’alphabet français
majuscule avec S est la somme des chiffres du code ASCII (Exp pour la lettre "A" S = 6
+ 5 = 11 , la lettre correspondante est "K".
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,
. Exp : si le caractère est "M" son code ASCII est 77, le plus grand diviseur premier de
77 est d=11 on concatène cette valeur avec le mot de passe.

▪ Le module "afficher", qui s’exécute suite à un clic sur le bouton " Afficher les clients", permet-
tant d’afficher le contenu du fichier "mdpass.dat" dans la table widget.

Vous aimerez peut-être aussi