Files

32 lines
1.1 KiB
Markdown

# TD3 — Complexité algorithmique (R5.A.04)
## Fichiers
- `banque.c` : le programme à analyser et à optimiser
- `evaluer.sh` : vérifie votre solution et mesure son temps d'exécution pour le concours
## Démarrage
```bash
gcc -O2 banque.c -o banque
time ./banque # notez le temps et l'empreinte
gcc -O0 -g -pg banque.c -o banque_pg
./banque_pg && gprof ./banque_pg gmon.out > profil_avant.txt
```
## Règles
- L'empreinte affichée doit rester `ff68d260a7a58441`.
- Interdit : modifier les constantes, `alea`, `generer_transactions` ou le format du rapport,
écrire les résultats en dur, utiliser des threads ou des bibliothèques externes.
- Autorisé : changer les signatures, réorganiser `main`, ajouter fonctions et structures,
utiliser la bibliothèque standard du C.
## Rendu
- Un commit par optimisation.
- `COMPTE_RENDU.md` à la racine : complexités avant / après de F1 à F10, profils gprof avant / après,
justification de chaque optimisation.
- Concours : `./evaluer.sh banque.c <votre_nom>` vérifie l'empreinte et mesure le temps.
La complexité cyclomatique est calculée à la main et vérifiée par l'enseignant.