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 |
Le terme "CAPTCHA" désigne un code permettant de différencier de manière automatisée un utilisateur humain d’un robot (voir figure 1).
Pour générer automatiquement un code "CAPTCHA", on suit les étapes suivantes : 1) On remplit d’une manière aléatoire, par des 0 ou des 1, un tableau T de 26 cases indicées de "A" à "Z". 2) On génère une chaîne de caractères CH par la concaténation des indices des cases du tableau T contenant la valeur 1. 3) On ajoute à la fin de la chaîne CH, le caractère dont le code ASCII est égal à : 70 + le nombre de voyelles contenues dans la chaîne CH. La chaîne obtenue représente le code CAPTCHA. |
|
Exemple :
1) Pour le tableau T suivant :
|
2) La chaîne CH formée à partir des indices du tableau T est : "BEFGILOTVXZ".
3) On ajoute à la fin de la chaîne CH. le caractère "1" dont le code ASCII est égal à 73,
Car
● le nombre de voyelles contenues dans la chaîne CH est égal à 3
● 70 + 3 = 73 (qui est le code ASCII de la lettre "J").
D’où, le code "CAPTCHA" obtenu est la chaîne : "BEFGILOTVXZI"
On se propose d’écrire un programme Pascal permettant de générer automatiquement N codes "CAPTCHA" de la manière présentée ci-dessus (avec 1 < N < 11). Pour cela, on donne l’algorithme du programme principal suivant :
0) Début CAPTCHA
1) Répéter
Ecrire ("Donner le nombre de codes à générer : ")
Lire(N)
Jusqu’à N Dans [2..10]
2) Pour i de 1 à N Faire
Proc Remplir (T)
Ecrire ("Le code CAPTCHA n° ", i, " est : ", FN GenererCap(T))
Fin Pour
3) Fin CAPTCHA
Travail demandé :
a. Traduire Talgorithme CAPTCHA en un programme Pascal et ajouter les déclarations nécessaires.
b. Transformer la séquence n°l en un module et apporter les modifications nécessaires dans le programme principal.
c. Développer le module Remplir qui permet de remplir d’une manière aléatoire, par des 0 ou des 1, un tableau T de 26 cases indicées de "A" à "Z".
d. Développer le module GenererCap qui permet de générer le code CAPTCHA comme indiqué précédemment.
Grille d’évaluation :
Questions |
Nombre de points |
a. Traduction de l’algorithme CAPTCHA en Pascal + Ajout des déclarations nécessaires. b. Transformation de la séquence n°l en un module + Modifications nécessaires dans le programme principal. c. Développement du module Remplir. d. Développement du module GenererCap. |
5 + 1
3 + 1
|