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 (6 chiffres) et dans lequel vous devez enregistrer, au fur et à mesure, tous les fichiers solutions de ce sujet. |
Le responsable de marketing d’une société veut créer un nom pour un nouvel article à partir de N noms de produits existants, sachant que ces derniers ont le même nombre de caractères. Le procédé ci-après a été sélectionné pour générer des propositions à utiliser dans le choix du nouveau nom.
- Choisir un entier P inférieur à la longueur des noms des produits.
- Former une chaîne en concaténant le Pième caractère de chaque nom des N produits existants.
- Procéder à des permutations spirales des N lettres obtenues pour avoir N propositions à exploiter.
Le principe de la permutation spirale consiste à concaténer les différents caractères d’une chaîne de manière spirale en commençant par le dernier caractère (dernier caractère, premier caractère, avant dernier caractère, deuxième caractère, etc…).
Ce principe est illustré par l’exemple ci-dessous, qui pour une chaîne de départ "ABCDE" formée de 5 lettres et après 4 permutations spirales, on obtient la chaîne "BDECA". La 5ème permutation spirale permet de retrouver la chaîne de départ.
|
On se propose d’écrire un programme Pascal permettant :
· de remplir un tableau Nom par les N noms des produits déjà commercialisés (avec 3 ≤ N ≤ 20), sachant que le nom d’un produit est une chaîne formée de 10 lettres majuscules,
· de former une chaîne CH en concaténant le Pième caractère de chaque nom des N produits déjà commercialisés,
· de procéder à des permutations spirales des N lettres de la chaîne CH,
· d’afficher les N propositions obtenues.
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 Nomination
1) Ecrire ("Donner le nombre de produits : "), Lire (N)
2) Pour i de 1 à N faire
Ecrire ("Donner le nom du produit n° ", i, " : ")
Lire (Nom[i])
Fin pour
3) PROC Spirale (Nom, N)
4) Fin Nomination
Travail demandé :
1) Traduire l’algorithme Nomination en un programme Pascal et ajouter les déclarations nécessaires puis enregistrer le programme, dans votre dossier de travail, sous le nom "Nom0".
NB : Il est recommandé de limiter la taille des éléments du tableau Nom à 10 caractères.
2) Dans votre dossier de travail, créer une deuxième copie de ce programme et l’enregistrer sous le nom "Nom1". Dans ce fichier :
a- Transformer les séquences 1 et 2 en un module puis apporter les modifications adéquates dans le programme principal. Dans ce module, ajouter les contrôles nécessaires pour que :
· N soit un entier de l’intervalle [3,20],
· le nom d’un produit soit une chaîne formée de 10 lettres majuscules.
b- Développer la procédure Spirale permettant de :
· saisir un entier P (avec 1 ≤ P ≤ 10),
· former la chaîne CH en concaténant le Pième caractère de chaque nom,
· générer, dans un tableau TP, les N propositions de noms obtenues suite à la permutation spirale expliquée précédemment.
c- Dans la procédure Spirale, développer un module Affichage (TP, N) permettant d’afficher les N propositions de noms générés puis apporter les modifications nécessaires.
Exemple :
Pour N = 5, P = 3 et le tableau Nom suivant :
Nom |
CHOCOFRAIS |
MYBISCOTTO |
CONFITPLUS |
CAFFERITTA |
CHOCOCHIPS |
|
1 |
2 |
3 |
4 |
5 |
La chaîne CH est "OBNFO"
Les N propositions à utiliser sont :
OBNFO – OOFBN – NOBOF – FNOOB – BFONO
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. |
5.75 |
|
|
b- Développement de la procédure Spirale. |
7.5 |
|
|
c- Développement du module Affichage. |
2.75 |
|