Mini-projet Commun
Objectif
Développement d’un programme en langage C visant à analyser et comparer les différentes méthodes d'allocation de fichiers en mémoire centrale ainsi que les différents algorithmes de tri. Ce mini projet permettra aux étudiants d'explorer et de comprendre les avantages et les inconvénients des diverses méthodes d'allocation de fichiers et des algorithmes de tri, tout en développant leurs compétences de programmation en langage C.
Description
Le programme doit présenter un menu principal interactif offrant à l'utilisateur les options suivantes :
1. Sélection d’un fichier structuré (ensemble d’enregistrements).
2. Choix d’une méthode d'allocation de fichier en mémoire :
- Tableau
- Liste chaînée
- Arbre binaire
3. Indication de l'utilisation (ou pas) d'une fonction de hachage pour le chargement. Pour cette étape, l'utilisation de la technique d'adressage ouvert (hachage linéaire ou double) sera proposée, accompagnée d'une fonction de hachage adaptée.
4. Spécification de la méthode de tri à appliquer aux données du fichier.
- Tri à bulles.
- Tri par sélection
- Tri par insertion
- Tri par fusion
- Tri rapide.
- Génération d’un rapport d’exécution - le programme enregistrera les temps d'exécution pour chaque opération de chargement et de tri. Ces résultats seront consignés dans un fichier CSV, détaillant pour chaque ligne la méthode d'allocation de fichier, l’utilisation ou pas d’une méthode de hachage et la méthode de tri utilisée, ainsi que les temps d'exécution correspondants à chaque opération.
Mode de validation
- Le projet peut être fait en monôme ou binôme.
- Un rapport concis, ne dépassant pas trois pages, doit être fourni pour expliquer les résultats au moyen de tableaux et graphiques, avec un minimum de texte :
1. La structure du programme développé :
a. Structures de données adoptées
b. Liste et description des procédures utilisées
c. Nombre total de linges
d. Nombre de variables globales
e. Détails de la méthode de hachage adoptée
2. Comparaison de l'efficacité des différentes méthodes d'allocation de fichier.
3. Évaluation de l'impact de l'utilisation des fonctions de hachage sur les performances.
4. Analyse des performances des algorithmes de tri sur les données allouées.
· Une validation du programme sur machine sera programmée avec les responsables des modules.
· Chaque responsable de matière notera sur 10 la qualité de l'implémentation des aspects spécifiques à son propre module, ce qui signifie que chaque module se verra attribuer une note distincte.
- 5 January 2024, 11:38 PM
- 5 January 2024, 11:38 PM
- 5 January 2024, 11:38 PM
- 5 January 2024, 11:38 PM