RÉPUBLIQUE TUNISIENNE |
Épreuve pratique d’informatique |
|
Durée : 1h |
Coefficient : 0.5 |
|
Sections : Maths, Sciences |
Date : 19 mai 2016 |
Important :
1) Une solution modulaire au problème est exigée. 2) Enregistrez au fur et à mesure votre programme dans le dossier Bac2016 situé à la racine C: en lui donnant comme nom votre numéro d’inscription (6 chiffres). |
Pour générer automatiquement des mots de passe 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 zéro "0".
• Ajouter à la fin de la chaîne obtenue précédemment, le nombre de voyelles contenues dans le nom de l’utilisateur. La chaîne résultante représente le mot de passe.
Exemple :
Pour le tableau des utilisateurs suivant :
T |
RAOUF |
ZERIEB |
AZIZA |
FATMA |
RAYEN |
|
1 |
2 |
3 |
4 |
5 |
Le tableau des mots de passe généré est le suivant :
TM |
R@0UF3 |
ZER1EB3 |
@Z1Z@3 |
F@TM@2 |
R@YEN3 |
|
1 |
2 |
3 |
4 |
5 |
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"
• en remplaçant toutes les occurrences de la lettre "O" par le caractère zéro "0", on obtient : "R@0UF"
• en ajoutant à la fin de la chaîne obtenue précédemment, le nombre de voyelles contenues dans le nom de l’utilisateur, on obtient le mot de passe : "R@0UF3"
On se propose d’écrire un programme Pascal permettant de générer automatiquement les mots de passe des utilisateurs de l’application informatique, comme présentée ci-dessus. Pour cela, on donne l’algorithme du programme principal ci-après :
0) Début MOTPASSE
1) Répéter
Ecrire ("Donner le nombre d’utilisateurs : ")
Lire(N)
Jusqu’à N Dans [1..9]
2) Pour i de 1 à N Faire
Répéter
Ecrire ("Donner le nom de l’utilisateur n° ", i, " : ")
Lire (T[i])
j ← 0
Répéter
j ← j + 1
Jusqu’à Non (T[i][j] Dans ["A".."Z"]) ou (j = Long (T[i]))
Jusqu’à (T[i][j] Dans ["A".."Z"]) et (Long (T[i]) ≤ 20)
Fin Pour
3) Proc GenererTM (TM, T, N)
4) Proc Afficher (TM, N)
5) Fin MOTPASSE
Travail demandé :
a. Traduire l’algorithme MOTPASSE en un programme Pascal et ajouter les déclarations nécessaires.
b. Transformer la séquence n°2 en un module et apporter les modifications nécessaires dans le programme principal.
c. Développer le module GenererTM qui permet de générer le tableau TM comme indiqué précédemment.
d. Développer le module Afficher qui permet d’afficher le tableau TM.
Grille d’évaluation :
Questions |
Nombre de points |
a. Traduction de l’algorithme MOTPASSE en Pascal + Ajout des déclarations nécessaires. b. Transformation de la séquence n°2 en un module + Modifications nécessaires dans le programme principal. c. Développement du module GenererTM. d. Développement du module Afficher. |
6 + 1
|