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 identificateurs 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 Tid contenant les identificateurs des N utilisateurs, sachant qu’un identificateur est formé suite à la concaténation des éléments suivants :
● les deux premières lettres du nom de l’utilisateur,
● l’indice de la case du tableau T contenant le nom de l’utilisateur,
● le caractère dont le code ASCII est égal à la somme du code ASCII de la première lettre du nom de l’utilisateur et le nombre de voyelles qui y sont contenues. Si la somme obtenue est supérieure à 90, le caractère à ajouter sera automatiquement "a".
Exemple : Pour le tableau des utilisateurs suivant :
T |
RAOUF |
ZERIEB |
AZIZA |
FATMA |
RAYEN |
NADIA |
|
1 |
2 |
3 |
4 |
5 |
6 |
Le tableau des identificateurs généré est le suivant :
Tid |
RA1U |
ZE2a |
AZ3D |
FA4H |
RA5U |
NA6Q |
|
1 |
2 |
3 |
4 |
5 |
6 |
Par exemple, l’identificateur de l’utilisateur "RAOUF" est "RA1U", qui est la concaténation des éléments suivants :
● les deux premières lettres du nom de l’utilisateur : "RA"
● l’indice de la case du tableau T contenant le nom de l’utilisateur : "1"
● le caractère dont le code ASCII est égal à la somme du code ASCII de la première lettre du nom de l’utilisateur (82) et le nombre de voyelles qui y sont contenues (3) = le caractère dont le code ASCII est égal à 85 : "U"
On se propose d’écrire un programme Pascal permettant de générer automatiquement les identificateurs des utilisateurs de l’application informatique, de la manière présentée ci-dessus. Pour cela, on donne l’algorithme du programme principal ci-après :
0) Début IDENTIF
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"J) et (Long (T(i]) < 20)
Fin Pour
3) Proc FormerTI (Tid, T, N)
4) Proc Afficher (Tid, N)
5) Fin IDENTIF
Travail demandé :
a. Traduire l’algorithme IDENTIF 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 FormerTI qui permet de générer un tableau Tid comme indiqué précédemment.
d. Développer le module Afficher qui permet d’afficher le tableau Tid.
Grille d’évaluation :
Questions |
Nombre de points |
a. Traduction de l’algorithme IDENTIF 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 FormerTI. d. Développement du module Afficher. |
6+1
2,5 |