IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
next up previous contents index
Next: Les opérateurs Up: Les tableaux Previous: Les tableaux

Sous-sections

Les instructions itératives

Instruction for

 

$\bullet$
Syntaxe :

instruction :
$\Rightarrow$ for ( expression $_{1 \hspace{1mm}option}$ ; expression $_{2 \hspace{1mm}option}$ ; expression $_{3 \hspace{1mm}option}$ )
instruction

$\bullet$
Sémantique : l'exécution réalisée correspond à l'organigramme suivant :


\begin{picture}(100,100)
\put(35,12){\framebox (30,8){expression3}}
\put(35,32){...
...,0){40}}
\put(10,0){\line(0,66){66}}
\put(10,66){\vector(1,0){39}}
\end{picture}

Lorsque l'on omet expression1 et/ou expression2 et/ou expression3, la sémantique est celle de l'organigramme précédent, auquel on a enlevé la ou les parties correspondantes.

Remarques

On voit que la vocation de expression1 et expression3 est de réaliser des effets de bord, puisque leur valeur est inutilisée.   Leur fonction logique est d'être respectivement les parties initialisation et itération de la boucle. L' expression2 est utilisée pour le test de bouclage. L'instruction est le travail de la boucle.

Exemple de boucle for

Initialisation d'un tableau à zéro :
#define N 10
int t[N];
for (i = 0; i < N; i = i + 1) t[i] = 0;

Instruction while

 

$\bullet$
Syntaxe :

instruction :
$\Rightarrow$ while ( expression ) instruction

$\bullet$
Sémantique :

l'exécution réalisée correspond à l'organigramme suivant :


\begin{picture}(100,60)
\put(35,12){\framebox (30,8){instruction}}
% on ne peut ...
...){36}}
\put(0,36){\vector(1,0){29}}
\put(50,50){\vector(0,-1){10}}
\end{picture}

Instruction do

 
$\bullet$
Syntaxe :

instruction :
$\Rightarrow$ do instruction while ( expression ) ;

$\bullet$
Sémantique :

l'exécution réalisée correspond à l'organigramme suivant :


\begin{picture}(100,60)
\put(35,32){\framebox (30,8){instruction}}
% on ne peut ...
...e(1,0){50}}
\put(0,0){\line(0,1){36}}
\put(0,36){\vector(1,0){34}}
\end{picture}

Instruction break

   

$\bullet$
Syntaxe :

instruction :
$\Rightarrow$ break ;

$\bullet$
Sémantique :

Provoque l'arrêt de la première instruction for, while, do englobante.

Exemple

L'instruction for ci-dessous est stoppée au premier i tel que t[i] est nul :

for (i = 0; i < N; i = i + 1)
   if (t[i] == 0) break;

Instruction continue

 

$\bullet$
Syntaxe :

instruction :
$\Rightarrow$ continue ;

$\bullet$
Sémantique :

Dans une instruction for, while ou do, l'instruction continue provoque l'arrêt de l'itération courante, et le passage au début de l'itération suivante.

Exemple

Supposons que l'on parcoure un tableau t pour réaliser un certain traitement sur tous les éléments, sauf ceux qui sont négatifs :

for (i = 0; i < N; i = i + 1)
   {
   if (t[i] < 0 ) continue;   /*   on passe au i suivant dans le for   */
   ...                        /*   traitement de l'élément courant     */
   }


next up previous contents index
Next: Les opérateurs Up: Les tableaux Previous: Les tableaux
Bernard Cassagne
1998-12-09