Rim Chaabane. Analyse dynamique de ... - Université Paris 8
Rim Chaabane. Analyse dynamique de ... - Université Paris 8
Rim Chaabane. Analyse dynamique de ... - Université Paris 8
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Chapitre 6 - Exemples <strong>de</strong> résultats<br />
Nous voyons dans ce <strong>de</strong>uxième exemple comment<br />
l affichage graphique <strong>de</strong>s dépendances <strong>dynamique</strong>s réalisé<br />
peut mettre en évi<strong>de</strong>nce les variables non utilisées au cours<br />
<strong>de</strong> l exécution <strong>de</strong> programmes.<br />
1 /* isole.c */<br />
2 int main() {<br />
3 int x,y,z;<br />
4 x = 1;<br />
5 y = 5;<br />
6 z = 3;<br />
7 z += x;<br />
8 return x;<br />
9 }<br />
Nous utilisons le co<strong>de</strong> source ci-<strong>de</strong>ssus définissant une<br />
variable y sans l utiliser dans le reste <strong>de</strong>s instructions, nous<br />
pouvons alors visualiser le comportement <strong>de</strong>s instructions<br />
<strong>de</strong> ce programme sur la figure 25, la variable y i<strong>de</strong>ntifiée par<br />
1-1 (cf. ligne 5 du co<strong>de</strong> source) est isolée <strong>de</strong>s autres<br />
instructions. Ceci peut nous permettre dans le cas <strong>de</strong> longs<br />
programmes complexes d isoler les instructions qui n ont pas<br />
<strong>de</strong> rôle dans l exécution du programme et <strong>de</strong> les éliminer afin<br />
d améliorer le temps d exécution <strong>de</strong> ce <strong>de</strong>rnier, d autant plus<br />
si l instruction se trouve dans une boucle appellée un grand<br />
nombre <strong>de</strong> fois.<br />
6.2. Conditionnelles<br />
Figure 25. Mise en évi<strong>de</strong>nce d'une<br />
variable isolée<br />
z<br />
z<br />
x<br />
y<br />
Nous voyons les résultats obtenus par notre programme pour la gestion d instructions à<br />
conditions, en commençant par donner <strong>de</strong>s exemples <strong>de</strong> graphes obtenus pour l instruction if,<br />
puis nous montrons <strong>de</strong>s graphes obtenus pour les boucles while, do..while() et for. Mais<br />
avant d abor<strong>de</strong>r ces exemples, il faut noter que seule la comparaison < est gérée par notre<br />
programme.<br />
6.2.1. L instruction if<br />
6.2.1.1. Cas simples<br />
Pour voir le comportement <strong>de</strong> programmes faisant appel à l instruction <strong>de</strong> contrôle if, nous<br />
utilisons les <strong>de</strong>ux programmes ci-<strong>de</strong>ssous, le premier vérifie une condition vraie et le <strong>de</strong>uxième<br />
vérife une condtion fausse et fait appel également à l instruction else, les représentations<br />
graphiques <strong>de</strong> ces <strong>de</strong>ux programm²es sont présentées à la figure 25.<br />
if2.c<br />
if1.c<br />
1 int main (void){<br />
2 int x;<br />
3 x=6;<br />
4 if (x