Bewerten Sie die Erklärung in COBOL

Bewerten Sie die Erklärung in COBOL
Die Bewertung in COBOL ähnelt der "Fallanweisung auswählen" in Microsoft Visual Basic. Die Erklärung „Evaluate“ wurde mit COBOL-85 eingeführt und kann den COBOL-Evaluieren für eine Vielzahl von Zwecken verwenden. Aus der Perspektive der Leistung ist die COBOL -Bewertungserklärung besser als COBOL verschachtelte IFs. Aus diesem Grund wird nur empfohlen, dass Sie Ihre verschachtelte Erklärung durch COBOL Evaluse-Erklärung ersetzen sollten.

Der Hauptunterschied zwischen dem Evaluse- und VBA -Auswahlfall besteht darin, dass Evaluse keine „Pausen“ -Anweisung erfordert.

Formate:
Bevor wir uns die Syntax und das Beispiel einer Bewertungserklärung ansehen, möchten wir erwähnen, dass die COBOL -Evaluse -Erklärung vier verschiedene Formate enthält. Lassen Sie uns jedes Format mit jeder Syntax besprechen.

Die grundlegende Syntax der Evaluierungserklärung lautet:

True evaluieren
Wenn Bedingung-1
Stellungnahme…
Wenn andere
Stellungnahme…
Emo-bewerten.

Die Klausel "When" wird im Allgemeinen verwendet, um Ihren Zustand anzugeben. In den folgenden Beispielen geben wir die Erklärung an, die für dieses bestimmte Ereignis ausgeführt werden muss. Die Bewertung der Aussage endet mit einer klaren Erklärung des Ende ihres Umfangs.

Programmierbeispiel 1:

Identifikationsabteilung.
Programm-ID. EMP001.
Datenabteilung.
Dateiabschnitt.
Abschnitt Working-Storage.
01 WS-File-SW PIC X (01) Wert 'N'.
88 E-O-F-Wert 'y'.
88 Not-e-O-F-Wert 'N'.
Verfahrensabteilung.
000 Main-Para.
True evaluieren
Wenn e-o-f
Führen Sie a00-wrt-trl-rec durch
Wenn nicht-e-o-f
Führen Sie B00-WRT-DTL-Rec durch
F10-REC-NXT-REC durchführen
Wenn andere
Z00-CLL-ERN durchführen
Endbewertung.
Stop Run.
A00-wrt-trl-rec.
Zeigen Sie 'Ende der Datei' an '.
B00-WRT-DTL-Rec.
Zeigen Sie 'nicht Ende der Datei' an '.
B10-REC-NXT-REC.
Zeigen Sie 'nicht Ende der Datei' an '.
Z00-kll-ir.
"Fehler" anzeigen.

Ausgang:

Papan@Papan -virtualBox: ~/Desktop/Eva $ COBC -xjf 4.CBL
Nicht das Ende der Datei
Nicht das Ende der Datei

Erläuterung:
In diesem Programm-Beispiel sehen wir uns den Absatz an, der in der Verfahrensabteilung erwähnt wird, die 000-Main-Para beträgt. Wir verwenden die Evaluse -Erklärung in diesem Absatz. Es heißt „evaluate true“ zu Beginn der Bewertungserklärung und es heißt wann, wann.

In der ersten Bedingung heißt es, dass, wenn es in der Datei keinen Aufzeichnung gibt, dies bedeutet, dass es sich um das Ende der Datei handelt. In diesem Fall schreiben Sie einfach die Ausführung a00-wrt-trl-rec. Wenn es nicht das Ende der Datei ist und es nur wenige Datensätze gibt, schreiben Sie einfach den B00-WRT-DTL-REC-Datensatz, der bereits im Puffer ist -REC.

Wenn keiner der bereitgestellten Bedingungen erfüllt ist, verwenden Sie die Kontrolle, indem Sie in den anderen Abschnitt gehen. Es führt dann z00-kll-fr durch. Es wird als "Fehler" bezeichnet, der zum Ausnahmebehandlung geht.

Programmierbeispiel 2: Bewerten Sie, wann auch mit

Identifikationsabteilung.
Programm-ID. EMP002.
Datenabteilung.
Dateiabschnitt.
Abschnitt Working-Storage.
01 WS-File-SW PIC X (01) Wert 'N'.
88 Ende des Datei-Wertes 'y'.
88 NICHT-ENTER-DES-DEM-Wert 'N'.
01 WS-P PIC 9 (3).
01 WS-Q PIC 9 (3).
01 WS-R PIC 9 (3).
01 WS-S Bild 9 (3).
Verfahrensabteilung.
000 Main-Para.
Zeigen Sie "Wert von WS-P eingeben" an.
Akzeptiere WS-P.
Zeigen Sie "Wert von WS-Q eingeben" an.
Akzeptieren Sie WS-Q.
Zeigen Sie "Wert von WS-R eingeben" an.
Akzeptieren von WS-R.
Zeigen Sie "Wert von WS-S eingeben" an.
Akzeptieren von WS-S.
Evaluieren auch true auch true
Wenn WS-P = WS-Q auch WS-R = WS-S
Anzeige 'Fall 1 ist wahr'
Wenn WS-P> WS-Q auch WS-R < WS-S
Anzeige 'Fall 2 ist wahr'
Wenn andere
Anzeige "Anderer Fall ist wahr"
Endbewertung.

Ausgang:

papan@papan -virtualbox: ~/desktop/eva $ cobc -xjf 2.CBL
Geben Sie den Wert von WS-P ein
300
Geben Sie den Wert von WS-Q ein
100
Geben Sie den Wert von WS-R ein
169
Geben Sie den Wert von WS-S ein
500
Fall 2 ist wahr

Erläuterung:
Gehen wir mit der nächsten Variante der Evaluse -Anweisung über, die „auch bewertet wird“. Diese Variante der Evaluse -Aussage ähnelt dem, was wir im vorherigen Beispiel diskutiert haben. Der einzige Unterschied besteht darin, dass wir in dieser Variante mehr als einen Zustand gleichzeitig überprüfen.

In diesem Beispiel bedeutet die Evaluse true auch true, dass bei beiden Bedingungen, die in der WO -Klausel angegeben sind, nur die Anweisung ausgeführt werden kann. Die Werte von „WS-P“ und „WS-Q“ sollten übereinstimmen, und die Werte von „WS-R“ und „WS-S“ sollten ebenfalls mit dieser Erklärung übereinstimmen. Dann wird nur die "wahre" Anweisung, die im Fall ist, als Ausgabe der jeweiligen Anweisung angezeigt.

Programmierbeispiel 3: Bewerten Sie, wann mit mehreren Bedingungen

Identifikationsabteilung.
Programm-ID. EMP003.
Datenabteilung.
Dateiabschnitt.
Abschnitt Working-Storage.
01 Martial-Status pic x (01) Wert 'M'.
01 WS-PGE PIC X (02) Wert 36.
01 WS-General Pic X (01) Wert 'F'.
Verfahrensabteilung.
000 Main-Para.
Bewerten Sie den Kampfstatus
Wenn 'M'
Anzeige 'verheiratet'
Wenn 's'
Wenn 'D'
"Single" anzeigen
Wenn andere
Anzeigen "nicht angegeben"
Endbewertung.
True evaluieren
Wenn WS-PGE> 10 und WS-Gen = 'M'
Anzeigen 'männlich mit älter> 10' '
Wenn WS-PGE> 10 und WS-Gen = 'F'
Anzeigen 'weiblich mit älter> 10' '
Wenn andere
Zeigen Sie 'Kriterien nicht zufrieden' an “
Endbewertung.

Ausgang:

Papan@Papan -virtualBox: ~/Desktop/Eva $ COBC -xjf 1.CBL
VERHEIRATET
Weiblich mit Alter> 10

Erläuterung:
In diesem Beispiel verwenden wir trotz der Verwendung von „True“ den tatsächlichen variablen Namen und überprüfen die Werte dieser Variablen, den möglichen Wert dieser bestimmten Variablen in der WO -Klausel.

In diesem Beispiel gibt es ein Feld namens "Kampfstatus". Wir überprüfen den Wert dieses bestimmten Bereichs, unabhängig davon, ob sie verheiratet, ledig oder geschieden sind. Wenn die Person verheiratet ist, zeigt sie „verheiratet“. Wenn die Person Single ist, zeigt sie „Single“ an.

Programmierbeispiel 4: Bewerten Sie, wann mit bis durch

Identifikationsabteilung.
Programm-ID. EMP004.
Datenabteilung.
Dateiabschnitt.
Abschnitt Working-Storage.
01 WS-File-SW PIC X (01) Wert 'N'.
88 Ende des Datei-Wertes 'y'.
88 NICHT-ENTER-DES-DEM-Wert 'N'.
01 WS-Number Bild 9 (2) Wert Null.
Verfahrensabteilung.
000 Main-Para.
Zeigen Sie "eine Nummer ein:"
Geben Sie den Wert von WS-Number ein
Bewerten Sie WS-Number
Wenn 1
Anzeige '1'
Wenn 2
Anzeige '2'
Bei 3 bis 6
Anzeige 'Nummer im Bereich von 3-6'
Wenn andere
Zeigen Sie 'Nummer nicht im Bereich an'
Endbewertung.

Ausgang:

Papan@Papan -virtualBox: ~/Desktop/Eva $ COBC -xjf 3.CBL
Geben Sie eine Nummer ein:
4
Zahl im Bereich von 3-6

Erläuterung:
Diese Variante der Evaluse -Anweisung ähnelt auch den vorherigen Beispielen. Der Code verwendet das Schlüsselwort „Thru“, um die Bedingungen in der WO -Klausel der Evaluse -Anweisung anzugeben, um einen Wertebereich für die bewertete Variable anzuzeigen. In diesem Fall haben wir die Evaluse-Anweisung und verwenden eine Variable namens "WS-Number". Was wir tun, ist, dass wir die verschiedenen Werte in der When -Klausel überprüfen.

Der erste ist, dass der WS-Number-Wert 1 beträgt. Also zeigen wir „1“ an. In ähnlicher Weise wird der Wert „2“ angezeigt, wenn der Wert zwei ist, usw. Obwohl wir mehrmals für einen einzelnen Wert geschrieben haben, überprüfen wir nach einem Wert zwischen 3 und 6, und der Ausgangswert liegt im Bereich von 3 bis 6.

Abschluss

In diesem speziellen Artikel haben wir alle potenziellen Kunden und die Anwendung der Bewertungserklärung verteilt, damit wir den Mechanismus der Bewertungserklärung in einer guten Weise verstehen. Wir haben das gesamte Thema der Bewertungsaussagen klargestellt, die in der COBOL -Programmiersprache vorhanden sind.