// On m'a, sans plus d'manières,
// Bouclé, bouclé.
// On m'a mis pensionnaire
// Dans l'collèg' dont j'n'ai pas la clef.
// Paroles & musique de Charles Trenet.
// Vous vous en doutez, aujourd'hui les BOUCLES.
______________________________________________
res=0; // Il est prudent de vérifier la variable qui contrôle
// la boucle avant le début de celle-ci...
dou lafindesharicot; // Booléen toujours à off : boucle infinie...
// (comme l'ancien DO *HIVAL en format fixe)
res+=1; // Incrémentation
if res=13;
iter; // Occurrence de boucle suivante : il n'y aura pas
endif; // de traitement(13).
traitement(res);
if res=38;
leave; // Puisque cette boucle est infini, il faut une intruction
endif; // de sortie !
enddo;
______________________________________________
res=0;
dou res=38; // Do Until, jusqu'à ce que la condition soit vraie.
// Test en fin de boucle.
res+=1; // On passe au moins une fois dans la boucle.
traitement(res);
enddo;
______________________________________________
res=0;
dow res<38; // Do while, tant que la condition est vraie.
// Test en début de boucle.
res+=1; // On peut ne pas passer dans la boucle.
traitement(res); // C'est une sorte de "if".
enddo;
______________________________________________
// Depuis peu il existe une instruction for,
// je vous laisse la joie de la découvrir dans la doc et à vos claviers...
// Par exemple pour gérer un tableau grace à son incrémentation intégrée.
// L'essentiel est d'entrer dans la boucle,
// d'effectuer le nombre de tours voulus,
// et d'en sortir.
// Mélanger les While et les Until peut s'avérer délicat...
// Mais pourquoi pas :
// Until pour les fichiers. While pour les écrans, For pour les tableaux ?
// L'avantage de la boucle infinie, me semble-t'il,
// c'est sa franchise et sa simplicité :
// vous allez y entrer et vous savez qu'il faut un leave dedans pour en sortir !
// A ce propos, leave vous fait sortir de la boucle qui le contient ;
// s'il faut sortir de plusieurs boucles imbriquées, opérer par cascade.
// Le iter peut rendre service pour sauter une partie de la boucle,
// mais attn : codé un peu rapidement, il peut vous piéger !
______________________________________________
// a12c4 - à un de ces quatre