Tutoriel : Boucles For et While

Aperçu

Ce tutoriel vous guidera à travers quelques-unes des fonctions et utilisations communes des boucles For et While. Vous apprendrez à créer des boucles For et While et à les utiliser au moment opportun dans votre programme.

Une boucle While est une instruction de flux de contrôle permettant d'exécuter un bloc de code de sous-diagramme de façon répétée jusqu'à ce qu'une condition booléenne définie soit satisfaite. Tout d'abord, le code du sous-diagramme est exécuté, puis le terminal de condition est évalué. Contrairement à la boucle For, la boucle While n'a pas de nombre d'itérations défini. La boucle While s'exécute donc indéfiniment si la condition ne se produit jamais.

 

Une boucle For est une instruction de flux de contrôle permettant d'exécuter un bloc de code de sous-diagramme un certain nombre de fois, mais une boucle While arrête l'exécution du sous-diagramme uniquement si la valeur du terminal de condition existe.

 

Construire une boucle While

1. Ouvrez un nouveau VI.​ Vous pouvez ouvrir un VI vide en sélectionnant Fichier » Nouveau VI

2. Si la palette Fonctions n'est pas visible, cliquez avec le bouton droit sur un espace vide du diagramme pour faire apparaître temporairement la palette.​ Cliquez sur la punaise dans le coin supérieur gauche de la palette Fonctions pour fixer la palette à l'écran.​

3. Sélectionnez la boucle While dans la palette Structures sous la palette Fonctions.

 


4. Utilisez le curseur pour former un rectangle de sélection autour de la section du diagramme que vous souhaitez répéter.​


5. Une fois le bouton de la souris relâché, une boucle While englobe la section que vous avez sélectionnée.​


6. Placez un bouton Arrêter sur la face-avant. Vous trouverez ce bouton sous la palette Commandes » Booléen » Arrêter.


7. Ajoutez le bouton Arrêter du diagramme à la boucle While via glisser-déposer.


8. Le terminal de condition, représenté ci-dessous, définit les conditions d'arrêt de la boucle. Deux configurations de terminal de condition sont possibles : Continuer sur condition Vrai et Arrêter sur condition Vrai. Lorsque le terminal est configuré sur Continuer sur condition Vrai, la boucle While ne s'exécute que si une valeur booléenne Vrai est envoyée au terminal. Si le terminal de condition est configuré sur Arrêter sur condition Vrai et qu'une valeur booléenne Vrai est envoyée au terminal, la boucle s'arrête.

Arrêter sur condition Vrai


Continuer sur condition Vrai

9. Pour basculer le terminal de condition entre Continuer sur condition Vrai et Arrêter sur condition Vrai, cliquez avec le bouton droit sur le terminal de condition et sélectionnez la condition adéquate.


10. Pour contrôler l'exécution de la boucle While, câblez le bouton Arrêter au terminal de condition. Lorsque le bouton Arrêter est actionné, une valeur Vrai est transmise au terminal de condition, ce qui entraîne l'arrêt de la boucle While. Vous pouvez câbler n'importe quelle donnée booléenne au terminal de condition pour contrôler l'exécution d'une boucle While.


11. Le terminal d'itération est un terminal de sortie qui contient le nombre d'itérations achevées.​ Le nombre d'itérations commence toujours à 0. Pendant la première itération, le terminal d'itération renvoie 0.


 12. Vous venez de créer une petite boucle While qui génère des nombres aléatoires et les affiche jusqu'à ce que le bouton Arrêter soit actionné.


Tunnels de structure​

Utilisez les tunnels de structure pour transférer les données vers l'intérieur ou l'extérieur des structures telles que la boucle While. Pour envoyer des données dans votre boucle While, vous devez créer des tunnels de structure. Les données envoyées dans la boucle While sont envoyées uniquement lors de la première itération, et les données transférées en dehors de la boucle While sont envoyées uniquement après la première itération. Maintenant, voyons comment créer un tunnel de structure pour afficher le nombre d'itérations effectuées.


1. Créez un indicateur numérique sur la face-avant.

2. Glissez un câble de données du compteur d'itérations jusqu'à la bordure de la boucle While pour créer un tunnel de structure.


3. Les tunnels sont représentés par des carrés colorés sur la bordure de la boucle While. La couleur du carré est celle correspondant au type de données câblées au tunnel. Les données quittent la boucle lorsque la boucle a fini de s'exécuter. Lorsqu'un tunnel transmet des données à une boucle, celle-ci ne s’exécute qu’une fois les données arrivées au tunnel.


4. Glissez un câble de données du tunnel de structure jusqu'à l'indicateur numérique pour transférer le nombre d'itérations à l'affichage.


5. Dans le diagramme suivant, le terminal d'itération est connecté à un tunnel. La valeur dans le tunnel n'est transférée à l'indicateur d'itération que lorsque l'exécution de la boucle While est terminée.

 

Manipulation du terminal de condition

En utilisant les fonctions booléennes, vous pouvez mettre en œuvre plusieurs conditions qui régissent le terminal de condition de la boucle While. Vous pouvez utiliser une fonction OU pour comparer un statut de fil de liaison de données et une commande de bouton Arrêter pour que si l'un des deux renvoie VRAI, le terminal de condition reçoive un signal VRAI et la boucle While s'arrête.


1. Créez une boucle While comme expliqué précédemment.


2. Placez une commande d'Entrée d'erreur 3D sur la face-avant. Vous trouverez cette commande dans la palette Commandes » Tableau, matrice et cluster » Entrée d'erreur 3D.

3. Supprimez le fil de liaison entre le bouton Arrêter et le terminal de condition.

4. Assurez-vous que l'Entrée d'erreur 3D est à l'extérieur de la boucle While.

5. Placez un Gestionnaire d'erreur simple à l'extérieur de la boucle While. Vous le trouverez dans la palette Fonctions » Dialogue et interface utilisateur » Gestionnaire d'erreur simple. Cette fonction, lorsqu'elle est appelée, permet de rapporter toute erreur rencontrée.

6. Câblez la commande entrée erreur avec le Gestionnaire d'erreur simple à travers la boucle While en utilisant des tunnels de structure. Glissez un fil de la sortie de la commande entrée erreur jusqu'à la bordure de la bouche While, puis glissez le fil de liaison d'erreur du tunnel créé jusqu'à la bordure opposée de la boucle While et sur l'entrée du Gestionnaire d'erreur simple.

7. Ajoutez une fonction Désassembler par nom dans la boucle While. Vous trouverez cette fonction dans la palette Fonctions » Programmation » Cluster, classe et variant. Cette fonction permet de séparer la partie booléenne du fil de données d'erreur.


8. Ajoutez une fonction OU dans la boucle While.​ Vous trouverez cette fonction dans la palette de Fonctions » Programmation » Booléen.


9. Câblez les fils de liaison d'erreur comme indiqué ci-dessous. Ce simple VI arrête l'exécution de la boucle While lorsque le bouton Arrêter est actionné ou une erreur est détectée dans la boucle While.


Construction d'une boucle For

1. Ouvrez un nouveau VI.​ Vous pouvez ouvrir un VI vide en cliquant sur Fichier » Nouveau VI.

2. Si la palette Fonctions n'est pas visible, cliquez avec le bouton droit sur un espace vide du diagramme pour faire apparaître temporairement la palette. Cliquez sur la punaise dans le coin supérieur gauche de la palette Fonctions pour fixer la palette à l'écran.​

3. Sélectionnez la boucle For à partir de la palette Structures située sous la palette Fonctions.

4. Vous pouvez également ajouter une boucle While sur le diagramme. Cliquez avec le bouton droit sur la bordure de la boucle While et sélectionnez Remplacer par une boucle For dans le menu local.

5. Les boucles For contiennent un terminal de décompte. Le terminal de décompte détermine le nombre d'exécutions du sous-diagramme.

6. Cliquez avec le bouton droit sur le terminal de décompte et sélectionnez Créer une constante pour lier le terminal de décompte à une valeur numérique.

7. Si vous entrez 100 dans la constante numérique, la boucle s'exécute 100 fois avant de s'arrêter.


8. Le terminal d'itération, représenté ci-après​, est un terminal de sortie qui contient le nombre d'itérations achevées. Dans l'exemple ci-dessous, un indicateur sur la face-avant est mis à jour en affichant le nombre d'itérations actuel.

Ajout d'un terminal de condition à une boucle For

Si nécessaire, vous pouvez ajouter un terminal de condition pour configurer une boucle For afin qu'elle s'arrête quand une condition booléenne ou une erreur se produit.
1. Cliquez avec le bouton droit sur la bordure de la boucle et sélectionnez Terminal de condition.


2. Une boucle For avec un terminal de condition s'exécute jusqu'à ce que la condition ait lieu ou que toutes les itérations soient terminées, suivant ce qui a lieu en premier.

3. Les boucles For configurées pour un arrêt sur condition comportent un symbole rouge dans le terminal de décompte ainsi qu'un terminal de condition dans l'angle inférieur droit.

4. Une fois la boucle For configurée pour un arrêt sur condition, la boucle ressemble à celle représentée ci-après. La boucle For suivante génère un nombre aléatoire une fois par seconde jusqu'à ce que 100 secondes se soient écoulées ou que l'utilisateur appuie sur le bouton Arrêter.

Pour obtenir davantage d'informations sur l'utilisation des boucles For et While, reportez-vous à l'Aide contextuelle. Vous pouvez accéder à l'Aide contextuelle à partir du menu Aide » Afficher la fenêtre d'aide contextuelle ou en utilisant le raccourci <Ctrl-H>.

 


Vidéo Boucles Ressources Communauté FIRST