19.06.2014 Views

Rim Chaabane. Analyse dynamique de ... - Université Paris 8

Rim Chaabane. Analyse dynamique de ... - Université Paris 8

Rim Chaabane. Analyse dynamique de ... - Université Paris 8

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!