gcc -g -pg racineCarree.c ./a.out gprof ./racineCarree # Profilling J'ai peut etre un probleme sur ça. ## Flat profile % cumulative self self total time seconds seconds calls Ts/call Ts/call name 0.00 0.00 0.00 6 0.00 0.00 racinecarre 0.00 0.00 0.00 2 0.00 0.00 racineCarreeTab ## Call profile index % time self children called name 0.00 0.00 1/6 main [6] 0.00 0.00 5/6 racineCarreeTab [2] [1] 0.0 0.00 0.00 6 racinecarre [1] ----------------------------------------------- 0.00 0.00 1/2 main [6] 0.00 0.00 1/2 atexit [3] [2] 0.0 0.00 0.00 2 racineCarreeTab [2] 0.00 0.00 5/6 racinecarre [1] ----------------------------------------------- # Complexité cyclomatique ## RacineCarree() - Il y a 4 - On sort dans le 1er quand n < 0 (doit etre entier positif ) - Boucle for il y a un if qui verifie la condition qui est vrai i * i = entier positif qui permet la racine 5 * 5 = 25 - if qui est faux car pas egal à l'entier positif donné - Sortie boucle for pour le resultat et return -1 si tout les cas sont faux Complixité cyclonique de 4 ## racineCarreeTab() - Fonction recurcise qui retourne lui meme donc 1 Complixité cyclonique de 1 # Complexité algorithmique racineCarree() => 0(1) car on choisit la cas en fonction de n entier positif , un choix parmi les if racineCarreeTab => O(n!) fonction recursive qui appele la racineCarre