52 lines
1.7 KiB
Markdown
52 lines
1.7 KiB
Markdown
|
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
|
||
|
|
||
|
|
||
|
|
||
|
|