PERFORM |
Traitement |
|---|---|
| Cobol | |
Syntaxe
| PERFORM procedurename1 [(THROUGH|THRU) procedurename2] |
|
PERFORM procedurename1 [(THROUGH|THRU) procedurename2] identifier1 TIMES |
|
PERFORM procedurename1 [(THROUGH|THRU) procedurename2] UNTIL condition1 |
|
PERFORM procedurename1 [(THROUGH|THRU) procedurename2] VARYING identifier2 FROM identifier3 BY identifier4 UNTIL condition1 [AFTER identifier5 FROM identifier6 BY identifier7 UNTIL condition2 [AFTER identifier8 FROM identifier9 BY identifier10 UNTIL condition3]] |
Paramètres
| Nom | Description |
|---|---|
| procedurename1 | Ce paramètre permet d'indiquer le nom de la première procédure à exécuter. Il s'agit du début de l'instruction de contrôle. |
| procedurename2 | Ce paramètre permet d'indiquer le nom d'une seconde procédure dans le cas où une plage de procédures doit être exécutée, allant de procedurename1 à procedurename2. |
| identifier1 | Ce paramètre permet d'indiquer un identifiant numérique qui spécifie combien de fois la procédure doit être exécutée. Cela est utilisé dans la forme PERFORM ... TIMES pour effectuer des itérations précises. |
| condition1 | Ce paramètre permet d'indiquer une condition logique qui détermine quand la boucle PERFORM doit s'arrêter, utilisée dans la forme UNTIL condition1. |
| identifier2 | Ce paramètre est utilisé dans la forme VARYING identifier2 FROM identifier3 BY identifier4 UNTIL condition1, pour spécifier un identifiant qui sera modifié à chaque itération de la boucle. |
| identifier3 | Ce paramètre indique la valeur initiale de l'identifiant identifier2 dans la forme VARYING. C'est à partir de cette valeur que le comptage ou l'incrémentation commence. |
| identifier4 | Ce paramètre indique la valeur d'incrémentation de identifier2 à chaque itération dans la forme VARYING. Il précise de combien identifier2 doit changer à chaque passage dans la boucle. |
| identifier5, identifier6, identifier7, identifier8, identifier9, identifier10 | Ces paramètres sont utilisés dans des versions étendues de la boucle PERFORM, permettant des itérations imbriquées et des ajustements conditionnels plus complexes. Ils permettent de définir des intervalles et des conditions supplémentaires dans des boucles imbriquées. |
Description
Cette instruction permet de transférer le contrôle explicite d'une ou plusieurs procédures et retourne le contrôle implicite à chaque fois qu'une procédure est complété.
Remarques
- Contrôle de flux avec PERFORM : L'instruction PERFORM en COBOL permet de contrôler le flux d'exécution d'un programme en appelant des procédures ou en exécutant des boucles. Elle transfère explicitement le contrôle à une procédure ou à une série de procédures, puis récupère le contrôle lorsque la procédure est terminée. Cette fonctionnalité est cruciale pour structurer et organiser les programmes complexes.
- Exécution d'une seule procédure : La syntaxe de base de PERFORM (par exemple, PERFORM procedurename1) permet d'exécuter une seule procédure à la fois. C'est une méthode simple et directe pour exécuter une routine ou une série d'opérations définie sous un nom de procédure dans le programme COBOL.
- Exécution de plusieurs procédures (avec THROUGH ou THRU) : Lorsque l'on utilise la syntaxe PERFORM procedurename1 THROUGH procedurename2, COBOL exécute toutes les procédures spécifiées dans la plage entre procedurename1 et procedurename2. Cette fonctionnalité permet de structurer des blocs de traitement devant être exécutés dans un ordre particulier sans avoir besoin de les appeler séparément.
- Répétition d'une procédure un nombre spécifique de fois : Avec la forme PERFORM procedurename TIMES, il est possible d'exécuter une procédure un nombre défini de fois. Cela est très utile lorsque l'on souhaite répéter une série d'opérations (par exemple, dans des boucles de traitement ou d'initialisation) sans avoir à écrire des appels répétitifs manuellement.
- Boucles avec condition d'arrêt (UNTIL) : PERFORM peut aussi être utilisé pour créer des boucles conditionnelles avec UNTIL. Par exemple, PERFORM procedurename UNTIL condition1 permet d'exécuter la procédure tant qu'une condition n'est pas remplie. Cela permet de créer des boucles dynamiques et conditionnelles dans le code, un élément fondamental de la programmation structurée.
- Itérations avec un compteur dynamique (VARYING) : L'utilisation de VARYING dans une instruction PERFORM, comme PERFORM procedurename VARYING identifier2 FROM identifier3 BY identifier4 UNTIL condition1, permet de modifier l'état d'un compteur à chaque itération de la boucle. Cela permet de créer des boucles qui évoluent en fonction de variables dynamiques, offrant ainsi une grande flexibilité.
- Boucles imbriquées avec des conditions supplémentaires : La syntaxe étendue de PERFORM permet d'ajouter des itérations imbriquées avec des conditions supplémentaires, comme AFTER identifier5 FROM identifier6 BY identifier7 UNTIL condition2. Cela permet de définir des boucles plus complexes, avec plusieurs niveaux d'itération et des conditions de contrôle supplémentaires.
- Facilité d'organisation du code : PERFORM aide à organiser le code COBOL en le décomposant en petites procédures ou blocs de traitement, facilitant ainsi la lisibilité et la maintenance du programme. Elle permet de centraliser le code répétitif et d'éviter les redondances, rendant le programme plus modulaire et compréhensible.
Dernière mise à jour : Jeudi, le 28 juillet 2011