Calculer le temps
d’exécution des algorithmes
Durée : 3h
Objectifs :
Réaliser les algorithmes de tris étudiés en cours
Coder avec des fichiers séparés
Utiliser des Tableaux dynamiques
Calculer le temps d’exécution des différents algorithmes (lents et
rapides)
Attention :
À chaque étape de programmation, vous devez vérifier si le programme
:
Compile sans warning
Obtient les résultats attendus
Avant de coder, il faut écrire un algo avec un papier et un stylo !
logo
0- Objectifs
Cette vidéo ne peut être affichée sur votre navigateur Internet. Une
version est disponible en téléchargement sous adresse du
lien .
1-
Reprendre l’arborescence créée au TD précédent et rajouter les deux
fichiers suivants :
trisRapides.h
trisRapides.c
2- Créer un nouveau main !
Attention un programme ne peut contenir qu’une seule fonction main
!!
Il ne faut donc pas réutiliser le main créé dans le td4.
Par contre, on réutilise :
fonctions.h
fonctions.c
trisLents.h
trisLents.c
main.c
#include <stdio.h>
#include "fonctions.h"
#include "trisLents.h"
#include "trisRapides.h"
int main(){
printf( "C'est le TP7 !" );
return 0 ;
}
3- Coder les tris suivants :
La compilation doit être séparée
le corps de la fonction est dans le fichier trisRapides.c
la signature de la fonction dans fichier trisRapides.h
l’appel de la fonction dans le fichier main.c
Attention :
Certains tris nécessitent la création de procédures/fonctions !
n’oubliez pas de sauvegarder une copie du tableau créé
aléatoirement
d’appliquez le tri à la copie du tableau, afin de pouvoir le
réutiliser pour les autres tris
/* Auteur : ... */
/* Date : ... */
/* Résumé : ... */
/* Entrée(s) : ... */
/* Sortie(s) : ... */
void triRapide( int * monTab, int pas, int taille);
/* Auteur : ... */
/* Date : ... */
/* Résumé : ... */
/* Entrée(s) : ... */
/* Sortie(s) : ... */
void triFusion( int * monTab, int pas, int taille);
4- Calculer
le temps d’exécution pour chacun des tris.
Pour cela, vous pouvez vous aider de CLOCK.
clock_t t1, t2;
float temps_total;
t1= clock();
maSuperFonction( parametre1, parametre2);
t2= clock();
temps_total= ( float )( t2- t1)/ CLOCKS_PER_SEC;
printf( "ma Super Fonction a mis %f de secondes à s'executer \n " , temps_total);
5- (Bonus)
logo
Créer un makefile permettant de compiler le tout
Ajouter au programme la possibilité de rajouter un argument à
l’éxécution avec la taille du Tableau
Créer un menu interactif permettant à l’utilisateur de choisir un
tri en particuliers