END-DIVIDE |
Fin de division |
|---|---|
| Cobol | |
Syntaxe
|
DIVIDE identifier1 INTO identifier2 [ROUNDED] [; ON SIZE ERROR imperativestatement] END-DIVIDE |
|
DIVIDE identifier1 INTO identifier2 [ROUNDED] GIVING identifier3 [ROUNDED] [; ON SIZE ERROR imperativestatement] END-DIVIDE |
Paramètres
| Nom | Description |
|---|---|
| identifier1 | Ce paramètre représente le diviseur, c'est-à-dire la valeur par laquelle on divise. |
| identifier2 | Ce paramètre représente le dividende, soit la valeur à diviser par identifier1. |
| identifier3 | Ce paramètre permet d'indiquer la variable de destination qui recevra le résultat de la division. |
| ROUNDED | Ce paramètre permet d'arrondir le résultat de la division si des décimales sont perdues. |
| ON SIZE ERROR | Ce paramètre permet de définir une action impérative si une erreur de dépassement (overflow) survient pendant l'opération. |
| imperativestatement | Ce paramètre représente l'instruction COBOL qui sera exécutée si l'erreur de taille se produit. |
| END-DIVIDE | Ce paramètre marque la fin explicite de l'instruction DIVIDE, notamment utilisée avec les blocs ON SIZE ERROR. |
Description
Cette instruction permet d'indiquer la fin d'une instruction DIVIDE.
Remarques
- L'instruction END-DIVIDE est indispensable dans les blocs structurés, notamment lorsque la clause ON SIZE ERROR est utilisée. Elle permet de bien délimiter la fin du bloc logique d'une opération de division, surtout lorsque l'on écrit des instructions impératives complexes après cette clause.
- Son usage améliore la lisibilité du code, en particulier dans des programmes où plusieurs instructions DIVIDE sont imbriquées ou combinées avec d'autres blocs conditionnels. Cela rend le code plus clair pour les développeurs et limite les erreurs d'interprétation sur la portée de chaque division.
- END-DIVIDE est souvent requis lorsqu'on emploie la clause ON SIZE ERROR, car COBOL impose une terminaison explicite du bloc de traitement dans ce contexte. Sans END-DIVIDE, l'erreur de compilation peut survenir, ou le comportement peut devenir indéfini.
- Cette instruction participe à la structure procédurale de COBOL, en fermant une instruction de calcul pouvant contenir plusieurs sous-instructions. Cela s'aligne avec d'autres mots-clefs similaires comme END-IF ou END-PERFORM, renforçant la cohérence du langage.
- L'usage de END-DIVIDE évite d'utiliser des points (periods) comme terminateurs d'instructions, ce qui est une bonne pratique recommandée dans le COBOL moderne. Cela permet de mieux contrôler la portée des instructions sans dépendre d'un terminateur global.
- Elle s'intègre naturellement avec l'instruction GIVING, permettant d'entreposer le résultat de la division dans une variable cible. Même si GIVING peut être utilisée seule, l'ajout de END-DIVIDE clarifie le bloc lorsqu'on ajoute des clauses comme ROUNDED ou ON SIZE ERROR.
- Le ROUNDED fonctionne conjointement avec END-DIVIDE pour garantir que les calculs de division ne perdent pas de précision inutilement. L'usage de ces deux éléments ensemble permet un traitement numérique plus sûr et maîtrisé, surtout dans les applications financières.
- En environnement de production, END-DIVIDE favorise la maintenance du code, car un développeur peut facilement repérer où commence et où se termine chaque opération. C'est un avantage important dans des applications COBOL de grande taille ou critiques.
Dernière mise à jour : Jeudi, le 28 juillet 2011