RÉPUBLIQUE TUNISIENNE |
Épreuve pratique d’informatique |
|
Sections : |
||
Coefficient de l’épreuve : 0.75 |
Durée : 1h 30mn |
Important : 1) Dans le dossier Bac2018 situé sur la racine du disque C: de votre poste, créez un dossier de travail ayant pour 2) Vérifiez à la fin de l’épreuve que tous les fichiers que vous avez créés sont dans votre dossier de travail. 3) Une solution modulaire au problème posé est exigée. |
Soit "Source.txt" un fichier texte rempli par des entiers de l’intervalle [0,255], suivi chacun par un seul espace, représentant des codes de couleurs en décimal. Ce fichier contient au maximum 20 lignes composée chacune de 10 entiers.
Afin d’obtenir un fichier texte "Resultat.txt" représentant une palette de couleurs triées de la plus claire à la plus foncée, du haut en bas, on procède comme suit :
- transférer le contenu de chaque ligne du fichier "Source.txt" vers une ligne d’une matrice M à raison d’un entier par case,
- trier dans l’ordre croissant le contenu de chaque colonne de la matrice M,
- transférer le contenu de chaque ligne de la matrice M, après le tri, vers une ligne du fichier "Resultat.txt" tout en ajoutant un espace de séparation après chaque entier.
Exemple : Pour le contenu du fichier "Source.txt" suivant :
|
Le transfert du contenu du fichier "Source.txt" vers la matrice M donne :
67 |
115 |
180 |
111 |
203 |
118 |
11 |
253 |
250 |
67 |
22 |
34 |
139 |
13 |
39 |
29 |
136 |
154 |
243 |
29 |
222 |
114 |
54 |
46 |
130 |
167 |
190 |
45 |
159 |
27 |
144 |
32 |
184 |
28 |
6 |
130 |
161 |
176 |
26 |
112 |
198 |
242 |
74 |
196 |
39 |
87 |
189 |
132 |
241 |
187 |
152 |
61 |
170 |
143 |
176 |
32 |
82 |
135 |
0 |
15 |
Après tri et transfert, on obtiendra le fichier "Resultat.txt" suivant :
|
Travail demandé :
1) En utilisant l'éditeur de texte disponible (Bloc-notes, Notepad, Notepad++, ...), créer dans le dossier de travail le fichier texte "Source.txt" et y saisir le contenu présenté dans l'exemple en respectant le contenu de chaque ligne.
2) Soit la procédure Tri_Rapide ci-dessous, écrite en langage Pascal, qui permet de trier dans l’ordre croissant un tableau T dont les indices des cases sont dans l’intervalle [d,f].
Procedure TriRapide (d, f : Integer ; Var T : Tab);
Var i, p, x, m : Integer;
Begin
If (f > d) Then
Begin
m :=(d+f div 2;
x : = T[m]; T[m]:=T[d]; T[d]:=x; p:=d;
For i : = d+1 to f Do If (T[i]<T[d]) Then Begin
p:=p+1;
x:=T[i];
T[i]:=T[p];
T[p]:=x;
End;
x:=T[p];
T[p]:=T[d];
T[d]:=x;
Tri_Rapide(d, p-1, T);
Tri_Rapide(p+1, f, T);
End;
End;
Ecrire un programme Pascal intitulé "Palette" permettant :
● de transférer le contenu du fichier "Source.txt" vers une matrice M comme décrit précédemment,
● d’utiliser le module Tri_Rapide pour trier dans l’ordre croissant chaque colonne de la matrice M,
● de transférer le contenu de la matrice M, après le tri, vers un fichier "Resultat.txt" comme décrit précédemment,
● d'afficher le contenu du fichier "Resultat.txt".
Grille d’évaluation |
Traitement |
Nombre de points |
• Décomposition en modules |
2 |
• Appel des modules |
2 |
• Si exécutions et tests réussis avec respect des contraintes |
16 |
Sinon |
|
- Structures de données adéquates au problème posé |
3 |
- Création et saisie du contenu du fichier "Source.txt" |
1 |
- Programme "Palette" (Transfert + Tri + Transfert + Affichage) |
12 = 2,5 + 5 + 2,5 + 2 |