Le bloc d'instructions est répété à l'infini. Le nombre d'itérations du bloc d'instructions n'est pas contrôlé, il n'y a pas d'expression à évaluer.
// Sortie selon une condition SI
BOUCLE
// Lecture d'une ligne du fichier texte
UneLigne = fLitLigne(NumFic)
SI UneLigne = EOT ALORS SORTIR
TraiteLigne(UneLigne)
FIN
// Sortie selon une condition TANTQUE
BOUCLE
// Lecture d'une ligne du fichier texte
UneLigne = fLitLigne(NumFic)
TraiteLigne(UneLigne)
À FAIRE TANTQUE UneLigne <> EOT
// Sortie selon une itération
BOUCLE (10)
// Lecture d'une ligne du fichier texte
UneLigne = fLitLigne(NumFic)
TraiteLigne(UneLigne)
FIN
Syntaxe
Boucle avec sortie selon une condition "SI" Masquer les détails
BOUCLE
...
SI <Condition> ALORS SORTIR
...
FIN
<BOUCLE> :
Signale le début du bloc d'instructions.
<SORTIR> :
Permet de quitter le bloc d'instructions.
<FIN> :
Signale la fin du bloc d'instructions.
Boucle avec sortie selon une condition "TANTQUE" Masquer les détails
BOUCLE
...
A FAIRE TANTQUE <Condition>
<BOUCLE> :
Signale le début du bloc d'instructions.
<A FAIRE TANTQUE> :
Signale la fin du bloc d'instructions. Permet de quitter le bloc d'instructions. Les lignes de la boucle situées avant cette instruction sont exécutées.
Boucle avec sortie selon le nombre d'itérations Masquer les détails
BOUCLE (<Nombre d'itérations>)
...
FIN
<BOUCLE> :
Signale le début du bloc d'instructions.
<Nombre d'itérations> :
Nombre d'itérations à exécuter. La sortie de la boucle se fera lorsque le nombre d'itérations sera atteint.
<FIN> :
Signale la fin du bloc d'instructions.
Remarques
Le code à exécuter est placé entre les instructions
BOUCLE et
FIN.
Plusieurs instructions sont possibles :
- RETOUR : Sortie de la boucle et sortie du traitement (ou de la procédure) en cours.
- RENVOYER : Renvoi d'un compte-rendu au traitement appelant. Sortie de la boucle et sortie du traitement (ou de la procédure) en cours.
- SORTIR : Sortie de la boucle et exécution de la suite du traitement en cours.
La fonction
Ferme permet de sortir de la boucle et de fermer la fenêtre en cours.
Attention : Il n'est pas possible d'utiliser les instructions
RETOUR et
RENVOYER dans un même traitement.
Exécution de l'itération suivante
Pour exécuter directement l'itération suivante
sans terminer le code de l'itération en cours, utilisez l'instruction
CONTINUER :
BOUCLE
...
SI <Condition> ALORS CONTINUER // Retour au mot-clé BOUCLE
...
FIN
Lors de la compilation du projet, une boucle sans fin évidente (absence des instructions
SORTIR,
RETOUR ou
RENVOYER) est signalée par un warning.
Variable externe dans une boucle
Une variable déclarée avec le mot-clé
EXTERNE ne peut pas être utilisée dans une boucle.