Réaliser une classe Compresseur
répondant aux algorithmes de compression/décompression de données mettant en oeuvre la méthode RLE.
- TP no 7
- la compression RLE
On désire créer une classe Compresseur
déclarée dans le fichier compress.h
et définie dans le fichier compress.cxx
.
Le diagramme de classes UML est le suivant (fstream
est une classe déclarée dans <fstream>
et permet de gérer les fichiers de données) :
Les fonctions membres compresser et decompresser doivent répondre aux prototypes suivants :
void compresser(string fichierEntree, string fichierSortie);
void decompresser(string fichierEntree, string fichierSortie);
Donner en pseudolangage les algorithmes des fonctions compresser
et decompresser
. Justifier le choix du type de vos variables.
Implémenter en C++ la classe Compresseur
.
Valider la classe en compressant le fichier test image.xpm
. Le fichier destination sera nommé image.xp_
. Éditer le fichier compressé et vérifier son intégrité. Décompresser image.xp_
en image2.xpm
et relever le taux de compression obtenu.
Nous avons précédemment mesuré le taux de compression par une méthode contestable. Modifier la classe en conséquence pour permettre un calcul automatique du taux.
- Compilateur GNU C++
- Système d'exploitation GNU/Linux, Mac OS X ou Ms-Windows
- Qualité et organisation des documents rendus (codes sources, fichier LISEZMOI, etc.)
- Autonomie