Évaluer la déclaration dans COBOL

Évaluer la déclaration dans COBOL
L'évaluation dans COBOL est similaire à la «déclaration de cas sélectionnée» dans Microsoft Visual Basic. L'énoncé «Évaluer» a été introduit avec COBOL-85 et peut utiliser le COBOL EVALUER à diverses fins. Du point de vue de la performance, la déclaration de COBOL EVALUER est meilleure que COBOL NESSET IFS. Pour cette raison, il est seulement recommandé de remplacer votre énoncé d'if imbriqué par une déclaration d'évaluation COBOL.

La principale différence entre l'évaluation et le cas SELECT VBA est que l'évaluation ne nécessite pas une instruction «rupture» car le contrôle quitte automatiquement l'instruction Evaluate dès qu'une condition est remplie.

Formats:
Avant de regarder la syntaxe et l'exemple de l'évaluation d'évaluation, nous tenons à mentionner que la déclaration de COBOL EVALUER a quatre formats différents. Discutons de chaque format avec chaque syntaxe.

La syntaxe de base de l'instruction Evaluate est:

Évaluer vrai
Quand la condition-1
Déclaration…
Quand autre
Déclaration…
Émo-évalué.

La clause «quand» est généralement utilisée pour spécifier votre condition. Dans les exemples suivants, nous spécifions la déclaration qui doit être exécutée pour cet événement particulier. L'évaluation de la déclaration se termine par une explication claire de la fin de sa portée.

Exemple de programmation 1:

Division d'identification.
Programme de programme. EMP001.
Division des données.
Section de dossier.
Section de stockage de travail.
01 ws-file-sw pic x (01) valeur 'n'.
88 Valeur E-O-F 'Y'.
88 Not-e-o-f Valeur 'n'.
Division des procédures.
000 principaux.
Évaluer vrai
Quand e-o-f
Effectuer a00-wrt-trl-rec
Quand pas-e-o-f
Effectuer b00-wrt-dtl-rec
Effectuer B10-REC-nxt-REC
Quand autre
Effectuer Z00-CLL-ERR
Évaluer final.
Stop run.
A00-wrt-trl-rec.
Afficher la «fin du fichier».
B00-wrt-dtl-rec.
Afficher «pas fin du fichier».
B10-REC-NXT-REC.
Afficher «pas fin du fichier».
Z00-cll-err.
Afficher la «erreur».

Sortir:

Papan @ Papan-VirtualBox: ~ / Desktop / Eva $ cobc -xjf 4.cbl
Pas la fin du fichier
Pas la fin du fichier

Explication:
Dans cet exemple de programmation, nous examinons le paragraphe mentionné dans la division des procédures qui est 000-main-Parar. Nous utilisons la déclaration d'évaluation dans ce paragraphe. Il dit «évaluer vrai» au début de la déclaration d'évaluation et il dit quand.

La première condition indique que s'il n'y a pas d'enregistrement dans le fichier, cela signifie que c'est la fin du fichier. Dans ce cas, allez simplement écrire le performance a00-wrt-trl-rec. Si ce n'est pas la fin du fichier et qu'il y a peu d'enregistrements, allez-y et écrivez l'enregistrement B00-WRT-DTL-REC qui est déjà dans le tampon, et passez à l'enregistrement suivant qui est B10-REC-NXT -Rec.

Dans le cas où aucune des conditions fournies n'est satisfaite, utilisez le contrôle en accédant à l'autre section. Il exécute ensuite Z00-CLL-ERR. Il est appelé «erreur» qui va à l'exception.

Exemple de programmation 2: Évaluez quand aussi avec

Division d'identification.
Programme de programme. EMP002.
Division des données.
Section de dossier.
Section de stockage de travail.
01 ws-file-sw pic x (01) valeur 'n'.
88 Valeur de fin de fichier «y».
88 Valeur non finale «n».
01 WS-P PIC 9 (3).
01 WS-Q Pic 9 (3).
01 WS-R PIC 9 (3).
01 WS-S PIC 9 (3).
Division des procédures.
000 principaux.
Afficher "Entrer la valeur de WS-P".
Accepter ws-p.
Afficher "Entrez la valeur de WS-Q".
Acceptez WS-Q.
Afficher "Entrez la valeur de WS-R".
Accepter WS-R.
Afficher "Entrez la valeur de WS-S".
Accepter WS-S.
Évaluez également vrai
Lorsque ws-p = ws-Q aussi ws-r = ws-s
Afficher «le cas 1 est vrai»
Lorsque ws-p> ws-Q aussi ws-r < WS-S
Afficher «le cas 2 est vrai»
Quand autre
Afficher «un autre cas est vrai»
Évaluer final.

Sortir:

Papan @ Papan-VirtualBox: ~ / Desktop / Eva $ cobc -xjf 2.cbl
Entrez la valeur de WS-P
300
Entrez la valeur de WS-Q
100
Entrez la valeur de WS-R
169
Entrez la valeur de WS-S
500
Le cas 2 est vrai

Explication:
Passons à la variante suivante de la déclaration d'évaluation qui est «évaluer également». Cette variante de l'instruction Evaluate est similaire à ce que nous avons discuté dans l'exemple précédent. La seule différence est que dans cette variante, nous vérifions plus d'une condition en même temps.

Dans cet exemple, l'évaluation vraie vrai signifie également que si les deux conditions qui sont spécifiées dans la clause quand est satisfaite, seule l'instruction pourrait être exécutée. Les valeurs de «WS-P» et «WS-Q» devraient correspondre, et les valeurs de «WS-R» et «WS-S» devraient également correspondre dans cette déclaration. Ensuite, seule la «vraie» instruction qui est dans le cas est affichée comme une sortie de l'instruction particulière.

Exemple de programmation 3: Évaluez quand avec plusieurs conditions

Division d'identification.
Programme de programme. EMP003.
Division des données.
Section de dossier.
Section de stockage de travail.
01 MARTIAL-STATUS PIC X (01) Valeur «M».
01 WS-PGE PIC X (02) Valeur 36.
01 WS-Gen Pic x (01) Valeur 'F'.
Division des procédures.
000 principaux.
Évaluer le statut martial
Quand «m»
Afficher «marié»
Quand 's'
Quand 'D'
Afficher «célibataire»
Quand autre
Afficher «non spécifié»
Évaluer final.
Évaluer vrai
Lorsque ws-pge> 10 et ws-gen = 'm'
Afficher «Homme avec l'âge> 10»
Lorsque ws-pge> 10 et ws-gen = 'f'
Afficher «une femme avec l'âge> 10»
Quand autre
Afficher les «critères non satisfaits»
Évaluer final.

Sortir:

Papan @ Papan-VirtualBox: ~ / Desktop / Eva $ cobc -xjf 1.cbl
MARIÉ
Femme avec l'âge> 10

Explication:
Dans cet exemple, malgré l'utilisation de «vrai», nous utilisons le nom de variable réel et vérifions les valeurs de ces variables, la valeur possible de cette variable particulière dans la clause quand.

Dans cet exemple, il y a un champ appelé «statut martial». Nous vérifions la valeur de ce domaine particulier, qu'ils soient mariés, célibataires ou divorcés. Si la personne est mariée, elle affiche «mariée». Si la personne est célibataire, elle affiche «célibataire».

Exemple de programmation 4: Évaluez quand avec à travers

Division d'identification.
Programme de programme. EMP004.
Division des données.
Section de dossier.
Section de stockage de travail.
01 ws-file-sw pic x (01) valeur 'n'.
88 Valeur de fin de fichier «y».
88 Valeur non finale «n».
01 WS-Number Pic 9 (2) Valeur zéro.
Division des procédures.
000 principaux.
Afficher "Entrez un numéro:"
Entrez la valeur de WS-Number
Évaluer le nombre de WS
Quand 1
Afficher «1»
Quand 2
Afficher «2»
Quand 3 à 6
Afficher le «nombre dans une plage de 3-6»
Quand autre
Afficher le «numéro pas dans la plage»
Évaluer final.

Sortir:

Papan @ Papan-VirtualBox: ~ / Desktop / Eva $ cobc -xjf 3.cbl
Entrez un nombre:
4
Numéro dans la gamme de 3-6

Explication:
Cette variante de l'instruction Evaluate est également similaire aux exemples précédents. Le code utilise le mot-clé «Thru» lors de la spécification des conditions dans la clause quand l'évaluation Évaluer pour indiquer une plage de valeurs pour la variable qui est évaluée. Dans ce cas, nous avons la déclaration d'évaluation et nous utilisons une variable appelée «WS-Number». Ce que nous faisons, c'est que nous vérifions les différentes valeurs de la clause quand.

Le premier est que la valeur du nombre WS est 1. Donc, nous affichons «1». De même, si la valeur est deux, la valeur «2» est affichée, etc. Malgré l'écriture plusieurs fois pour une seule valeur, ce que nous faisons est de vérifier une valeur entre 3 et 6, et la valeur de sortie est dans la plage de 3 à 6.

Conclusion

Dans cet article particulier, nous avons abordé toutes les perspectives et l'application de l'évaluation Evaluate afin que nous comprenions le mécanisme de la déclaration d'évaluation de manière bien. Nous avons clarifié tout le sujet des déclarations d'évaluation qui sont présentes dans le langage de programmation COBOL.