Previous

Next

 

Structure RÉPÉTER-JUSQU'À

 

La structure RÉPÉTER-JUSQU'À est semblable à la structure TANTQUE. Comme cette dernière, elle inclut l'exécution d'une séquence d'instructions à répétition et en fonction de la valeur d’une condition. Cependant, les structures RÉPÉTER-JUSQU'À et TANTQUE diffèrent sur deux points :

  1. La structure TANTQUE exécute la séquence d'instructions tant et aussi longtemps que la condition est satisfaite, alors que la structure RÉPÉTER-JUSQU'À exécute la séquence d'instructions tant et aussi longtemps que la condition n'est pas satisfaite. En d'autres mots, la structure RÉPÉTER-JUSQU'À itère jusqu'à ce que la condition devienne vraie.
  1. La structure TANTQUE vérifie la condition avant chaque itération, alors que la structure RÉPÉTER-JUSQU'À vérifie la condition après chaque itération.

La différence principale entre ces deux structures réside dans le fait que, pour la structure RÉPÉTER-JUSQU'À, la séquence d'instructions est exécutée au moins une fois, sans égard à la valeur de la condition. Cette caractéristique est mise en évidence par la position de la condition dans la structure : elle est située à la fin de celle-ci (alors que dans la structure TANTQUE la condition est située au début de la structure).

Structure répétitive RÉPÉTER-JUSQU'À

RÉPÉTER 
    Séquence d'instructions 
JUSQU'À condition

La structure RÉPÉTER-JUSQU'À sous forme pseudo-code, présentée dans le tableau ci-dessus, est composée des mots réservés RÉPÉTER et JUSQU'À, d'une condition et d'une séquence d'instructions à exécuter jusqu’à ce que la condition devienne vraie (en d’autres mots, tant qu’elle est fausse). Dans un organigramme la structure RÉPÉTER-JUSQU'À comprend une condition dans un hexagone précédée de la séquence d'instructions. L’orientation de la branche Faux, qui représente l’itération, peut être à gauche ou à droite de la condition. Notez que la branche Vrai sort de la boucle, indiquant ainsi que le flux d’exécution cesse d’exécuter la séquence d’instructions lorsque la condition est vraie.

L'exemple ci-dessous exploite une structure RÉPÉTER-JUSQU'À afin de lire un entier positif et le valider :

 RÉPÉTER
   ÉCRIRE "Nombre positif?" 
   LIRE Nombre 
 JUSQU'À Nombre > 0

Puisque au moins une lecture doit être effectuée, la structure RÉPÉTER-JUSQU'À est préférable car elle fait obligatoirement une itération (i.e. une lecture) avant de vérifier la condition. La structure RÉPÉTER-JUSQU'À est généralement préférée à la structure TANTQUE lorsque les variables dont dépend la condition reçoivent leur valeur dans la séquence d'instructions, ce qui exige obligatoirement une première itération.

Notez cependant qu'une structure TANTQUE peut remplacer toute structure RÉPÉTER-JUSQU'À, au coût de quelques instructions supplémentaires (dans le pseudo code ci-dessous une opération lecture supplémentaire doit être insérée avant la première itération) :

 ÉCRIRE "Nombre positif?" 
 LIRE Nombre 
 TANTQUE Nombre <= 0 FAIRE  
   ÉCRIRE "Nombre positif?" 
   LIRE Nombre 
 FINTANTQUE