Vous êtes sur la page 1sur 1

ème

Dr. KERMI Adel – SFSD - 2 année CPI – G5, G7 et G10 - Année universitaire : 2015/2016

Travail Pratique N° 2 – SFSD


Structures simples de fichiers – Méthode : « LOVC »
Ce travail pratique consiste à construire un fichier binaire nommé « Météo_DZ.bin » contenant les mesures de
températures effectuées sur les différentes wilayas algériennes à différentes dates. Ce fichier sera organisé selon la
méthode « LOVC » : fichier vu comme Liste, Ordonnée, avec des enregistrements de taille Variables et acceptant les
Chevauchements entre les blocs.

Travail demandé
1. Programmez le modèle vu en cours. Le modèle comprend les fonctions : LirDir, EcrirDir, Entete, Aff_Entete,
Ouvrir, Fermer, et Alloc_Bloc.

2. Programmez un module de création du fichier Météo_DZ.bin où chaque enregistrement est composé de 4


champs : < Code_Wilaya, Libellé_Wilaya, Date_Mesure, Température >.
La création du fichier s’appuiera sur un module de chargement initial qui consiste à remplir le fichier avec N
enregistrement (N étant un entier à lire, par exemple : 10, 100, 1000, etc.). Pour que le chargement initial soit
rapide, vous devrez le réaliser avec des valeurs aléatoires comme suit :
- Code_Wilaya : Vous générez un nombre aléatoire entre 1 et 48.
- Libellé_Wilaya : Vous le récupérez du code de wilaya généré.
- Date_Mesure : Vous générez un nombre aléatoire entre 1990 et 2015 pour l’année, un nombre aléatoire entre
1 et 12 pour le mois, et un nombre aléatoire entre 1 et le nombre de jours du mois généré (soit 28 ou 29 ou 30
ou 31) pour le jour. Vous devrez tenir compte de l’ensemble des contrôles sur la date (par exemple :
Date_Mesure <=Date du jour, année bissextile ou non, etc.).
- Température : Vous générez un nombre aléatoire entre -70 et 70.

3. Programmer un module d’épuration du fichier qui consiste à supprimer tous les doublons de couples <
Code_Wilaya, Date_Mesure> dans le fichier, puisque les fonctions aléatoires peuvent générer des doublons.

4. Programmer les modules suivants :


- Insertion d’un nouvel enregistrement au fichier.
- Modification d’une température d’une wilaya donnée à une date donnée.
- Supprimer un enregistrement donné par le code de wilaya et la date de mesure.
- Supprimer tous les enregistrements relatifs à une wilaya donnée.
- Connaître la température minimale, maximale et moyenne pour une willaya donnée.
- Consulter ou afficher tous les enregistrements relatifs à une wilaya donnée pour une période donnée
(Requête à intervalle de dates).
- Consulter tous les enregistrements ayant une température entre deux valeurs données (Requête à
intervalle de températures).
5. Afficher sur votre écran l’en-tête du fichier, le nombre de LireDir et EcrireDir, ainsi qu’une
représentation graphique de l’organisation globale et interne des blocs du fichier.
6. En plus des codes sources, remettre un petit rapport en version électronique (.pdf) comportant vos
structures de données, une représentation graphique de l’organisation globale et interne des blocs du
fichier, ainsi qu’une section justifiant les choix des méthodes que vous avez appliqué pour les
différentes opérations de mise à jour et de consultation demandées: recherche, insertion, suppression,
épuration, etc.

Vous aimerez peut-être aussi