Evaluere uttalelsen i COBOL

Evaluere uttalelsen i COBOL
Evaluering i COBOL ligner på "Select Case Statement" i Microsoft Visual Basic. "Evaluering" -uttalelsen ble introdusert med COBOL-85 og kan bruke COBOL-evalueringen til en rekke formål. Fra ytelsesperspektivet er COBOL Evaluation -uttalelsen bedre enn COBOL nestet IFS. Av denne grunn anbefales det bare at du bør erstatte din nestede-hvis-uttalelse med COBOL Evaluation-uttalelsen.

Hovedforskjellen mellom evalueringen og VBA Select -saken er at evaluering ikke krever en "break" -uttalelse fordi kontroll automatisk kommer ut av evalueringsuttalelsen så snart en betingelse er oppfylt.

Formater:
Før vi ser på syntaksen og eksemplet med evalueringsuttalelse, vil vi nevne at COBOL Evaluation -setningen har fire forskjellige formater. La oss diskutere hvert format med hver syntaks.

Den grunnleggende syntaks for evalueringsuttalelsen er:

Evaluere sant
Når tilstand-1
Uttalelse…
Når annet
Uttalelse…
Emo-evaluer.

"Når" -bestemmelsen brukes vanligvis til å spesifisere tilstanden din. I de følgende eksemplene spesifiserer vi uttalelsen som må utføres for den aktuelle hendelsen. Evalueringen av uttalelsen avsluttes med en klar forklaring på slutten av omfanget.

Programmering Eksempel 1:

Identifikasjonsavdeling.
Program-ID. EMP001.
Dataavdeling.
Fildelen.
Arbeidshageseksjon.
01 WS-File-SW Pic X (01) Verdi 'N'.
88 e-o-f verdi 'y'.
88 NOT-E-O-F VERDI 'N'.
Prosedyreavdeling.
000-main-para.
Evaluere sant
Når e-o-f
Utfør A00-WRT-TRL-REC
Når ikke-e-o-f
Utfør B00-WRT-DTL-REC
Utfør B10-REC-NXT-REC
Når annet
Utfør Z00-CLL-err
Slutt-evaluering.
Stopp løp.
A00-WRT-TRL-REC.
Vis 'enden av filen'.
B00-WRT-DTL-REC.
Vis 'ikke enden av filen'.
B10-REC-NXT-REC.
Vis 'ikke enden av filen'.
Z00-CLL-err.
Vis 'feil'.

Produksjon:

Papan@Papan -VirtualBox: ~/Desktop/Eva $ COBC -XJF 4.Cbl
Ikke slutt på filen
Ikke slutt på filen

Forklaring:
I dette programmeringseksemplet ser vi på avsnittet som er nevnt i prosedyredivisjonen som er 000-main-para. Vi bruker evalueringserklæringen i dette avsnittet. Det står "evaluere sant" i starten av evalueringsuttalelsen, og det står når.

Den første tilstanden sier at hvis det ikke er noen post i filen, betyr det at det er slutten av filen. I så fall er det bare å gå og skriv utfør A00-WRT-TRL-REC. Hvis det ikke er slutten på filen og det er få poster, bare gå foran og skriv B00-WRT-DTL-REC-posten som allerede er i bufferen, og gå til neste post som er B10-REC-NXT -Rec.

I tilfelle ingen av den oppgitte tilstanden er tilfreds, bruk kontroll ved å gå til den andre delen. Den utfører deretter Z00-CLL-er. Det kalles "feil" som går til unntakshåndtering.

Programmering Eksempel 2: Evaluer når du også er med

Identifikasjonsavdeling.
Program-ID. EMP002.
Dataavdeling.
Fildelen.
Arbeidshageseksjon.
01 WS-File-SW Pic X (01) Verdi 'N'.
88 End-of-the-fil-verdien 'y'.
88 Not-End-of-the-file Value 'n'.
01 WS-P bilde 9 (3).
01 WS-Q Pic 9 (3).
01 WS-R bilde 9 (3).
01 WS-S Pic 9 (3).
Prosedyreavdeling.
000-main-para.
Vis "Angi verdien av WS-P".
Godta WS-P.
Vis "Angi verdien av WS-Q".
Godta WS-Q.
Vis "Angi verdien av WS-R".
Aksepterer WS-R.
Vis "Angi verdien av WS-S".
Godta WS-S.
Evaluere sant også sant
Når WS-P = WS-Q også WS-R = WS-S
Vis 'sak 1 er sant'
Når WS-P> WS-Q også WS-R < WS-S
Vis 'sak 2 er sant'
Når annet
Vis 'annen sak er sant'
Slutt-evaluering.

Produksjon:

Papan@Papan -VirtualBox: ~/Desktop/Eva $ COBC -XJF 2.Cbl
Angi verdien av WS-P
300
Angi verdien av WS-Q
100
Angi verdien av WS-R
169
Angi verdien av WS-S
500
Sak 2 er sant

Forklaring:
La oss gå videre til neste variant av evalueringsuttalelsen som er "evaluert med også". Denne varianten av evalueringsuttalelsen ligner på det vi diskuterte i forrige eksempel. Den eneste forskjellen er at vi i denne varianten sjekker mer enn en tilstand samtidig.

I dette eksemplet betyr evaluering av sanne også sant at hvis både tilstand som er spesifisert i WHAVE -leddet er oppfylt, kan bare uttalelsen utføres. Verdiene til “WS-P” og “WS-Q” skal samsvare, og verdiene til “WS-R” og “WS-S” skal også samsvare i denne uttalelsen. Da vises bare den "sanne" uttalelsen som er i saken som en utdata fra den aktuelle uttalelsen.

Programmering Eksempel 3: Evaluer når du er med flere forhold

Identifikasjonsavdeling.
Program-ID. EMP003.
Dataavdeling.
Fildelen.
Arbeidshageseksjon.
01 MARTIAL-STATUS PIC X (01) Verdi 'M'.
01 WS-PGE PIC X (02) Verdi 36.
01 WS-Gen Pic X (01) Verdi 'F'.
Prosedyreavdeling.
000-main-para.
Evaluer krigsstatus
Når 'm'
Vis 'gift'
NÅR S'
Når 'D'
Vis 'singel'
Når annet
Vis 'ikke spesifisert'
Slutt-evaluering.
Evaluere sant
Når WS-PGE> 10 og WS-GEN = 'M'
Vis 'hann med alder> 10'
Når WS-PGE> 10 og WS-GEN = 'F'
Vis 'hunn med alder> 10'
Når annet
Vis 'kriterier som ikke tilfredsstiller'
Slutt-evaluering.

Produksjon:

Papan@Papan -VirtualBox: ~/Desktop/Eva $ COBC -XJF 1.Cbl
GIFT
Kvinne med alder> 10

Forklaring:
I dette eksemplet, til tross for å bruke "sant", bruker vi det faktiske variabelenavnet og sjekker verdiene til disse variablene, den mulige verdien av den aktuelle variabelen i WHAVE -leddet.

I dette eksemplet er det et felt som heter "Kampsstatus". Vi sjekker verdien av dette bestemte feltet, enten de er gift, singel eller skilt. Hvis personen er gift, viser den “gift”. Hvis personen er singel, viser den “singel”.

Programmering Eksempel 4: Evaluer når du er med gjennom

Identifikasjonsavdeling.
Program-ID. EMP004.
Dataavdeling.
Fildelen.
Arbeidshageseksjon.
01 WS-File-SW Pic X (01) Verdi 'N'.
88 End-of-the-fil-verdien 'y'.
88 Not-End-of-the-file Value 'n'.
01 WS-nummer Pic 9 (2) Verdi null.
Prosedyreavdeling.
000-main-para.
Vis "Skriv inn et tall:"
Angi verdien av WS-nummer
Evaluere WS-nummer
Når 1
Vis '1'
Når 2
Vis '2'
Når 3 til 6
Vis 'nummer i rekkevidde på 3-6'
Når annet
Vis 'nummer ikke innen rekkevidde'
Slutt-evaluering.

Produksjon:

Papan@Papan -VirtualBox: ~/Desktop/Eva $ COBC -XJF 3.Cbl
Skriv inn et tall:
4
Antall i området 3-6

Forklaring:
Denne varianten av evalueringsuttalelsen ligner også på de tidligere eksemplene. Koden bruker nøkkelordet "gjennom" når du spesifiserer forholdene innenfor WHAVE -leddet i evalueringsuttalelsen for å indikere en rekke verdier for variabelen som blir evaluert. I dette tilfellet har vi evalueringserklæringen og bruker en variabel kalt “WS-nummer”. Det vi gjør er at vi sjekker de forskjellige verdiene i når leddet.

Den første er at WS-nummerverdien er 1. Så vi viser “1”. Tilsvarende, hvis verdien er to, vises verdien “2”. Til tross for å skrive flere ganger for en enkelt verdi, er det vi gjør å sjekke for en verdi mellom 3 til 6, og utgangsverdien er i området 3 til 6.

Konklusjon

I denne artikkelen dekket vi opp alle utsiktene og anvendelsen av evalueringsuttalelsen slik at vi forstår mekanismen for evalueringsuttalelsen på en brønn måte. Vi avklarte hele emnet for evalueringsuttalelsene som er til stede på COBOL -programmeringsspråket.