5.2 Itérations

Il y a deux structures de contrôle itératives dans Scilab, la boucle for et la structure while. Avant de recourir aux itérateurs, il faudra essayer pour des raisons d'efficacité en terme de temps de calcul de voir si les itérateurs ne peuvent pas être remplacés par des instructions vectorielles ou matricielles.

La syntaxe de la boucle for est la suivante :

 
for <nom>=<expr>
   <instructions>
end

Le bloc d'instructions va être exécuté de façon itérative et à chaque itération la variable nom prendra une nouvelle valeur. Si le résultat de l'évaluation de l'instruction <expr> est une matrice alors le nombre d'itérations sera fixé au nombre de colonnes de cette matrice et <nom> prendra comme valeur les colonnes successives de cette matrice. Si le résultat de l'évaluation de l'instruction <expr> est une liste alors c'est la longueur de la liste qui donne le nombre d'itérations et <nom> prendra comme valeur les valeurs des éléments successifs de la liste.

Le bloc <instructions> peut contenir l'expression break. Si au cours des itérations l'instruction break est évaluée alors l'exécution de la structure d'itération se termine et l'exécution des instructions reprends à la fin du bloc itératif. La variable <nom> garde la valeur qu'elle avait lors de l'exécution du break. En l'absence d'instruction break la variable <nom> n'a plus de valeur à la fin de l'exécution du bloc itératif.


\begin{sessioncmd}
\par -->n=89;
-->for i=2:(n-1) \sleftarrow{\normalfont itérat...
...nt comparer au résultat obtenu plus haut ! }
ans =
\par0.
\par\end{sessioncmd}

La syntaxe de l'itérateur while est la suivante

 
while <condition>
   <instructions>
end

Les instructions contenues dans le bloc <instructions> sont exécutées tant que la condition <condition> est vraie. L'évaluation de la condition <condition> peut être une matrice de booléens ou une matrice de scalaire; la condition n'est alors vraie que si tous les éléments de la matrice de booléens sont vrais ou tous les éléments de la matrice scalaire sont non nuls.