END-COMPUTE |
Fin d'un calcul |
|---|---|
| Cobol | |
Syntaxe
|
COMPUTE identifier1 [ROUNDED] = arithmeticexpression [; ON SIZE ERROR imperativestatement] END-COMPUTE |
Paramètres
| Nom | Description |
|---|---|
| identifier1 | Ce paramètre permet d'indiquer la variable cible dans laquelle le résultat du calcul sera entreposé. Par exemple, si vous avez une opération comme COMPUTE A = B + C, A est l'identifier1. Le résultat de l'expression arithmétique sera affecté à cette variable. |
| ROUNDED | Ce paramètre permet d'arrondir le résultat du calcul selon la précision spécifiée dans la clause PICTURE de la variable cible. Sans ce mot clef, le résultat peut être tronqué selon la définition de la variable. Cela est particulièrement utile pour des calculs où l'on souhaite contrôler la précision des résultats, comme dans les calculs financiers. |
| arithmeticexpression | Ce paramètre permet d'indiquer l'expression mathématique étant évaluée. Cela peut inclure des opérations comme l'addition, la soustraction, la multiplication ou la division. Cette expression est la base du calcul, et son résultat sera affecté à la variable identifier1. |
| ON SIZE ERROR | e paramètre permet d'indiquer une gestion d'erreur si un débordement de capacité se produit, c'est-à-dire lorsque le résultat du calcul dépasse la capacité de la variable cible. Si un tel débordement se produit, une série d'instructions définie dans imperativestatement sera exécutée, comme afficher un message d'erreur ou gérer l'erreur d'une manière appropriée. |
| imperativestatement | Ce paramètre permet de définir l'instruction ou la série d'instructions à exécuter lorsque l'erreur de dépassement de capacité (size error) se produit. Par exemple, un message d'erreur peut être affiché, ou une valeur par défaut peut être assignée à la variable cible pour éviter une erreur fatale dans le programme. |
Description
Cette instruction permet d'indiquer la fin d'une instruction COMPUTE.
Remarques
- Marque la fin d'un calcul : L'instruction END-COMPUTE permet de délimiter la fin d'une opération de calcul effectuée avec l'instruction COMPUTE. Cela permet d'encapsuler proprement les opérations arithmétiques dans un bloc, facilitant ainsi la lecture et la maintenance du code, notamment dans les programmes longs ou complexes.
- Calculs effectués avec COMPUTE : L'instruction COMPUTE est utilisée pour effectuer des calculs arithmétiques, comme l'addition, la soustraction, la multiplication ou la division, en utilisant des expressions arithmétiques. Les résultats sont ensuite affectés à une variable spécifiée. L'utilisation de END-COMPUTE permet de marquer la fin de ces opérations et garantit que l'ensemble du calcul est bien encapsulé.
- Importance du paramètre ROUNDED : Le mot clef ROUNDED est facultatif dans l'instruction COMPUTE et permet d'arrondir les résultats au chiffre le plus proche selon la précision spécifiée dans la clause PICTURE de la variable cible. Cela est particulièrement utile dans les calculs monétaires ou financiers où l'exactitude des résultats est essentielle.
- Gestion des erreurs avec ON SIZE ERROR : En cas d'erreur liée à la taille des données, comme un dépassement de capacité de la variable cible, le paramètre ON SIZE ERROR permet de spécifier une action corrective. Par exemple, en cas de débordement de la variable cible, un programmeur peut définir un message d'erreur ou un mécanisme de récupération pour éviter un crash ou des résultats incorrects.
- Rétention du résultat dans une variable : Dans une instruction COMPUTE, le résultat de l'opération arithmétique est affecté à une variable spécifiée (identifier1). Cela permet de garder une trace du calcul effectué pour une utilisation ultérieure dans le programme, comme des rapports ou des calculs supplémentaires. Le calcul est effectué directement dans cette variable cible.
- Flexibilité des expressions arithmétiques : L'expression arithmétique dans COMPUTE peut être complexe et inclure des opérateurs mathématiques, des parenthèses pour la priorité des opérations, ainsi que des constantes et des variables. Cela permet une grande flexibilité dans les calculs effectués, rendant COBOL efficace pour des traitements complexes de données numériques.
- Amélioration de la lisibilité du code : L'utilisation de END-COMPUTE dans les calculs offre une meilleure lisibilité du code COBOL. Lorsque plusieurs calculs sont effectués dans un programme, encapsuler chaque calcul avec COMPUTE et END-COMPUTE rend l'intention du programmeur claire, ce qui améliore la compréhension et facilite la maintenance du code.
- Cohérence dans les opérations arithmétiques : En combinant COMPUTE et END-COMPUTE, le programmeur assure que l'ensemble du calcul est effectué de manière cohérente et que la gestion des erreurs est centralisée dans le bloc. Cette approche garantit que les calculs sont réalisés correctement et que toute erreur est bien traitée, ce qui est crucial pour éviter les bugs dans les systèmes comptables ou financiers.
Dernière mise à jour : Jeudi, le 28 juillet 2011