RÉPUBLIQUE TUNISIENNE |
Épreuve pratique d’informatique |
|
Sections : |
||
Coefficient de l’épreuve : 0.5 |
Durée : 1h |
Important : Dans le répertoire Bac2019, créez un dossier de travail ayant comme nom votre numéro d’inscription |
Un gérant d’une salle de sport veut récompenser les adhérents fidèles en leur offrant un bonus sous forme d’heures d’entraînement gratuites, calculé à partir de leurs numéros d’abonnement. Le bonus est calculé en fonction de l’ancienneté de l’adhérent, exprimée en nombre de mois par rapport à la date du jour. En effet, une heure supplémentaire est offerte pour chaque mois d’ancienneté, sachant que le bonus ne sera pris en considération que si l’ancienneté dépasse 5 ans.
Un numéro d’abonnement est formé de 10 caractères dont le premier est une lettre majuscule indiquant la catégorie de l’adhérent (A : Adulte, J : Junior, E : Enfant) suivi de 9 chiffres répartis comme suit :
• Les 4 premiers chiffres représentent l’année d’adhésion qui doit être comprise entre 2000 et 2019.
• Les 2 suivants représentent le mois d’adhésion dont la valeur doit être comprise entre 1 et 12.
• Les 3 derniers chiffres représentent le numéro d’adhésion qu’on suppose distinct pour tous les adhérents.
Exemple : Pour le numéro d’abonnement E201403080, l’adhérent est un enfant dont l’année d’adhésion est 2014, le mois d’adhésion est 03 (mars) et son numéro d’adhésion est 080. Le bonus accordé à cet adhérent est de 62 heures. En effet, son ancienneté est égale à cinq ans et deux mois par rapport à la date d’aujourd’hui (28/05/2019), en nombre de mois elle est égale à 62 (12*5 + 2).
On se propose d’écrire un programme Pascal qui permet :
• de saisir un entier N représentant le nombre d’adhérents de cette salle (avec 5 ≤ N ≤ 30),
• de remplir un tableau TA par les N numéros d’abonnements de ces adhérents en respectant le format décrit précédemment,
• d’afficher les numéros d’abonnements des adhérents ayant une ancienneté supérieure à 5 ans et appartenant à une catégorie donnée ainsi que leurs bonus correspondants sachant que la date du jour à considérer est 28/05/2019.
Ci-après, un algorithme du programme principal dans lequel des modifications seront apportées pour répondre aux besoins cités ci-dessus :
0) Début Fidelite
1) Répéter
Ecrire ("Donner le nombre des adhérents :"), Lire (N)
Jusqu’à (N dans [5..30])
2) PROC Remplir (TA, N)
3) PROC Bonus (TA, N)
4) Fin Fidelite
Travail demandé :
1) Traduire l’algorithme Fidelite en un programme Pascal et ajouter les déclarations nécessaires puis enregistrer le programme, dans votre dossier de travail, sous le nom "Fidele0".
NB : Il est recommandé de limiter la taille des éléments du tableau TA à 10 caractères.
2) Dans votre dossier de travail, créer une deuxième copie de ce programme et l’enregistrer sous le nom "Fidele1". Dans ce fichier :
a- Transformer la séquence 1 en un module et apporter les modifications nécessaires dans le programme principal.
b- Développer le module Remplir qui permet de remplir un tableau TA par les N numéros d’abonnements en respectant la forme décrite précédemment.
c- Développer le module Bonus permettant :
• de saisir une catégorie d’adhérents, qui doit être une lettre majuscule parmi les suivantes : A, J ou E,
• d’afficher les numéros ainsi que les bonus correspondants aux abonnements appartenant à la catégorie donnée et ayant une ancienneté supérieure à 5 ans.
Grille d’évaluation |
|||
|
Questions |
Nombre de points |
|
|
1) Traduction de l’algorithme Nomination en Pascal et ajout des déclarations nécessaires. |
4 |
|
|
2) a- Transformation des séquences 1 et 2 en un module et ajout des contrôles nécessaires. b- Développement de la procédure Spirale. c- Développement du module Affichage. |
5.75 7.5 |
|