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.
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.