La differenza principale tra il caso di valutazione e VBA Select è che la valutazione non richiede un'istruzione "interruzione" perché il controllo esce automaticamente all'istruzione valuta non appena una condizione è soddisfatta.
Formati:
Prima di esaminare la sintassi e l'esempio della dichiarazione di valutazione, vorremmo menzionare che l'istruzione COBOL Valuta ha quattro diversi formati. Discutiamo di ogni formato con ogni sintassi.
La sintassi di base dell'istruzione valuta è:
Valutare vero
Quando Condition-1
Dichiarazione…
Quando altri
Dichiarazione…
Emo-Evaluate.
La clausola "quando" viene generalmente utilizzata per specificare la condizione. Nei seguenti esempi, specifichiamo l'affermazione che deve essere eseguita per quel particolare evento. La valutazione della dichiarazione termina con una chiara spiegazione della fine del suo ambito.
Esempio di programmazione 1:
Divisione di identificazione.
Programma-id. EMP001.
Divisione dati.
Sezione file.
Sezione di lavoro di lavoro.
01 WS-FILE-SW Pic X (01) Value 'N'.
88 Valore E-O-F 'Y'.
88 NOT-E-O-F Value 'N'.
Divisione procedura.
000-Main-para.
Valutare vero
Quando E-O-F
Esegui A00-WRT-TRL-REC
Quando non-e-o-f
Esegui B00-WRT-DTL-REC
Esegui B10-REC-NXT-REC
Quando altri
Eseguire Z00-CLL-ERR
End-Evaluate.
Smettere di correre.
A00-WRT-TRL-REC.
Visualizza "fine del file".
B00-WRT-DTL-REC.
Visualizza 'non fine del file'.
B10-REC-NXT-REC.
Visualizza 'non fine del file'.
Z00-CLL-ERR.
Visualizza 'Errore'.
Produzione:
papan@papan -virtualbox: ~/desktop/eva $ cobc -xjf 4.CBL
Non fine del file
Non fine del file
Spiegazione:
In questo esempio di programmazione, esaminiamo il paragrafo menzionato nella divisione delle procedure che è 000-Main-Para. Usiamo la dichiarazione di valutazione in questo paragrafo. Dice "valutare vero" all'inizio della dichiarazione di valutazione e dice quando.
La prima condizione afferma che se non vi è alcun record nel file, significa che è la fine del file. In tal caso, vai e scrivi l'esecuzione di A00-WRT-TRL-REC. Se non è la fine del file e ci sono alcuni altri record, vai avanti e scrivi il record B00-WRT-DTL-REC che è già nel buffer e vai al record successivo che è B10-REC-NXT -Rec.
Nel caso in cui nessuna delle condizioni fornite sia soddisfatta, usa il controllo andando all'altra sezione. Quindi esegue Z00-CLL-ERR. Si chiama "errore" che va alla gestione delle eccezioni.
Esempio di programmazione 2: valutare anche quando
Divisione di identificazione.
Programma-id. EMP002.
Divisione dati.
Sezione file.
Sezione di lavoro di lavoro.
01 WS-FILE-SW Pic X (01) Value 'N'.
88 Valore end-of-the-file 'y'.
88 valore non-end-of-the-file '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).
Divisione procedura.
000-Main-para.
Visualizza "Immettere il valore di WS-P".
Accetta WS-P.
Visualizza "Immettere il valore di WS-Q".
Accetta WS-Q.
Visualizza "Immettere il valore di WS-R".
Accetta di WS-R.
Visualizza "Immettere il valore di WS-S".
Accetta di WS-S.
Valutare vero anche vero
Quando WS-P = WS-Q anche WS-R = WS-S
Visualizza 'Il caso 1 è vero'
Quando WS-P> WS-Q anche WS-R < WS-S
Visualizza 'Il caso 2 è vero'
Quando altri
Visualizza "Altro caso è vero"
End-Evaluate.
Produzione:
papan@papan -virtualbox: ~/desktop/eva $ cobc -xjf 2.CBL
Immettere il valore di WS-P
300
Immettere il valore di WS-Q
100
Immettere il valore di WS-R
169
Immettere il valore di WS-S
500
Il caso 2 è vero
Spiegazione:
Passiamo alla prossima variante della dichiarazione di valutazione che è anche "Valuta con". Questa variante della dichiarazione di valutazione è simile a quella che abbiamo discusso nell'esempio precedente. L'unica differenza è che in questa variante controlliamo più di una condizione allo stesso tempo.
In questo esempio, valutare vero anche vero significa che se entrambe le condizioni specificate nella clausola quando è soddisfatta, solo l'affermazione potrebbe essere eseguita. I valori di "WS-P" e "WS-Q" dovrebbero corrispondere e i valori di "WS-R" e "WS-S" dovrebbero corrispondere anche a questa affermazione. Quindi, solo l'affermazione "vera" che si trova nel caso viene visualizzata come output della particolare affermazione.
Esempio di programmazione 3: valutare quando con più condizioni
Divisione di identificazione.
Programma-id. EMP003.
Divisione dati.
Sezione file.
Sezione di lavoro di lavoro.
01 Valore di stato marziale X (01) M '.
01 WS-PGE PIC X (02) Valore 36.
01 WS-GEN PIC X (01) Valore 'F'.
Divisione procedura.
000-Main-para.
Valuta lo stato marziale
Quando 'm'
Mostra "sposato"
QUANDO È'
QUANDO D'
Visualizza 'single'
Quando altri
Visualizza 'non specificato'
End-Evaluate.
Valutare vero
Quando WS-PGE> 10 e WS-GEN = 'M'
Visualizza 'maschio con età> 10'
Quando WS-PGE> 10 e WS-GEN = 'F'
Mostra 'femmina con età> 10'
Quando altri
Visualizzare "i criteri non soddisfano"
End-Evaluate.
Produzione:
papan@papan -virtualbox: ~/desktop/eva $ cobc -xjf 1.CBL
SPOSATO
Femmina con età> 10
Spiegazione:
In questo esempio, nonostante l'utilizzo di "true", utilizziamo il nome della variabile effettiva e controlliamo i valori di tali variabili, il possibile valore di quella particolare variabile nella clausola di quando.
In questo esempio, c'è un campo chiamato "stato marziale". Controlliamo il valore di questo particolare campo, che siano sposati, single o divorziati. Se la persona è sposata, mostra "sposato". Se la persona è single, mostra "single".
Esempio di programmazione 4: valutare quando con attraverso
Divisione di identificazione.
Programma-id. EMP004.
Divisione dati.
Sezione file.
Sezione di lavoro di lavoro.
01 WS-FILE-SW Pic X (01) Value 'N'.
88 Valore end-of-the-file 'y'.
88 valore non-end-of-the-file 'n'.
01 WS-Number Pic 9 (2) Value Zero.
Divisione procedura.
000-Main-para.
Visualizza "Immettere un numero:"
Immettere il valore del numero WS
Valuta WS-Number
Quando 1
Visualizza '1'
Quando 2
Visualizza '2'
Quando 3 a 6
Visualizza il numero "nell'intervallo di 3-6"
Quando altri
Visualizza 'Numero non nell'intervallo'
End-Evaluate.
Produzione:
papan@papan -virtualbox: ~/desktop/eva $ cobc -xjf 3.CBL
Immettere un numero:
4
Numero nell'intervallo 3-6
Spiegazione:
Questa variante dell'istruzione di valutazione è anche simile agli esempi precedenti. Il codice utilizza la parola chiave "thro" quando si specificano le condizioni all'interno della clausola quando dell'istruzione valuta per indicare un intervallo di valori per la variabile che viene valutata. In questo caso, abbiamo l'istruzione di valutazione e utilizziamo una variabile chiamata "WS-Number". Quello che facciamo è controllare i diversi valori nella clausola quando.
Il primo è che il valore del numero WS è 1. Quindi, visualizziamo "1". Allo stesso modo, se il valore è due, il valore "2" viene visualizzato, ecc. Nonostante di scrivere più volte per un singolo valore, ciò che facciamo è verificare un valore compreso tra 3 e 6 e il valore di output è compreso tra 3 e 6.
Conclusione
In questo particolare articolo, abbiamo coperto tutte le prospettive e l'applicazione della dichiarazione di valutazione in modo da comprendere il meccanismo della dichiarazione di valutazione in modo bene. Abbiamo chiarito l'intero argomento delle dichiarazioni di valutazione presenti nel linguaggio di programmazione Cobol.