Générer mot de passe – Bac Pratique 2016 [ Algorithme + Python ]

Algo et Python 12-09-24
41 0

Sujet bac informatique pratique 2017 (Bac scientifique)

Pour générer automatiquement des mots de passes pour les utilisateurs d’une application informatique, on suit les étapes suivantes :

1- On remplit un tableau T par les noms de n utilisateurs (avec 1≤n≤9), sachant qu’un nom d’utilisateur est formé de 20 lettres majuscules au maximum.

2- On génère un tableau TM contenant les mots de passe des n utilisateurs. Un mot de passe est généré en apportant les modifications suivantes au nom de l’utilisateur:

- Remplacer toutes les occurrences de la lettre ‘’A’’ par le caractère ’@’.

- Remplacer toutes les occurrences de la lettre ‘’O’’ par le caractère ’0’.

- Ajouter à la fin de la chaîne obtenue précédemment, le nombre de voyelles contenues dans le nom de l’utilisateur. La chaine résultante représente le mot de passe.

Exemple : Pour le tableau T des utilisateurs suivant :

RAOUF ZERIEB AZIZA FATMA RAYEN NADIA

Le tableau TM des mots de passe généré est le suivant :

R@0UF3 ZERIEB3 @ZIZ@3 F@TM@2 R@YEN3 N@DI@3

Par exemple, le mot de passe de l’utilisateur « RAOUF » est « R@0UF3 ». En effet,

- En remplaçant toutes les occurrences de la lettre ‘’A’’ par le caractère ’@’, on obtient « R@OUF»

- Remplacer toutes les occurrences de la lettre ‘’O’’ par le caractère ’0’, on obtient « R@0UF».

- En ajoutant à la fin de la chaine obtenue, le nombre des voyelles dans le nom de l’utilisateur, on obtient le mot de passe « R@0UF3 ».

On se propose d’écrire un programme Python permettant de générer automatiquement les mots de passe des utilisateurs.

Solution Algorithmique

Pour générer automatiquement les mots de passe des utilisateurs à partir de leurs noms, l'algorithme peut suivre les étapes ci-dessous :

1-Initialisation :

a) Créer un tableau T contenant les noms des utilisateurs.

b) Créer un tableau vide TM qui contiendra les mots de passe générés.

2- Parcours des noms d'utilisateurs : Pour chaque utilisateur dans T :

a) Remplacer chaque occurrence de la lettre 'A' par '@'.

b) Remplacer chaque occurrence de la lettre 'O' par '0'.

c) Compter le nombre de voyelles dans le nom de l'utilisateur (les voyelles étant : 'A', 'E', 'I', 'O', 'U', 'Y').

d) Ajouter le nombre de voyelles à la fin du nom modifié pour former le mot de passe.

e) Insérer le mot de passe dans le tableau TM.

3- Retourner le tableau TM contenant les mots de passe générés.

Dans cet algorithme, On va utiliser trois fonctions et trois procédures :

Algorithme du programme principal

Déclaration des objets

 

Objet Type / Nature
n entier
t tableau de 30 chaînes des caractères
tm tableau de 30 chaînes des caractères

 

La fonction saisie_taille

Cette fonction retourne la taille du tableau saisie par l'utilisateur.

Déclaration des objets

Objet Type / Nature
n entier

 

La fonction verif_majus

Cette fonction vérifie si une chaîne est composée uniquement des lettres majuscules et retourne une valeur booléenne(Vrai ou Faux).

Déclaration des objets

Objet Type / Nature
i entier

 

La procédure remplir

Cette procédure remplit le tableau t par des chaînes composées uniquement des lettres majuscules et dont leur longueur <=20

Déclaration des objets

Objet Type / Nature
i entier

 

La fonction nbr_voyelles

Cette fonction retourne le nombre des voyelles qui se trouvent dans une chaîne des caractères

Déclaration des objets

Objet Type / Nature
i entier
cp entier

 

La procédure generer_motdepasse

Cette procédure génère automatiquement les mots de passe des utilisateurs et les stocke dans le tableau tm.

Déclaration des objets

Objet Type / Nature
i entier
j entier
ch chaîne des caractères
ch1 chaîne des caractères

 

La procédure affiche

Cette procédure affiche les éléments du tableau

Déclaration des objets

Objet Type / Nature
i entier

 

Solution en Python

Exécution du programme

Solution en Python et Designer QT

Pour créer une application en Python pour générer automatiquement les mots de passe des utilisateurs. en utilisant Qt Designer pour l'interface graphique, suivez ces étapes :

1- Créer l'interface graphique avec Qt Designer

a- Ouvrez Qt Designer et créez un nouveau fichier de type Main Window.

b- Ajoutez ces widgets:

QLabel nommé 'ch' pour entrer la liste des identificateurs.

QPushButton nommé 'remplir_bt' pour exécuter le module createTab.

QPushButton nommé 'generer_bt' pour exécuter le module generation_motdepasse.

QLabel nommé 'msg' pour afficher un message d'erreur

QLabel nommé 'tabt_label' pour contenir les identificateurs.

QLabel nommé 'tabtm_label' pour contenir les mots de passe.

Enregistrez le fichier avec l'extension .ui, par exemple tabtab-2.ui.

2- Créer le script Python pour l'application

Voici un exemple de script Python qui utilise l'interface graphique générée par Qt Designer.

Exécution du programme

1) Entrer les identificateurs

2) Générer les mots de passe correspondants

 

Vous pouvez voir aussi :

1) des exercices sur les chaînes des caractères

2) des exercices sur les tableaux

3) des sujets Bac pratique

4) des sujets Bac théorique

0 commentaire

laisser un commentaire

Veuillez noter s'il vous plaît*

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Passion de robotique

Atelier robotique

Construction des robots

Bras robotique

Maison intelligente

But de ce site web

La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.

Coordonnées

Zaouiet Kontech-Jemmel-Monastir-Tunisie

+216 92 886 231

medaliprof@gmail.com

Photos des articles

Site robotique réalisé par Mohamed Ali-Prof Info