Sei sulla pagina 1di 634

I

& l .....
I~
ALSIEL
GRUPPO IRI FINSIEL
FORMAZIONE
Strutture
per !"evoluzione

(jf)llf)I~ 1\NSI
Manuale Aut()didattic()

La cultura è un bene dell'umanità (fantomasping@libero.it)


"T"ALSI EL
lGRUPPO
I~
I FORMAZIONE
Strutture
IRI FINSIEL per l'evoluzione

COBOL ANSI .

. . ..

..

Man~ale Autodidattico

MATERIALE RISERVATO ALLA CffiCOLAZIONE INTERNA AD USO

ESCLUSIVAMENTE DIDATTICO

Proprietà ltalsiel S.p.A Le copie originali sono contraddistinte dal retino stampato 1n rosso . Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Il contenuto di questo documento può essere
soggetto a cambiamenti di qualsiasi natura,
in qualsiasi momento · · e senza preaVVIso.

Nessun utilizzo, distribuzione, elaborazione,


traduzione, trasformazione di questo documento
e dei suoi contenuti .- in tutto o in parte - in
qualsiasi. linguaggio e tramite qualsiasi mezzo
o supporto manuale, meccanico, elettronico,
v1s1vo , verbale o altri è permesso senza la
preventiva autorizzazione scritta della · Ital-
siel. Il presente documento ed il suo contenuto
non possono, in nessun caso, essere utilizzati
come specifiche per la progettazione o realiz-
zazione di strumenti - hardware, software o di
altra natura - che automatizzino (in tutto o in
parte) le metodologie, le tecniche, il testo, i
simbolismi, le procedure o la modulistica com-
presi nel · documento stesso.

No utilization, distribution, reproduction,


elaboration, translation, trasformation of this
document and of its contents (wholly or
partially) in any language and by any means or
support manual, mechanical, electronic,
visual, verbal or otherwise is allowed
without the prior written authorization of
Italsiel. The present document and its contents
must not be utilized, in any case, as
specifications for designing or implementing
any tool - hardware, software or other, - which
might automate (wholly or partially) the
metodologies, the techniques, the text, the
symbolisms, the procedures or the forms
included m the document itself.

ITALSIEL S.p.A.
Documento prodotto presso la Direzione Formazione
Via F. Depero, 24 - Roma

La cultura è un bene dell'umanità (fantomasping@libero.it)


l"'PALSI EL
I~
GRUPPO IRI FINSI EL
I FORMAZIONE
Strutture
per l'evoluzione

PREFAZIONE

Il COBOL (Common Business Oriented Language) è un linguaggio


di programmazione ad alto livello orientato ad applicazioni
di tipo commerciale, facile da imparare, semplice da
utilizzare: un programma COBOL è discorsivo, autoesplicativo
e completamente indipendente dal linguaggio macchina.

Per le sue caratteristiche di semplicità e di idoneità a


risolvere problemi applicativi di tipo commerciale, il COBOL
è tra i linguaggi di programmazione più diffusi.
Attualmente possono essere scritti programmi COBOL su
elaboratori di grandi, medie e anche piccole dimensioni.

Questo volume descrive il COBOL ANSI cioè il COBOL che


risponde alle specifiche definite dall'American National
Standard Institute.
Poiché tuttavia ogni compilatore costituisce una versione a
sè del linguaggio, essendo legato all'ambiente hardware e
software in cui opera (elaboratore, unità periferiche,
sistema operativo, ecc.), ogni compilatore è più o meno
rispondente alle specifiche ANSI, e nessun compilatore può
essere definito compilatore ANS:r COBOL "puro" cioè
perfettamente rispondente all.e spec~_f i .c he.

Questo manuale, pertanto, pur facendo riferimento


alle specifiche COBOL ANSI 1968 descrive le regole
da segu_ire nella sci:_:ittura di un programma che deve
essere · compi~ato dal compilatore IBM OS/MVS
COBOL5740~CB1 Release 2.4

Il presente manuale è destinato a persone che non hanno


esperienza di programmazione e che debbono studiare il
linguaggio per poterlo utilizzare.

Il manuale è un manuale di autoistruzione. Ogni capitolo


contiene il testo vero e proprio (descrizioni, regole, ecc.)
e domande cui lo studente deve rispondere o problemi che
deve risolvere. Ogni domanda è seguita dalla risposta o
dalla soluzione corretta che deve essere opportunamente
coperta durante la lettura.

Il linguaggio COBOL, definito e realizzato alla fine degli


anni '50, col passare degli anni, si è talmente modificato
da comprendere oggi molte istruzioni e opzioni alcune delle
quali molto complesse e di rarissimo utilizzo .

Propneta ltalS1el S p.A Le copie originali sono contraddistinte dal retino stampato 1n rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
In questo manuale sono illustrati solo gli elementi del
linguaggio fondamentali e necessari per poter risolvere
qualunque problema applicativo.

Come tutti i linguaggi di programmazione, il COBOL mette a


disposizione le istruzioni necessarie al trattamento degli
archivi. Nella prima parte del manuale la trattazione
riguarda esclusivamente archivi ad organizzazione
sequenziale con record a lunghezza fissa.

Nella stesura del manuale sono state adottate le seguenti


notazioni:

- le domande cui lo studente deve rispondere sono numerate.


Una serie di caratteri precede la risposta corretta;
AAA

- le parti di teoria sono riquadrate;

nella descrizione del linguaggio si fa uso dei formati


secondo la seguente notazione:

·1e parole scritte con caratteri maiuscoli sono parole


riservate

le parole riservate sottolineate sono obbligatorie,


quelle non sottolineate sono opzionali

le parole scritte con caratteri minuscoli indicano


parole definite dall'utente

le parentesi quadre indicano che l'elemento contenuto


può essere specificato o omesso

le parentesi graffe indicano che uno degli elementi


contenuti deve essere specificato.

In una prima lettura le parti contrassegnate con


doppia riga a margine possono essere tralasciate.

La cultura è un bene dell'umanità (fantomasping@libero.it)


l'T"ALSIEL
I~
~RUPPO IRI FINSI EL
I FORMAZIONE
S1ru1ture
per l'evoluzoone

RICONOSCIMENTO

Ogni organizzazione che desideri riprodurre, in parte o


totalmente, il rapporto e le specifiche del COBOL
utilizzando i contenuti di questo rapporto come base per un
manuale di istruzione o per altri fini è libera di farlo.
Tuttavia queste organizzazioni devono riprodurre questa
sezione come parte della introduzione al testo.
Coloro che usano un breve passaggio, come ad esempio una
bibliografia, devono specificare il termine COBOL in
riconoscimento della fonte ma non sono obbligati a riportare
tutta questa sezione.

Il COBOL è un linguaggio industriale e non è di proprietà di


alcuna società, o di gruppo di società, organizzazione o di
gruppo di organizzazioni.

Il comitato COBOL ed i suoi membri non garantiscono, in modo


esplicito o implicito, la funzionalità e la esattezza del
linguaggio e del sistema di programmazione. Perciò a tale
proposito, non viene assunta alcuna responsabilità dai
membri o dal comitato.

Sono state stabilite delle procedure per il miglioramento


del COBOL. Le richieste sulle procedure per le proposte di
modifiche devono essere indirizzate al comitato esecutivo
della Conference on Data Systems Languages.

Gli autori e i detentori di diritti del materiale qui usato:

FLOW-MATIC (marchio della Sperry Rand Corporation),


Programmazione per la Univac I e II, Sistemi per
l'automazione dei dati, sottoposti a copyright nel 1958 e
1959 dalla Sperry Rand Corporation:
Ibm Traduttore commerciale mod. F 28-8013 sottoposto a
copyright nel 1959 dalla Ibm:
FACT, OSI 27A5260-2760 sottoposto a copyright dalla
Minneapolis-Honeywell, hanno esplicitamente autorizzato
l'uso di questo materiale, tutto o in parte, nelle
specifiche· COBOL. Tale autorizzazione è estesa anche alla
riproduzione e all'uso della specifiche COBOL nei manuali di
programmazione e in pubblicazioni simili.

Propneta ltals1el s p.A . Le copie ong1nal1 sono contradd1st1nte dal retino stampato in rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
La cultura è un bene dell'umanità (fantomasping@libero.it)
l ....
I~
ALSI EL
RUPPO IAI FINSI EL
I FORMAZIONE
Strutture
per l'evoluzaone

Pag.
PREFAZIONE
RICONOSCIMENTO
INDICE ...................... I

CAPITOLO 1 ........ ........ 1.0

INTRODUZIONE 1.1

IL FOGLIO DI PROGRAMMAZIONE COBOL 1.3

CAPITOLO 2. 2.0

ELEMENTI PRINCIPALI DEL LINGUAGGIO COBOL • 2.1

SET. DEI CARATTERI DEL LINGUAGGIO 2.1

SEGNI DI PUNTEGGIATURA 2.2

SEGNI ARITMETICI • . .. . ~ ... 2.2

SEGNI DI RELAZIONE . . . ... ~ 2.2

PAROLE RISERVATE ..............


~ . 2.5

NOMI •• ............. . 2.12

COSTANTI • ................. 2.17

C_QSTANTI NUMERICHE 2.17

COSTANTI NON NUMERICHE • 2.18

COSTANTI FIGURATIVE .......... 2 . 22

Proprietà ltals1el S.p.A. Le copie originali sono contraddistinte dal retino stampato 1n rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Pag.
CAPITOLO 3. . • . • • • • • • • • ....... 3.0

STRUTTURA DEL PROGRAMMA COBOL .... . .. 3.1

IDENTIFICATION DIVISION ...... 3.2

ENVIRONMENT DIVISION • 3.2

DATA DIVISION ....... 3.3

PROCEDURE DIVISION ........ 3.5

INTERRELAZIONE FRA LE DIVISION 3.7


CONTINUAZIONE DI PROPOSIZIONE • • • • • 3.8

CONTINUAZIONE DI COSTANTI NON NUMERICHE • • • • 3.8

CAPITOLO 4 • • . . 4.0

IDENTIFICATION DIVISION .......... 4.1

CAPITOLO 5 • • • • • • • • • • • • • • • • • 5. O

LA DESCRIZIONE DEI CAMPI NELLA DATA DIVISION 5.1

DESCRIZIONE DEI CAMPI (LIVELLO 01 + 49) • • • • 5.1

LA CLAUSOLA PICTURE • • • • • 5.6

NOMI DI CONDIZIONE (LIVELLO 88) 5.11

CAPITOLO 6 . . . . . • • 6.0

DATA DIVISION : FILE SECTION • • • 6.1

LA DESCRIZIONE DEL FILE (IL PERIODO FD) 6.2

LA CLAUSOLA LABEL RECORDS 6.3

LA CLAUSOLA BLOCK CONTAINS • ........ 6.4

LA DESCRIZIONE DEL RECORD ......... 6.6

II

La cultura è un bene dell'umanità (fantomasping@libero.it)


l"'W"'ALSI
I """'
lUPPO IRI FINSIEL
EL IFORMAZIONE
Strulture
per l'evoluZtonc

Pag.

CAPITOLO 7 • • • • .... ......... 7.0


DATA DIVISION WORKING-STORAGE SECTION 7.1
CAMPI INDIPENDENTI 7.1
INIZIALIZZAZIONE DI CAMPI E DEFINIZIONE
DI COSTANTI • • • • • • • • • . • • 7.6

CAPITOLO 8 • • • • • . • 8.0

ENVIRONMENT DIVISION • ....... 8.1

CONFIGURATION SECTION ....... 8.1

PARAGRAFO SPECIAL-NAMES 8.1

LA INPUT-OUTPUT SECTION 8.2

LA CLAUSOLA SELECT .......... 8.3

CAPITOLO 9 • • • • • • 9.0
PROCEDURE DIVISION • · • ·.. • • 9.1

CAPITOLO 10 • • • • 10. o
LE ISTRUZIONI DI INPUT / OUTPUT • • • • • • • • 10.1
L~ISTRUZIONE OPEN • • 10. 2
L'ISTRUZIONE CLOSE • • • 10. 5
L'ISTRUZIONE READ • • 10. 7
L'ISTRUZIONE WRITE • • 10.15

III

Proprieta ltals1el S p.A Le copie onginah sono contraddistinte dal retino stampato 1n rosso Ne e vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Pag.

CAPITOLO 11 • • • • • • .... ... . • ·11. o


L'ISTRUZIONE MOVE .......... . 11.1
MOVE ELEMENTARE ............. . . 11. 3
MOVE TRA CAMPI COMPOSTI • • • •• 11.10
MOVE DI COSTANTI FIGURATIVE •• 11.12

CAPITOLO 12 • • .• • • • • • • • • • • • • • • • 12.0
DESCRIZIONE COMPLETA DEI CAMPI NUMERICI .. 12.1
DESCRIZIONE DEI CAMPI CON SEGNO •• 12.2
DESCRIZIONE DEI CAMPI CON CIFRE DECIMALI •• 12.4
LA CLAUSOLA USAGE • • • • • • • • • • • • • • • 12.10
RAPPRESENTAZIONE INTERNA DEI CAMPI DISPLAY • • • 12.16
RAPPRESENTAZIONE INTERNA DEI CAMPI BINARI • • • 12.22
RAPPRESENTAZIONE INTERNA DEI CAMPI "PACKED" •• 12.24
LA CLAUSOLA SYNCHRONIZED • • • • • • • • 12.29
RIEPILOGO ..... .. . ... • • • 12.32

IV

La cultura è un bene dell'umanità (fantomasping@libero.it)


l"'PALSI EL
I~
GRUPPO IRI FINSIEL
I FORMAZIONE
Strutture
per l'evoluZ1one

Pag.
CAPITOLO 13 . • 13.0
L'ISTftUZI9NE IF ......... 13.1

LE CO?DIZIONI ............' ... 13.1


CONaIZI9NE DI RELAZI&NE . . . . . . . . . . 13.2

C8NDIZI•NE •I SEGNO 13.5

C91DIZI8NE "N•ME •I ce?DIZIQNE" 13.7


C91DIZieNE •I CLASSE ............. 13.9
L'ISTftUZI9NE IF ................ 13.11

- I CeNF'fteNTI ............ 13.17

ceNFR•NT• TRA 8PEftANDI NUMERICI 13.18


C8NFR9NT0 TRA OPERANDI NON NUMERICI 13.20

CAPIT9Le 14 • • • • .. . . 14.0
. ..
LE ISTftUZI8NI Ge Te1 STeP .E aISPLAY 14.1

L'ISTftUZieNE Ge Te .............. 14.1


L'ISTftUZieNE STeP ........ .... 14.4
L'ISTRUZieNE aISPLAY ... 14.8

L'ISTRUZIONE PERFORM •• 14.10

L'ISTRUZIONE EXIT .............. 14.14

L'OPZIONE UNTIL 14.16


CONCLUSIONI .. . . ........... 14.19

Proprietà ltals1el S p.A. Le copie onginalt sono contraddistinte dal reltno stampato 1n rosso. Ne e vietata la nproduz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
Pag.
STANDARDS FORMALI ............... 14.19
COMPOSIZIONE GRAFICA DI UN PROGRAMMA COBOL • 14.20
NOMI IN FD • • • • • • • • 14.21
NOMI IN WORKING-STORAGE 14.22
LIVELLI ........... 14.23
NOMI DELLE LABELS 14.24
COSTANTI ......... ....... . 14.25
LINEE DI MINUTAZIONE ...... 14.25
BLOCCAGGIO • • . • • . . . . . . . . . . . . . 14.25
OPEN-CLOSE • • • • • • 14.25
READ ••• INTO E WRITE ••• FROM ..... 14.26
CONTATORI DI I/O • • • • • 14.27
INIZIALIZZAZIONE DEI CAMPI • • • • . • • • • 14.27
OPERAZIONI CONDIZIONATE • • • • • . • • • • • 14.27
CONTROLLI ............ 14.28
ISTRUZIONE COMPUTE • 14.31

VI

La cultura è un bene dell'umanità (fantomasping@libero.it)


... ALSI EL
l.AUPPO
I """'
I FORMAZIONE
Slrutlure
IRI FINSIEL • per l'evoluzione

Pag.
CAPITOLO 15 • • • • • • • • • ........... 15.0
LE ISTRUZIONI ARITMETICHE ... ...... 15.1
L'ISTRUZIONE ADD •• ... 15.1
L'OPZIONE ROUNDED 15.4
L'OPZIONE ON SIZE ERROR ............ 15.6
L'ISTRUZIONE SUBTRACT 15.8
L'ISTRUZIONE MULTIPLY 15.11
L'ISTRUZIONE DIVIDE 15.13
LE ESPRESSIONI ARITMETICHE E L'ISTRUZIONE
COMPUTE • • • • • • • • • • • • • • • • • • • • 15 .15
LA PRECISIONE NEI CALCOLI ARITMETICI • 15.20
CAPITOLO 16 • • • • • • • • 16.0
DESCRIZIONE DEI CAMPI DI STAMPA . . .. . 16.1
CAMPI DI STAMPA NUMERICI • . • . • • • 16.3
LA CLAUSOLA DECIMAL-POINT IS COMMA • 16.8
INSERIMENTO DI SPAZI E DI ZERI • • 16.10
SOPPRESSIONE DEGLI ZERI NON SIGNIFICATIVI 16.11
INSERIMENTO DEL SEGNO 16.16
LA CLAUSOLA BLANK WHEN ZERO 16.21
CAMPI DI STAMPA ALFANUMERICI .• • • 16.24

VII

Proprietà ltals1el S p A . Le copie originali sono contraddistinte dal retino stampato in rosso Ne e vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Pag.
CAPITOLO 17 ....... 17.0
LE CONVERSIONI • ... 17.1
CONVERSIONI NECESSARIE • 17.1
CONVERSIONI NON NECESSARIE • 17.3

CAPITOLO 18 • • • • • • • • • 18.0
FUNZIONI DELLA MOVE NUMERICA E
REGOLE DA SEGUIRE NEI TRASFERIMENTI 18.1
MOVE NUMERICA (TRASFERIMENTI IN CAMPI NUMERICI
E NUMERICI DI STAMPA) • • • • . . . • • 18.1
MOVE TRA CAMPI DI TIPO DIVERSO • . . • . • • • • 18.7

CAPITOLO 19 .... ..... 19.0


L 'I STRUZIONE WRITE PER LA STAMPA • 19.1
L'ISTRUZIONE WRITE ADVANCING 19.2
SALTI A PAGINA NUOVA 19.7

CAPITOLO 20 ...... ........... 20.0


LA FUNZIONE TRACE E LE PSEUDOISTRUZIONI 20 . 1
I COMANDI READY TRACE E RESET TRACE 20.1
I COMANDI EJECT, SKIPl, SKIP2 E SKIP3 20.5
IL COMANDO COPY 20.5
IL COMANDO RCOPY • • 20.9

VIII

La cultura è un bene dell'umanità (fantomasping@libero.it)


"T'"ALSIEL
lGRUPPO
• ..,.....,
I Strutture
FORMAZIONE
IRI FINSIEL per l"evoluz1one

Pag.

CAPITOLO 21 • • • • • 21.0

LE CLAUSOLE OCCURS E REDEFINES . 21.1

LA CLAUSOLA OCCURS • 21 . l

LA CLAUSOLA REDEFINES 21.8

CAPITOLO 22 ............ 22 . 0

LE TABELLE ............ 22.l

DEFINIZIONE DI TABELLE 22.l

ACCORGIMENTI PARTICOLARI 22.20

CARICAMENTO DI TABELLE .......... 22.26

ELABORAZIONE DI TABELLE 22.32

CAPITOLO 23 • . • • • • • . • • .. 23 . 0

LE CONDIZIONI COMPOSTE . .. .... 23.l

GLI OPERATORI LOGICI E LE CONDIZIONI COMPOSTE 23 . 3

L'OPERATORE OR • 23.3

L'OPERATORE ANO 23.7

CONDIZIONI COMPOSTE CON ELEMENTI IMPL I CITI • 23.13

IX

Proprietà 1tals1el S.p.A .. Le copie or191nal1 sono contradd1st1nte dal retino stampato m rosso Ne e vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Pag .

CAPITOLO 24 ............. 24.0

I PUNTATORI E L'ISTRUZIONE SEARCH ••• 24.1

I PUNTATORI • • • • • • • • • • • 24.1

L ' ISTRUZIONE SET • 24.11

GESTIONE DI TABELLE CON PUNTATORI • • • 24.17

SEARCH SEQUENZIALE • . • • • 24.26

SEARCH BINARIA 24.38

CAPITOLO 25 • • 25.0

L ' ISTRUZIONE CALL • • • 25.1

ISTRUZIONE PER IL RICHIAMO • 25.8

ISTRUZIONE DI USCITA • 25.16

CALL STATICA • • • • • 25.17

CALL DINAMICA 25.19

CAPITOLO 26 26.0

LE ISTRUZIONI DISPLAY E ACCEPT • .. 26.1

L'ISTRUZIONE DISPLAY • ... 26.1

L'ISTRUZIONE ACCEPT 26.5

La cultura è un bene dell'umanità (fantomasping@libero.it)


l ...ALSI EL I
& I"""'
GRUPPO IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

Pag.

CAPITOLO 27 • . . ........... 27.0


DEFINIZIONE 27.1
ORGANIZZAZIONE KSDS 27.2

ORGANIZZAZIONE ESDS ............ 27.3

ORGANIZZAZIONE RRDS 27.4


ELABORAZIONE COBOL
DI DATA SET VSAM KSDS 27.5
IDENTIFICATION DIVISION ....... 27.6
ENVIRONMENT DIVISION 27.7

DATA DIVISION ........... 27.10

WORKING-STORAGE SECTION 27 .11

PROCEDURE DIVISION . . .. . . . . . . . . . 27 . 13

GESTIONE DI UN DATA SET VSAM KSDS 27.13


LETTURA . . .. .· . ... . .
~··.:· 27.14

LETTURA DI TIPO SEQUE_NZIALE 27.15

ISTRUZIONE START • . · • • • • 27.15

LETTURA: DI ~IPO DIRETTO (O RANDOM) • 27.25

LETTURA DI TIPO DINAMICO 27.32

CRP: CONCETTO E FUNZIONE 27.42

AGGIORNAMENTO 27 .47

INSERIMENTO 27.50

CANCELLAZIONE ........... 27 . 53

XI

Propneta ltals1el S.p.A. Le copie originali sono contraddistinte dal retino stampato 1n rosso . Ne è vietata la nproduz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
La cultura è un bene dell'umanità (fantomasping@libero.it)
l "T"ALSIEL
I~
·'~UPPO IRI FINSIEL
I FORMAZIONE
Strutture
per I°evoluzione

Capitolo 1

1.0

Proprietà ltals1el S p A Le copie originali sono contraddistinte dal retino stampato in rosso. Ne é vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
La cultura è un bene dell'umanità (fantomasping@libero.it)
l.... ALSI EL
I,...._
I FORMAZIONE
Strutture
GRUPPO IRI FINSIEL per l'evoluzione

IL FOGLIO DI PROGRAMMAZIONE COBOL

INTRODUZIONE
Un programma scritto in COBOL ANSI è formato da quattro
parti:

IDENTIFICATION DIVISION
ENVIRONMENT DIVISION
DATA DIVISION
PROCEDURE DIVISION

La IDENTIFICATION DIVISION ha come funzione principale


quella di assegnare un nome al programma.

L'ENVIRONMENT DIVISION quella di specificare i file che il


programma deve elaborare, il loro nome, il tipo di
elaborazione, le unità di input-output su cu i risiedono,
ecc.
La DATA DIVISION descrive in modo dettagliato tu tti i dat i
(i files, le aree di lavoro e altre informazioni che non
provengono da supporti esterni) che devono essere elaborati
dal programma e assegna loro un nome oltre a definirne la
natura e la lunghezza.

La PROCEDURE DIVISION, infine, contiene le ist r uzioni che ,


operando sui dati descritti nella DATA DIVISION , consentono
di ottenere i risultati richiesti; essa pertanto costitu isce
la parte eseguibile del programma.
Le parti che compongono un programma sono organizzate
secondo una precisa struttura (Vedi Fig. 1.1).
Una division è formata da più sezioni, una sezione da più
paragrafi, un paragrafo da uno o più periodi.

1.1

Proprietà 1tals1el s p.A .. Le copie ong1nal1 sono contraddistinte dal retino stampato in rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
DIVISIONE SEZIONE PARAGRAFO PERIODO CLAUSOLE O
PROPOSIZIONI

IPERIODO

IPARAGRAFO

SEZIONE

Fig. 1.1

Le parole di un programma formano, secondo regole


sintattiche precise, clausole (nell'ENVIRONMENT DIVISION e
nella DATA DIVISION) e proposizioni (nelle PROCEDURE
DIVISION).
Una clausola o una proposizione specifica un'azione da
intraprendere, una condizione da verificare, una descrizione
di un dato, ecc.

Clausole e proposizioni formano i periodi.

Un periodo infatti può essere semplice (formato da una sola


clausola o proposizione) o composto (formato da un insieme
di clausole o proposizioni).

Nella PROCEDURE DIVISION le sezioni e i paragrafi sono


chiamati anche procedure.

1.2

La cultura è un bene dell'umanità (fantomasping@libero.it)


... ALSI EL
l0'1UPPO
I """
I FORMAZIONE
Strutture
IRI FINSIEL per l'evoluzione

IL FOGLIO DI PROGRAMMAZIONE COBOL

Il foglio di programmazione COBOL (vedi Fig. 1.2)


si divide in due parti:

- testata
- parte inferiore

Ogni riga scritta della parte inferiore dà luogo,


in sede di perforazione, ad una scheda perforata.

TESTATA

Con riferimento alla Fig. 1.3 si indica, di


seguito , il significato delle voci che compaiono
nella testata:

PROGRAMMA programma (nell'esempio: AGGIORNAMENTO


SALDO)

PROGRAMMATORE nome del programmatore (nell'esempio:


CARLO GABRIE4LI) .

DATA data di scrittura del programma


(nell'esempio: 3 AGOSTO 89)

ISTRUZIONI contiene informazioni per gli addetti


PER LA alla perforazione. Per ogni carattere
PERFORAZJONE della riga "simbolo" viene indicata nella
qaselia sottostante della riga "codice
di perforazione" la perforazione
corrispondente. Tale voce viene
utilizzata se si ritiene che alcuni
caratteri scritti nel programma non siano
facilmente comprensibili dalla perfora-
trice (nello esempio: ~ e O), ovvero
se si devono utilizzare macchine perfo-
ratrici con diversa codifica.

PAGINA indica il numero progressivo del foglio


(nell'esempio: 2)
DI indica il totale dei fogli componenti il
programma (nell'esempio: 24)

1.3

Propneta 11als1el spA Le copre orrgrnalr sono contraddistinte dal retino stampato rn rosso Ne e vietata la •1produz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
Modulo di programmazione In Cobol

PllOOllAMMA ISTllUZI ONI Pfll lA PfAfOllAZIONf PAOINA 01


--------·-- -----·- --- - .. ·- .. -·
llMIOlO
-- - ---·-· ------- -- . ·····-- ·-· -·
PllOOllAMMATOlll COD 01 Pfll,OllAZIONf DATA
I I I I I I I I
HOUINCI ,..:
z '
o
IPAOfl IUlllAL u A :1
1 J 4 1 I ' 12 11 20 24 21 32 li 40 44 .. 12 . IO 14 .. 12

o 2

o
·- - - ,__ - . ~- - . - -- -- . -
o • o
- . .; - -
o • o
- 1-
o • o
'
I o o
-, ..
I o
- '
I I I
I
•o
I • o '

La cultura è un bene dell'umanità (fantomasping@libero.it)


......
I I • o
..' -

oc:. ,oo
·- ·- - --r
2 2 o
-
~ ' • o

, __ - +--
-i ·-
I
• o '
' - -. -
' • o i·
II --- -~ --
I
, o o
I -- -· -
'
3 ' o
- - -- , .. - -
3 • o
- '
3 • o '
3 • o
- -·- -
• o o

I
' I I
I
. I 1 I
I I
: I !I I I AP I l Y t n 1 111 •
I
h lll,l l
FORMAZIONE
ITALSIEL Strutture
per i cvoiUi16h ~ --
f Jf'PO "11 FINSIEL
Modulo d i progremmezione in Cobol

.SALO O
SIMaOlO
ISTlllUllONI rtR l A H.fUO... AllON[
UQINA .t 01 <,, 4
COD 01 P(RJOlllA110N[ .... o3/o8/89

.. .. .. .. ..
HOVU"Cl .,..

..
z
lf•AGU ISUU AL 8 A
• 10 11
" •• ,,
t l 4

982 ' ,
I

o
1 I
" IO

,, .. IJ
DATA l> I °" I SI e N.
o ••

•• I 11

' o • - , LE s f.(. tT10~.


' ' '
'

.
6
'
Il

' • o
I · n o

) .. '"'
I •• 6 11

' .
' • o

l Il 11

• o o

Fig. 1.3

PARTE INFERIORE

Con ·r1ferimento alla Fig. 1.1 si illustra nel seguito


il·"modo di utilizzo delle 72 posizioni:
SEQU~CE indica il numero d'ordine della scheda
nel programma: le ultime tre posizioni
(SERIAL) sono prestampate, le prime tre
(PAGE) devono essere scritte dal
programmatore riportando il numero del
foglio scritto nella testa t a. Si noti
che il compilatore controlla che le
schede siano ordinate per numero di
SEQUENCE crescente; in caso negativo
segnala l'errore di sequenza . Le schede
sono intervallate a passo di 20 per
consentire l'inserimento di schede
aggiuntive senza dover riscrivere i
numeri di sequenza delle schede
successive.
CONT la colonna 7 viene utilizzata solo nei
seguenti casi:
· per indicare la continuazione di una
parola interrotta nella riga
precedente alla colonna 72. In tal
caso si scrive il carattere -

1.5

Propneta 1tals1el S.p.A . Le copie originali sono contradd1st1nte dal retino stampato in rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
• per indicare che il contenuto della
riga non verrà interpretato dal
compilatore ma costituirà sole un
commento nel testo del programma.
In tal caso si scrive il carattere •
Questo è l'unico modo per inserire in
un qualsiasi punto del programma
commenti o diciture che possono essere
d'ausilio per la comprensione del
progranuna stesso.
A (colonne 8-11) indica lo spazio (margine A) in cui può
iniziare una riga di programma.
B (colonne 12-72) indica lo spazio (margine ~) in cui, in
alternativa al margine A, può iniziare
una riga di programma. Si vedrà più
avanti infatti come alcune parti di un
programma COBOL sono organizzate
secondo una gerarchia stabilita.
Nella scrittura del programma si utilizzano le righe con
numero di sequenza parzialmente prestampato (SERIAL). Le
ultime righe non prestampate del foglio sono utilizzate
solo per l'eventuale inserimento di una o più righe di
programma fra le righe già scritte sul foglio. Per le
nuove righe occorre scrivere un numero di sequenza
intermedio opportuno.

L'esempio mostra l'inserimento di due nuove righe tra le


righe 00228b e 002300 precedentemente scritte.

~ .,... !
; ,-1 - ~T -- ! : I I I I T 11 I 1 11 11 I I
: '

w- e Ot.t>Ci .
I ' : ! . I
I ! I ; I I I I I I

.,.,. trbl I i I
' I
(j A!tio w-~ ER.lfi'. : ! !

..
I e O I i
; I
moi iv-
~ ·~- l~D
I I i
: f10VlE w-~ ALDC
I
I
I I ' I
:I ! I
! :I
,, ••• I II '' I I ' I ! I i ; '
• 1• I• ' ' I I

I I I I : I I i
I
I ~ I ! I
: ' ;
••• II i: .i ! I ' I

••• ! ! ' : I I
I .
' I
:
I
I .
I
•••
,,
' I I

~S"'
~ l!ll

I i
: llFi :t - C.A "nn
"'E " F~u
i; '
Il
.~1r I~ ~

-n IH
_, p ,_ FN
~,
I~ LI,. ~ii<i 1-
H .... ~ 1
-· . ' . ... . ~ .....

...--
' n ·-I - I ,..

I :I I

In caso di inserimento di righe aggiuntive occorre, una


volta ottenute le schede perforate, ordinare fisicamente
le schede in modo corretto.

1.6

La cultura è un bene dell'umanità (fantomasping@libero.it)


....ftLSI EL I
& lGRUPPO FORMAZIONE
I """' Strutture
IRI FINSI EL per l"evoluzione

1. Quali sono le parti di cui si compone un foglio di


programmazione COBOL?

Testata
Parte inferiore

2. Quante posizioni vi sono in ogni riga di un foglio


di programmazione?

72

3. A quante schede dà luogo il seguente foglio di


programmazione?

...

..• •• •I . ,.. . . ..
t

'
!
! !
·-: ~.I .i
•J !. . . iJi-I :

.
·1·· - '
: ' ' : '
; ! r
+I!
.. - .. .. ; ·- · ·7 · r 7
' I l

.-
- ·1 -
'

0R:b1 lii. I:.l - 11 -


'
' • o -. L.1
~

.!.T~i
I I •I

' •• I F .·. -I- I . .uJ.


;
ii
l I
--·1.-
;
II
' ' '

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

4. Quale carattere deve essere indicato in colonna 7 per


indicare che quanto scritto nella riga corrispondente
e' ·la continuazione della scheda precedente ?

Il carattere -

1.7

Proprietà ftalsiel S .p.A . Le copie orig1nal1 sono contraddistinte dal retino stampato in rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
5. Quali sono le posizioni a disposizione del
programmatore per la scrittura delle righe del
programma?

Da 8 a 72

6. Nel linguaggio COBOL la IDENTIFICATION DIVISION (sarà


illustrata nel seguito) deve iniziare a margine A. Quale
delle due scritture è corretta?

'
110\Jl NCl

fPAOl l ISUU Al
l •
•o '
u..
;
o I

" 11
•• •• .. l> .. •• .. .. .. .. •• •• .. "
~~
o ,

o . • 1o
1p.t1n.1 F;l C.ATI Or.j 0'1 ~il SIOl'l .
.
O• .

• o
o

I l){HT 1 f I lATI OH
I

t> ,·v, s IOM· '


! I
I

'.,
~0 0

o
;
!
I
: . I

;
I

Entrambe . Il margine A non è la posizione 8, ma la zona


compresa tra posizione 8 e posizione 11

7. Quale ca r attere deve essere indicato in colonna 7 per


indicare che quanto scritto nella riga corrispondente
costituisce un commento al programma?

Il carattere *

Il programmatore può scrivere il commento iniziando in


una qualsi asi colonna del margine A o del margine B

1.8

La cultura è un bene dell'umanità (fantomasping@libero.it)


..."LSI EL
l;.;RUPPO
I~
IRI FINSIEL
I
FORMAZIONE
Strutture
per l'evoluuone

8. Quale dei seguenti periodi costituisce un commento


corretto ad un programma?
...,
' ' :io
j0 '
II6
!I
A. ;
' • o
:
Lf ' ,1:::. ~UZ.1 OHI STA MPR ~o L I E~ TRAT r'o C.0 NT '()
' o o E:JEL
' ' o I
~ à;o E TI ' uo
B.. ' • o
' • o
LE
!>EL CL.I( H!T
1s L I .ES TRAT [To ~OHTO

l
' • o

B. E' necessario mettere il carattere * in ogni riga del


commento

9. Perché il seguente paragrafo COBOL è errato?


r· -...------
' o o
• • j i
• ' o f1 L- H U'J- / N 1 z. 1 e -T ~A TT.
, .. 'o I
• ' • I I ' • • • • l L I I , ,
J ' n , ADD. \'V-\Hpo~To TO llil-TOTAL..E.
Io
, f) 1
! i • I F W· TC :11'1L:E , 6.REA.IE: R. \X -To T
~· io' ·~-'c.o,.lf. · ·
1
I
• o 10 ' A.o.o •

: I : I
'
I
I ' : ! i
. l :

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

La parola ML-010-inizio-tratt non può iniziare a colonna 7

10. Le righe non numerate del foglio di programmazione sono


utilizzate:
A. Per scrivere istruzioni per la perforatrice
B. Per inserire righe di programma tra le righe numerate
c. Per appunti o note del programmatore

B.

1.9

Proprieta ltals1el S p A .. Le copie originali sono contraddistinte dal retino stampato 1n rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
La cultura è un bene dell'umanità (fantomasping@libero.it)
~ ITALSI EL I ~~~t~u~~IONE
~ GRUPPO IAI FINSIEL per l'evolu21one

Capitolo 2

2.0

Proprietà ltals1el S p.A Le copie originali sono contraddistinte dal retino stampato 1n rosso Ne è vietata la r•produz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
La cultura è un bene dell'umanità (fantomasping@libero.it)
l...ALSI EL
I~
I FORMAZIONE
Strutture
GRUPPO IRI FINSIEL per l'evoluzione

ELEMENTI PRINCIPALI DEL LINGUAGGIO COBOL

SET DEI CARATTERI DEL LINGUAGGIO

L'insieme dei simboli grafici del linguagg i o COBOL è


formato da:
- 26 caratteri alfabetici (le lettere dell ' alfabeto
inglese)
- 10 caratteri numerici (le cifre arabe )

- 15 caratteri speciali

Tale insieme di simboli (1) è riportato ne l la seguente


tabella:
A G H s 'i 4 + =
B H N T z 5 I >

e I o u o 6 * ( <
D J p V 1 7 I )
E K Q w 2 8 $ (spazio)
F L R X 3 ·9 i • ( apice)
Fig • . 2.~ ·

Il linguaggio è strutturato···' in modo tale che il


programmatore nello scrive"re .il pr·ogramma ut i lizza parole
caratteristiche del linguaggio, parole create da lui
stesso e segni speciali. ·

Tutti i . caratteri . che f6rmano le parole e i s egni speciali


utilizzati in . un programma devono far parte del set
grafico d~ cui alla tabella in Fig . 2.1 ·

Di seguito vengono esaminati alcuni elementi, t ra i


princip~li, costituenti il linguaggio COBOL:

- segni speciali

- parole riservate
- nomi

- costanti

Sono esposte altresì le regole da segui re nel loro


utilizzo e nella loro definizione.

( l) - Il carattere spazio, equivalente a nessun simbolo


grafico, è spesso indicato col simboloj( (blank)
- il carattere numerico O (zero) v iene indicato
spesso con il segno ~.

2.1

Propneta llals1el S P A Le copie ong1nal1 sono contraddistinte dal retino stampato 1n rosso Ne e vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Alcuni caratteri speciali assumono un particolare
significato per il compilatore. In base ad esse tali
caratteri possono essere distinti in tre diversi gruppi.

SEGNI DI PUNTEGGIATURA
I seguenti caratteri speciali sono usati per la
punteggiatura:
spazio separa due parole
• punto determina la fine di un periodo
' apice delimita le costanti non numeriche
(parentesi
aperta delimitano gli indici e definiscono la
}parentesi sequenza di esecuzione delle
chiusa operazioni logiche ed aritmetiche

SEGNI ARITMETICI
I seguenti caratteri speciali sono utilizzati nella
I
1.
PROCEDURE DIVISION per indicare le operazioni aritmetiche:
+ addizione
sottrazione
* moltiplicazione
/ divisione
** elevamento a potenza

SEGNI DI RELAZIONE
I seguenti caratteri speciali vengono utilizzati per
esprimere condizioni di relazione:
= uguale
> maggiore
< minore

2.2

La cultura è un bene dell'umanità (fantomasping@libero.it)


...."'LSI EL
lGRUPPO I~
IRI FINSIEL
I
FORMAZIONE
Strutture
per l'evoluzione

1. Quali dei seguenti caratteri non fanno parte del set


grafico del compilatore COBOL?

+ : * %R $ · + O )

I caratteri : % +

2. In quali gruppi si suddividono i caratteri speciali del


linguaggio COBOL?

..
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A AA

Segni di punteggiatura, segni aritmetici e segni di


relazione

I segni aritmetici permettono di richiedere l ' esecuzione


di operazioni aritmetiche scrivendo espressioni. In COBOL
come si vedrà più avanti, le operazioni d i somma,
sottrazione, moltiplicazione e divisione possono essere
richieste anche utilizzando le relative istruzioni.

Qui di seguito è esemplificato l'utilizzo di segni


aritmetici

.u..;;
.. . .. .. ..
Sf OUf llil C(

l"A C(I tSUUAl


1 l •

~ ') ' o
o
' •
11 .. 20 ,. ,. l2 li •o ., 10
"
'
t) • I 0
C._OHP VTE: W-T P~-f = WP E:~A + V/.F E:R.i •
t) 6I0 ;
' .
o • o
' o ,,
C011f UTE ~-T 01:i = W- ~TA • w- Pf.UH.

' ' o
.LDHP k>Tc: -p- FAGA ... w- oir - w- MIH.

..
' • o
' • o c.OHP uTt: W-P ~uri = ~- cosTP I ltl'-Q "j .A.
' • o
~ n 1e COHi;) VTt w-T oT3 = w- 5AS! w-ES Poti.

I segni di relazione vengono utilizzati quando si vuole


verificare la relazione esistente tra due operandi ed
intraprendere quindi un'azione specifica se la relazione è
(o non è) verificata. In COBOL possono essere utilizzati i
segni di relazione o le corrispondenti parole
caratteristiche del linguaggio:
> ovvero, meglio GREATHER THAN
< ovvero , meglio LESS THAN
= ovvero, meglio EQUAL TO

2.3

Proprietà ltals1el S.p.A .. Le copie originali sono contradd1st1nte dal retino stampato 1n rosso Ne e vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Qui di seguito è esemplificato l'uso dei segni di relazione
in proposizioni di condizione
··--·
''
~ . ,, "
IF f#- s R LDO =-: ~- 5AL]) o-Pfl !C.
' 6 o HOVE W - SAL-DIO TP \I( -R. \6 A-51+ LDO,
:t • I n IF \1' -ET,-i 6fU ~!~R -I 8
' • o Hovt: -I To Ìx/- Etr A- ·.s w.
• ' o
I

' • o HL-~ppJ-j UfT -· H1~ oliE. I


I

' • n

"I lii f'


t'F W-5A 11..-DO L.'cslS i ~ "-Le·EOITD
• o ' Ho VE w- SALblO TO ~ -FIH rr.

... .. . ..

3. Se A = 27 e B = 16, le relazioni seguenti sono vere o


false?

A. A > B

B. B < A
C. A EQUAL TO B

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A. Vero

B. Vero

C. Falso

2.4

La cultura è un bene dell'umanità (fantomasping@libero.it)


"'PALSI EL
lGRUPPO
I~
I FORMAZIONE
Strutture
IRI FINSIEL per l'evoluzione

PAROLE RISERVATE

Le parole caratteristiche del linguaggio COBOL che


figurano in un programma si definiscono parole riservate o
parole COBOL. Queste parole hanno una funzione sintattica
precisa e pertanto:
devono essere utilizzate nella scrittura di un
programma solo per il significato proprio e
rispettandone l'ortografia (1)

non possono essere sostituite con sinonimi

In Fig. 2 . 2 sono elencate tutte le parole riservate ANSI


COBOL.

A seconda del significato che hanno per il compilatore, le


parole COBOL possono dividersi in due gruppi:

Parole chiave

Sono parole che, se sono p~evist~ : in una proposizione


COBOL, devono essere obbligaioriam~nte scritte.

Parole opzionali

Sono parote ehe possono essere omesse nella scrittura di


un pro'gramm~ e che vengono utilizzate per rendere il
programma· più · "leggibile".

(1 ) Alcune parole ammettono l'abbreviazione che però è


predefinita e costituisce anch'essa una parola COBOL
(esempio: PICTURE e PIC, vedi Fig. 2.2)

2.5

Proprietà ltalsrel S p A Le copre orrgrnali sono contraddrstrnte dal retino stampato 1n rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
ACCEPT CH CURRENT-DATE
ACCESS
CHANGED COl
ACTUAL
ADD CHARACTER C02
ADVANCING CHARACTERS C03
CLOCK-UNITS
AFTER
CLOSE C04
ALL COBOL C05
CODE
ALPHABETIC COLUMN C06
ALPHANUMERIC COMMA C07
ALPHANUMERIC-EDITED COMMUNICATION coa
ALTER COMP C09
ALTERNATE COMP-1 Cl O
ANO COMP-2 Cll
APPLY COMP-3 C12
ARE COMP-4 DATA
AREA COMPUTIONAL DATE
AREAS COMPUTIONAL-1 DATE-COMPILl!!D
ASCENDING COMPUTIONAL-2 DATE....:WRITTEN
ASSIGN COMPUTIONAL-3 DAY
AT COMPUTIONAL-4 DAY-OF-WEEK
AUTHOR COMPUTE DE
BASIS CONFIGURATI ON DEBUG
BEFORE CONSOLE DEBUG-CONTENTS
BEGINNING CONTAINS DEBUG-ITEM
BLANK CONTROL DEBUG-LINE
BLOCK CONTROLS DEBUG-NAME
BOTTOM COPY DEBUG-SUB-1
BY CORE-INDEX DEBUG-SUB-2
CALL CORR DEBUG-SUB-3
CANCEL CORRESPONDING DEBUGGING
CBL COUNT DECIMAL-POINT
CD CSP DECLARATIVES
CF CURRENCY DELETE
Fig. 2.2

2.6

La cultura è un bene dell'umanità (fantomasping@libero.it)


-d:) ITALSI EL I
GRUPPO IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

DELIMITED ES! IDENTIFICATION


DELIMITER EVERY IF
DEPENDING EXAMINE IN
DEPTH EXCEEDS INDEX
DESCENDING EXCEPTION INDEX-a
DESTINATI ON EXHIBIT INDEXED
DETAIL EXIT INDICATE
DISABLE EXTEND INITIAL
DISP FD INITIALIZE
DISPLAY FILE INITIATE
DISPLAY-ST FILE-CONTROL INPUT
DISPLAY-n FILE-LIMIT INPUT-OUTPUT
DIVIDE FILE-LIMITS INSERT
DIVISION FILLER INSPECT
DOWN FINAL INSTALLATI ON
DUPLICATES FIRST INTO
DYNAMIC FOOTING INVALI O
EGI FOR IS
..
EJECT FROM JUST
ELSE GENERATE JUSTIFIED
EMI GIVING KEY
ENABLE GO LABEL
END GOBACK LABEL-RETURN
END-OF-J?AGE GREATER LAST
ENDING GROUP LEADING
ENTER HEADING LEAVE
ENTRY HIGH-VALUE LEFT
ENVIRONMENT HIGH-VALUES LENGHT
EOP BOLO LESS
EQUAL I-O LIBRARY
EQUALS I-0-CONTROL LIMIT
ERROR ID LIMITS

Fig. 2.2

2.7

Propneta 1tals1el S.p A. Le copie ongmal1 sono contradd1st1nte dal retino stampato in rosso . Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
LINAGE OFF QUEUE
LINAGE-COUNTER OMITTED QUOTE
LINE ON QUOTES
LINE-COUNTER OPEN RANDOM
LINES OPTIONAL RD
LINKAGE OR READ
LOCK ORGANIZATION READY
LOW-VALUE OTHERWISE RECEIVE
LOW-VALUES OUTPUT RECORD
MEMORY OVERFLOW RECORD-OVERFLOW
MERGE PAGE RECORDING
MESSAGE PAGE-COUNTER RECORDS
MODE PASSWORD REDEFINES
MODULES PERFORM REEL
MORE-LABELS PF REFERENCES
MOVE PH RELATIVE
MULTIPLE PIC RELEASE
MULTIPLY PICTURE RELOAD
NAMED PLUS REMAINDER
NEGATIVE POINTER REMARKS
NEXT POSITION REMOVAL
NO POSITIONING RENAMES
NOMINAL POSITIVE REORG-CRITERIA
NOT PRINT-SWITCH REPLACING
NOTE PRINTING REPORT
NUMBER PROCEDURE REPORTING
NUMERIC PROCEDURES REPORTS
NUMERIC-EDITED PROCEED REREAD
OBJECT-COMPUTER PROCESS RERUN
OBJECT-PROGRAM PROCESSING RE SERVE
OCCURS PROGRAM RESET
OF PROGRAM-ID RETURN

Fig. 2.2

2.8

La cultura è un bene dell'umanità (fantomasping@libero.it)


..."'LSI EL
l;AUPPO
I"""
IRI FINSIEL
IFORMAZIONE
Strulture
per l'evoluzoone

RETURN-CODE SORT-FILE-SIZE TALLY


REVERSED SORT-MERGE TALLYING
REWIND SORT-MESSAGE TAPE
REWRITE SORT-MODE-SIZE TERMINAL
RE SORT-RETURN TERMINATE
RH SOURCE TEXT
RIGHT SOURCE-COMPUTER THAN
ROUNDED SPACE THEN
RUN SPACES THROUGH
SA SPECIAL-NAMES THRU
SAME STANDARD TIME
SD START TIME-OF-DAY
SEARCH STATUS TIMES
SECTION STOP TO
SECURITY STRING TOP
SEEK SUB-QUEUE-1 TOTALED
SEGMENT SUB-QUEUE-2 TOTALING
SEGMENT-LIMIT SUB-QUEUE-3 TRACE
SELECT SUBTRACT TRACK
SENO SUM TRACK-AREA
SENTENCE SUPERVISOR TRACK-LIMIT
SEPARATE SUPPRESS TRACKS
SEQUENTIAL SUSPEND TRAILING
SERVI CE SYMBOLIC TRANSFORM
SET SYNC TYPE
SIGN SYNCHRONIZED UNEQUAL
SIZE SYSIN UNIT
SKIPl SYSOUT UNSTRING
SKIP2 SYSPUNCH UNTIL
SKIP3 SOl UP
SORT S02 UPON
SORT-CORE-SIZE TABLE USAGE

Fig. 2.2

2.9

Proprietà 11als1el S p.A Le copie originali sono contraddistinte dal retino stampato in rosso Ne e vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
USE
USING
VALUE
VALUES
VARYING
WHEN
WHEN-COMPILED
WITH
WORDS
WORKING-STORAGE
WRITE
WRITE-ONLY
ZERO
ZEROES
ZEROS

Fig. 2.2

2.10

La cultura è un bene dell'umanità (fantomasping@libero.it)


I
& l ... ALSIEL
I """"
GRUPPO IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluZtone

Nei formati delle clausole e delle istruzioni del


linguaggio che saranno in seguito illustrati verranno
sottolineate le parole chiave (obbligatorie) e non
sottolineate quelle opzionali.

Nell'esempio sotto riportato sono evidenziate con


_ le parole chiave e con ~ le parole opzionali •
_I

--· - - - -~-·
'
I -
1
- _MMICM.O -
coo .. " ..........l
- l-=- -- ·. --
I
.........,. ..
-·liM-• .. .. .. .. .. .. .. .. .. ..I ..
UOUllKl a

~~;.
1 I 4

•1•
a 8.
1 I
:.... - ! I I

-
4- •;r;t;
I
•. 1. II I
----'-- .....
·- 1 - 1--o il~
.-r·.-; :- .
· 1· . - -· -
e lo

I I ' " 10
l-t1'T- •

..
I
I :1 " .. !•
: • ;"
1 11
- •• o

I •••
I I •!• t•

~oviE ~ - '~~-~!ll ' LkJIE Tlll l!.-IF!fl r. · · ·~·11.


IF 1
' • Il-""'" iCT ir•• 'fo~ !:.~ ,.,..,..,~ ~ IEH:l . . . ._I
I I : l1ìt[) I a.e U.· om. I I ' i : I

4. Le parole riservate sono:


A. Definite e utilizzate dal programmatore
B. Utilizzate dal programmatore

B.

5 • .Le parole riservate possono essere sostituite con


sinonimi definiti dall'utente?
A. Si
B. No

B.

2.11

Propneta ltals1e1 S p A Le copie ong1nal1 sono contradd1st1nte dal retino stampato in rosso. Ne è vietata la r produzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
6. Se l'utente utilizza una parola non rispettandone
l'esatta grafia, il compilatore riconosce l'errore e
A. lo ignora
B. lo segnala. Il programma deve essere corretto

AAAAAAAAAAA A AAAAAAAAAAAAAAAAAAAAA

B.

Nella scrittura di un programma il programmatore


impiega, oltre alle parole riservate, anche parole
create da lui stesso (nomi) per individuare univocamente
elementi che devono essere richiamati nel programma:
aree di memoria (campi), archivi ecc. Un programma
contiene :
- Nomi di campo
Sono assegnati ai campi della DATA DIVISION del
programma e richiamati nella PROCEDURE
DIVISION. Per campo si intende un'area di
memoria destinata ad assumere uno o più valori
d urante l'esecuzione del programma
- Nomi di procedura
Sono assegnati ai paragrafi ed alle sezioni
della PROCEDURE DIVISION

- Nomi di archivio, nomi di record, ecc.


Sono assegnati agli archivi che devono essere
elaborati dal programma, ai record, ecc.

Nell'esempio in cui precedentemente sono state evidenziate


le parole riservate sono ora evidenziati i nomi, cioè le
parole create dall'utente.

2.12

La cultura è un bene dell'umanità (fantomasping@libero.it)


"'Pft.LSI
lGRUPPO
I li-Il EL I FORMAZIONE
Strutture
IRI FINSI EL per l'evoluzione

rt>1> z. ' ' o lh~tlT1~1 C.AT1 o.11. J I '{I S • .oN'_,

I
' • o
• • n
..
PR.o6~Atf- I }> •

.
I
'
... :' . .
1ATA _.h I :J1110 r(.
•• o

' .. 'f:l ~ LE. .sE.e. TI Ot'I •


• • o
f~ IAr-'At. L 1I
'
' • o

' ..
:" o o lr/!
LABt:L RE
BL o <-1'
IA rJ4 c. Liii
e o ftl. AR t. 11"Arl! ArU
c. o t(f A I :t(.$, ~- · ~ EC.o/ì 1.S. •.
:
:" ' o '. .. ' :
WOR..'(.1 f'/G- - S~o· tì ACTG'.
.. i~CT I .0 f'/ •
:' . "I
I
'
' ,.
' n n
('
·tù w-t:ifl AC.'- I
''
.
• , o
~. Ro c.E..b.".RE _b I o/ I S I ON,
I
l

'
' • o
..
• o I
I
oP'é.PI I 1"V
Rt ~b IA ~ AC. I. I
P11T
IN 1'o
IAtlA C.L. I I.
f./- A~ A c. I. I AT lN'h
• • n HovE Hl <r M-'I AL. ve TO lff ,_ AtlA (.. L. il.
41..f I f W- Atl A c.(.. I -co~ ~Rii G-R~ 'l-T E ~ 1"1-1 Af'/ E.Ro e
1r/ H~t

:
A!>b i 'T.0 ~-To "11 •.

- - -- - -- -

Dei nomi dell'esempio:


ANACLI è nome d'archivio
ANACLil è nome di record
gli altri sono nomi di campo

Nella definizione di un nome il programmatore deve


rispettare le seguenti regole:
- la lunghezza di un nome non può superare 30
caratteri
- un nome può essere formato solo da caratteri
alfabetici, numerici e dal carattere speciale -
(trattino), che però non può stare ad inizio o
fine di nome
- un nome di procedura può essere formato da aoli
caratteri numerici; tutti gli altri nomi devono
avere almeno un carattere alfabetico

2.13

Propnela 1tals1el S p A Le copie originali sono conlradd1s1inte dal retino stampato rn rosso . Ne é vietata la r1produz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
7. Nel seguente periodo quali sono i nomi di campo e
quali sono le parole riservate?
zo
. .. .. . .. .. ..
&lQU(NC (

IPAO U ISUllA L U A
•' • •• ,. >• ••
1 J •
o , o " JO J4 J2 5J
"
I
!
o • IO
IF tr-c:.o [)-CLI Gfir",.,T ER. i.t--p,. Ec:. ..
n • O At>t> ~- . 1 H·Po R. rro To lt--51" L.PO.
I

-- - o • o
--

---------------------------------
Nomi di campo: W-COD-CLI W-PREC W-IMPORTO W-SALDO
Parole riservate: IF ADD TO 6R.€t'fé'Q

8. Quale carattere speciale può essere contenuto in un nome


di campo?

A. Trattino

B. Punto

C. Spazio

---------------------------------
A.

9. Quali dei seguenti sono nomi di campo corretti?

A. 1200

B. SO-FATTURE

C. INIZIO-

D. INIZIO - 12

B.

10. E quali degli stessi nomi sono anche nomi di procedura


corretti?

A. e B.

2.14

La cultura è un bene dell'umanità (fantomasping@libero.it)


l"P'ALSIEL I
& I """
GRUPPO IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

11. Il seguente periodo è corretto?

A. Si I

B. No

B. La parola DATA infatti è una parola riservata e pertanto


non può essere utilizzata come nome di campo

12. Il nome di campo CONTROL-DATA è corretto?


A. Si ··
B. No
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA~A
..
A. Infatti il nome CONTROL-DATA non è . una parola riservata
pur essendo composto da due parole riservate unite da un
trattino. Anche il nome CONTROLDATA sarebbe un nome
corretto

13. Il nome di campo 2-CTR-DATA è errato?


A. Si, .perché inizia con un carattere numerico
B. Si, perché contiene una parola riservata

c. Si, perché contiene due trattini


o. No

o.

2.15
Proprieta ltalsiel spA Le copie ong1nal1 sono contraddistinte dal retino stampato 1n rosso . Ne è vietata la r produzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
14. I seguenti nomi sono accettabili come nomi di campo o
nomi di procedura?
A. C.T.R.
B. 25/MARZO

C. OVERFLOW
D. 572
E. RIGA-TOT2-FASCICOLI-STRAORDINARI
F. SGENNAIO
G. RIGA TOT2

A. No: contiene il carattere speciale


B. No: contiene il carattere speciale /
C. No: è una parola riservata
D. Si, solo come nome di procedura
E. No: è composto da un numero di caratteri superiore
a 30
F. Si
G. No: il carattere spazio non è ammesso all'interno
di un nome (infatti è un separatore di parole).
RIGA TOT2 sono non uno, ma due nomi accettabili

Per facilitare la lettura del programma è consigliabile


usare dei nomi che siano il più possibile significativi,
evitando sigle, abbreviazioni, codici numerici ecc.

Dovendo ad esempio denominare il campo contenente il


codice cliente è più conveniente chiamare il campo
W-COD-CLIENTE o W-COD-CLI piuttosto ch,e CC, ·e-e o
addirittura XX.

2.16

La cultura è un bene dell'umanità (fantomasping@libero.it)


...ALSIEL I
& lGRUPPO
I~
IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

COSTANTI
Un programma che elabora dati provenienti da o destinati
a risiedere su supporti esterni deve prevedere la
descrizione dei campi in cui saranno letti o da cui
saranno scritti tali dati. Il contenuto di questi campi
quindi varia durante l'elaborazione.
In un programma, tuttavia, vi sono anche dati che non
cambiano durante l'elaborazione (ad esempio
l'intestazione delle pagine di un tabulato, il valore di
una percentuale, ecc.).
Tali dati si definiscono costanti o "literals" e si
dividono in:
- costanti numeriche 1
- costanti non numeriche
- costanti figurative

Costanti numeriche
Le costanti numeriche sono formate da una successione di
caratteri scelti fra le 10 cifre decimali, il segno + o
il segno - e il punto decimale.
Le costanti numeriche sono soggette alle seguenti regole
formali:
- possono essere al massimo di 18 cifre
- possono avere un solo segno ; se è presente,
questo deve essere il primo carattere di
sinistra della costante
- se la costante non ha segno il valore è
assunto positivo
- il punto decimale può essere in qualunque
posizione fuorché nell'ultima posizione di
destra
- se manca il punto decimale il valore è intero.

2.17

Propneta ltals1el S p A . Le copie originali sono contradd1st1nte dal retino stampato in rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Qui di seguito sono elencate alcune costanti numeriche
l

· 525

-300000

-4·25

- · 50

15. Come si esprime il valore "un mezzo"?


A. •5

B. .+5

c. 1/2
D. +.5

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A. e D. (B è errato poiché il segno aritmetico non è il


primo carattere; c è errato perché il segno / non è
ammesso in una costante numerica)

Costanti non numeriche

Le costanti non numeriche sono formate da un insieme


qualsiasi di caratteri compresi tra quelli del set di
caratteri della macchina ad eccezione del carattere
speciale ' (apice). L'insieme di caratteri deve essere
racchiuso fra apici.
Le costanti non numeriche sono soggette alle seguenti
regole formali:

- possono essere lunghe al massimo 120 caratteri


(esclusi gli apici che devono sempre
delimitarle)

- tutti gli spazi compresi fra gli apici fanno


parte della costante.

Se una costante numerica viene racchiusa tra apici


diventa una costante non numerica. Il compilatore accetta
un qualunque insieme di caratteri (escluso l'apice);
pertanto possono essere definite come costanti non
numeriche anche le parole riservate.

2.18

La cultura è un bene dell'umanità (fantomasping@libero.it)


'"l"'ALSIEL I
& lGRUPPO
I~
IAI FINSI EL
FORMAZIONE
Strutture
per l'evoluzione

Di seguito sono elencate alcune costanti non numeriche


'ESTRATTO CONTO'
'TOTALE RECORDS LETTI'
'3000$'
'DATA'
'-1.25'

16. Seguono alcuni esempi di costanti numeriche e non


numeriche. Quali di queste sono errate e perché?
A. 123.456787
B. 1.
c. '-8.9'
D. 78,50
.. ..
E. +40.5
F. 'PAGINA N. '
G. 'IL 70%'
H. 'LA DATA E' IL 25.6.1975'
I• .. .

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

B. La costante termina col punto


D. Non è ammessa la virgola per la separazione dei decimali
H. L'apice non può figurare all'interno di una costante

2.19

Propneta ltals1el S p.A .. Le copie ong1nali sono contraddistinte dal retino stampato in rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Le costanti numeriche e non numeriche possono essere
definite nella DATA DIVISION del programma e richiamate
nella PROCEDURE DIVISION come nell'esempio seguente
• o
-- -· -·---- - --
' '
I
.i ' :
' I O
'i1: w-r;1 lio:t..'o p l _C. ><r.e4 '> VIA l U'E.
' o o 1 _ro:-r ~lt _ ~~E", ST_R,-. 0.Rl> I
'
HA'RI E.' . Pie lv:l
ti 9:9v~ 9 Vl!I --i~ .?{i.
• ,I ~
' '1 •o W-PE. '' i
, • o

' • o
.
I

:
I I I
i I

' • o PR.O~E D_V~ E. o 1·v·1 ~ 1


1 0 ·,.,·. '
'
' o o
1 , o 11 vL7 I f L 'j u:.- otE- 51~ PieP 6Y ~-r IE ~c. 6' I \I I liv \Xl-T OT-o ~[.
.I • Il

.
I

'I

, • o
.. o HOVé \ti'- T•TO LO ro: w-_1t1 ~f\
I
• o o
''

Le costanti, tuttavia, proprio per le loro caratteristiche


di valori predeterminanti e fissi, possono essere usate in
maniera immediata nella PROCEDURE DIVISION senza doverle
richiamare attraverso un nome.
I periodi seguenti sono equivalenti a quelli dell'ultimo
esempio

u. .. .. . ..
sro ucNcE
"AGU IS fllUAL
I 3 •

•I ']
I

0
io
1 I •
"I .. 10 ,. 11 3' li ., IO .. .. "
I
(> " (' I

" • o pR,ocEDu~ f" C: I VI~ I Of{.


Il

,
f\

11
(I

n
I
!.
.HOvf.
I

1 '1 C•
'r oTAL E OR E 67 flAOR ID I "lii RIE. t TO ~- ti1G11.
• • o :
I" (I HUL1 I PLY \rl· o~t- SIR.A ;oR.D BY ~,d. 15' K;I VI HG W-TC T:oR [.
' • o
-~ -

17. Nell'esempio sotto riportato quale è la costante, e di


che tipo di costante si tratta?

A. W-LORDO

B. 0.60.

e. o. 60
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

C. E' una costante numerica. Il secondo punto non fa parte


della costante: indica la fine del periodo

2.20

La cultura è un bene dell'umanità (fantomasping@libero.it)


...ALSI EL I
& lGRUPPO
I~
IRI FINSIEL
FORMAZIONE
Strutture
per !"evoluzione

18. La costante dell'esempio che segue di quanti caratteri


è composta?

[ 1:::1 I
A. 18
B. 14

c. 12
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A.

19. Le costanti elencate di seguito sono scritte in modo


formalmente corretto e rappresentano lo stesso valore.
Vero o falso?
A. 356. 00

B. +356

c. 356.

o. 356.000000

Falso. (La forma C è sbagliata perché ha il punto in ultima


posizione. Le altre rappresentano lo stesso valore)

20. Le seguenti affermazioni sono vere o false?


A. Una costante non numerica deve essere sempre
racchiusa tra apici
B. Una costante numerica non è mai racchiusa tra
parentesi
c. Una costante non numerica deve contenere almeno un
carattere non numerico

2.21
Propneta 1tals1el S.p.A . Le copie ong1nah sono contraddistinte dal retino stampato in rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
A. Vero
B. Vero
c. Falso

21. La seguente proposizione è scritta correttamente?

....... •........• ;3• ••


'
Hout•ct

•I• J•
..• .. ..l .. :
.
-.i
:HJvj~
I

I I
I1.:I : ; I !
I
l ·!T
0 II 0
\P
. :
~
1
L1
I
I

! ···
'
r-
O1 I •O
I I :

Si'. Il punto dopo il 2 non è il punto decimale ma


indica la fine del periodo

Costanti figurative

Alcune costanti di uso corrente possono essere richiamate


tramite parole riservate. Queste costanti si chiamano
costanti figurative.
Il nome e il significato di tali costanti sono
ZERO Rappresenta il valore numerico +, ovvero
ZEROES uno o più caratteri + secondo il contesto
ZEROS
SPACE Rappresenta uno o più caratteri speciali
SPACES spazio
HIGH-VALUE Rappresenta uno o più caratteri
corrispondenti alla configurazione interna
HIGH-VALUES di bit tutti uguali a uno
LOW-VALUE Rappresenta uno o più caratteri
corrispondenti alla configurazione interna
LOW-VALUES di bit tu~ti uguali a •
QUOTE Rappresenta uno o più apici. Non può
sostituire gli apici per delimitare una
QUOTES costante non numerica
Rappresenta una o più ripetizioni della
ALL costante costante. Tale costante può essere non
numerica, numerica o figurativa

2.22

La cultura è un bene dell'umanità (fantomasping@libero.it)


"T'"ALSIEL
lGRUPPOI~
IRI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzione

Si esaminino i seguenti esempi

zo
u. .. .. .. ..
SlOUt: N C(

lr.t.Gll ISUUAL
1 > •
n 1 O
• 1 I
I
12 .. 20
"
,. ,,
"
40 ., 00 •• "
A. o • o HOV'E lE ~o rio rr
..P-TO .A Lt
,, e n

B. o • o DI
0

s'pLAY :
1
c I nTA 1
QrJO rJ"L

c..
' o o

1,' n MOV.!
'

ALl ..•' To I.I/- ~IGA .


• o
- ..

Con il periodo A. il campo W-TOTALE viene riempito di zeri


Con il periodo B. viene stampata la dicitura CITTA'
Con il periodo C. il campo W-RIGA viene riempito di
asterischi

Si noti che:
- la forma singolare e la forma plurale delle costanti
figurative sono equivalenti
- la costante figurativa, quando è associata ad un campo,
assume una lunghezza uguale alla lunghezza del campo
stesso
- se non è associata ad un campo, la costante f iguratlva è
lunga un carattere (la ALL costante assume invece la
lunghezza della costante specificata)
- quando la ALL è utilizzata con una costante figurativa,
la parola ALL è ridondante

2.23

Propneta ltals1el S p A . Le copie ong1nah sono contradd istinte dal retino stampato in rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
22. Sono vere o false le seguenti affermazioni?
A. La costante numerica 999 è maggiore di HIGH-VALUE
B. La costante numerica ' è uguale alla costante
figurativa ZERO
C. La costante non numerica ' ' (il carattere spazio fra
apici) è uguale alla costante figurativa SPACES
D. La costante numerica ' è maggiore di LOW-VALUE

A. Falsa
B. Vera
c. Vera
D. Vera

2.24

La cultura è un bene dell'umanità (fantomasping@libero.it)


.....D ITALSIEL I~~~t~u~~IONE
~ GRUPPO IRI FINSIEL per l'evoluzione

Capitolo 3

. · ..

3.0

Proprieta ltals1el S p.A Le copie originali sono contradd1st1nte dal retino stampato n rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
La cultura è un bene dell'umanità (fantomasping@libero.it)
"'P'ALSIEL I
& lGRUPPO
I -""'
IRI FINSIEL
FORMAZIONE
Strutture
per revoluZ1one

STRUTTURA DEL PROGRAMMA COBOL

UN PROGRAMMA COBOL E' COSTITUITO DA QUATTRO DIVISIONI


CON DENOMINAZIONE FISSA E SEQUENZA RIGIDA:

· IDENTIFICATION DIVISION
• ENVIRONMENT DIVISION
· DATA DIVISION
PROCEDURE DIVISI.ON ,• ..

3.1

Propneta 1tals1el S p.A Le copie originali sono contraddistinte dal retino stampato 1n rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
IDENTIFICATION DIVISION

L'identification division ha come funzione principale quella


di assegnare al programma un nome che lo distingua da un
altro .

E' la prima divisione del programma e puo' contenere, oltre


al nome del programma, anche altre informazioni, · come il
nome del programmatore, la data di scrittura, la data di
compilazione, ecc. ecc.

DATI ANAGRAFICI

ENVIRONMEN'l' DIVISION

L'environment division e' la divisione in cui si specifica


l'ambiente dove il programma opera: ad esempio il tipo di
calcolatore che sara' utilizzato per la compilazione del
programma e quello usato per eseguire il programma.
L'environment division contiene informazioni che permettono
di stabilire la relazione fra i dati come vengono visti dal
programma (software) e la loro effettiva dislocazione fisica
(hardware).

CARATTERISTICHE
DISPOSITIVI FISICI

3.2

La cultura è un bene dell'umanità (fantomasping@libero.it)


"'l""ALSI
lGRUPPO
'"""'
EL I FORMAZIONE
Strutture
IRI FINSIEL per l'evoluzione

DATA DIVISION

E' la terza divisione del programma e serve per descrivere i


dati che il programma deve accettare in input, elaborare,
creare e produrre in output

Vi sono infatti descritte:


le caratteristiche dei files utilizzati nel programma, sia
in input che in output
- la struttura dei records costituenti i files
- le aree di memoria che servono per sviluppare operazioni
intermedie (aree di comodo)

CARATTERISTICHE
FI.LES

STRUTTUAA
DAT.I INPUT

STRUTTURA
DATI OUTPUT

AREE DI LAVORO

3.3

Proprietà ltals1el S p.A. Le copie ong1nal1 sono contraddistinte dal retino stampato in rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
DATI ANAGRAFICI

CARATTERISTICHE
DISPOSITIVI FISICI

CARATTERISTICHE
FILES

STRUTTURA
DATI INPUT

STRUTTURA
DATI OUTPUT

AREE DI LAVORO

3.4

La cultura è un bene dell'umanità (fantomasping@libero.it)


...ft.LSI EL I
& lGRUPPO
I~
IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

PROCEDURE DIVISION

E' l'ultima delle quattro divisioni di un programma

La procedure division contiene la lista delle istruzioni per


realizzare l'elaborazione dei dati richiesta

LISTA DELLE

ISTRUZIONI

3.5

Proprieta ltals1el S p .A .. Le copie ong1nall sono contraddistinte dal retino stampato 1n rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
DATI ANAGRAFICI

CARATTERISTICHE
DISPOSITIVI FISICI

CARATTERISTICHE
FIL ES

STRUTTURA
DATI INPUT

STRUTTURA
DATI OUTPUT

AREE DI LAVORO

LISTA DELLE
ISTRUZIONI

3.6

La cultura è un bene dell'umanità (fantomasping@libero.it)


"'T"ALSIEL I
& lGRUPPO
I~
IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

INTERRELAZIONE FRA LE DIVISION

Il programma deve elaborare i dati.

I dati si trovano su dispositivi fisici.

Tramite le opportune schede il programma esegue l'aggancio


fra l'Environment Division ed i dispositivi periferici.

Acquisisce le aree di memoria necessarie per ricevere e


manipolare i dati.

La struttura di queste aree è descritta nella Data Division.


I dati vengono poi manipolati attraverso le istruzioni
descritte nella Procedure Division facendo riferimento alle
aree descritte nella Data Division.

3.7

Propneta ltals1el S p A Le copie originali sono contraddistinte dal retino stampato in rosso Ne e vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Continuazione di proposizione

Un periodo può essere interrotto e proseguito nella riga


successiva a partire da qualsiasi posizione del margine B.
L'interruzione può avvenire dopo una qualunque parola,
costante, ·segno aritmetico, ecc.
L'ultimo elemento della riga può terminare anche in colonna
72 (in questo caso il compilatore assume automaticamente
uno spazio dopo l'ultima parola della riga interrotta).

Continuazione di costanti non numeriche

A volte la lunghezza di una costante non numerica è tale che


risulta necessario scriverla su più righe successive.
Per continuare una costante non numerica occorre scrivere il
carattere - nella settima posizione della riga successiva, e
riprendere la scrittura della costante in margine B
facendola precedere immediatamente dal segno ' (apice).

Si noti che:
· alla fine della prima riga non deve essere scritto
l'apice
la fine della costante deve sempre essere indicata
con l'apice.
In una costante non numerica tutti gli eventuali spazi sulla
riga interrotta (come gli eventuali spazi che seguono
l'apice sulla riga di continuazione e precedono l'apice
finale) fanno parte della costante.

3.8

La cultura è un bene dell'umanità (fantomasping@libero.it)


l .....ALSI EL
I~
GRUPPO IRI FINSI EL
I FORMAZIONE
Strutture
per l'evoluzione

Nell'esempio che segue la costante contiene due caratteri


spazio tra la parola MESE e la parola DI

1. Quale delle due costanti non numeriche è scritta in modo


corretto?

-J-.. • • I O O

I
' : i
I
HO~l ffi
I

F; llLll lllL.E! 01 rio :~A'


I

,_ A~ EN ~. ~ .:i -~ 11 lr n,
I
IE ,_.TI
I I

' : • I

"'" L ~ ICll-
I

••

.
O
,_
I !
I ;
I;
~-
I I 1;5iÀl
: I !
DO
! ' ! I
O: I; . i' ll Ft~ ~~
I I
..,
I
~
I

TT01 -1 E5> RrT IJ. •


i
I
I t t I I ; I

IE. I O t Ho Il.''" Il
F I LI kL"' tI ilO h A r I 13 .. ~ L.I ~'~O iCil. I i:H.f I l::10J
-
I I O
! : ' : Ii
•• ....
•• i

~ I
11
I
~F llD ti
!
·-. , I...
V'I
-
1n r
.....-,......"""""
~ I
I
ro: w- ~ 15 I lf I ~ • ' I I •
'I '
I I O I
' I I I I I I
I
I
- ~ ••• I :l_L
. - -··- J .i. I 'I .
i I . I ' '
J. L ....' .I I I I _lj_

B. Il periodo A avrebbe dato luogo alla parola CONSALDO

2. Si.. supponga di dover stampare il seguente titolo: ELENCO


DEI MOVIMENTI ERRATI DELLE ULTIME QUATTRO SETTIMANE.
Quale dei
- . seguenti periodi è corretto?

~~ '
- . :.•U
" " ;
.. .. Il u . .. .. .. .. .. ..
·-
H :Il
' i ••• I
I
;

I
I i I Jll . i I
' i LJEW l:'.'.IO E I l~Ò WTHi rt n · ~FU: ri°L IT11H~ Ql/11 nr.eio ~_µ !
! I l ' I : I i
~ ~-•••
•• .... I Mio~"'
: :• I ~ lf: I l I ~ti '' 1 no ' w-rn1 tot.~ - - -- - -- -
--
. - ---
---·-
. - -, -~ ·

~- - -
, I
I I ;
...,......
••• ' I ! i I I I I
f • • •• ~OVE UEJtflC. Id : ~ Ell Kr 1 11 I .. t.iC~i , - - n-T~'i. ~ : G
7111... -. --- ~~
U~ÀIT ~ !
. .... I I I I KAHr !• . mo
: 1 nn1
: ~: IT-;'T ,......,._
. -:-
I I l'°

. ~:7-1!. [T10l!C ..,_



HCWll
iI
I
!
. I ~ ~ - - · --· - -·- .!_µ_i
i ••• I I
, ••• ' ::
!
• I ' '

i r-·. ~ -r·
' I I · i I 17
... ' I '. I
--
-..
~ --·
·-· - 11
..... ••• ' li DV- E &ti-e: o : ~.

HOV.1 reH1 I !OEL tJ: I -n~


t;An io ~- -:.~w.
.""
I I

•••
i' I ~ f 111 : 1
I

• ld
~ 1· ~
l - rT I iT OL o.
I I Il
l[1 I M
i

.
. ••••• ifD
i
EJli::::.IC
~~ ~ . ~ . • ~1- ]
I' F .. fll
i
IU'rnlL IG,•.
~G . ~ I fti :1 11 I
I!
~lf IJ
i
I

1)1(.
~Hl!.~ I
· -~
: SI ,~ .1 ~o
!
~t:r

'
• i- I
I ,I ! ....:..._ W-..J..l L....L..--· ·-
I
I i i I
I

c.

3.9

Proprietà 1tals1el S.p A . Le copie originali sono contradd1st1nte dal retino stampato 1n rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
3. Perché gli altri periodi sono errati?

A. Non deve figurare l'apice di coda sulla prima riga


B. La parola SETTIMANE viene interrotta: SE TTIMANE
D. Mancano l'apice iniziale sulla seconda riga e il
trattino a colonna 7.

Per ridurre le possibilità di errori si consiglia vi~amente


di evitare, quando è possibile, di spezzare le costanti non
numeriche.

Lo stesso periodo può essere scritto nel seguente modo

I I e !; r I I II!
-rr--
.11
--- -- -- Ii !11I
I I -m II I II I
I
: _l
l I 4 O ~
~ 10 i\I ._!. ! I I ! ' '
.,4
I I I i
I O e il ..IL,. ~CD DIE I ~
V.I HE t1:T I ~E!t k..IE' -:- ~lfril ~E ~ UA TrT tG:>! SET TI ~111 ~t 'I
IO· 11 m I I I 11 l Il Il I 11 I
I O O ~- • ; I

••• Ii I I I !Ii i ' I III I I I 11 I I !

3.10

La cultura è un bene dell'umanità (fantomasping@libero.it)


1-rALSI
'"""'
EL I FORMAZIONE
Strutture
~RUPPOIRI FINSIEL per l'evoluzione

NOMI IN WORKING- STORAGE

Si devono scegliere dei nomi di campo significativi della


funzione del campo stesso.
1 (~·, C<r \~
I

Tutti i sottocampi di uno stesso campo 4ev0no avere come


prefisso il nome del campo cui appartengono.

Questa regola e' valida a meno che cio' non infici la


leggibilita' dell'intero nome

Es:
01 W-ORDINI.
03 W- ORDINI- CHIAVE PIC X( 6).
03 W- ORDINI-PERC.

05 W-ORDINI-PERC-SPESE PIC 99.


05 W-ORDINI-PERC-COSTO PIC 99 .

.· ·. ·..

3.11

Proprietà ltals1el S p.A . Le copie ong1nal1 sono contraddistinte dal retino stampato 1n rosso Ne è vietata la r.1produz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
LIVELLI

- per codificare i livelli si devono usare i numeri dispari

, • o I
I . ..
~l OHHl '. E-9
3

' '
'

• o •
.
o
·~3
CDL
C.DL OHNE
&s' lc.OLO HME
12 ---l~
~6 - i1
I

..

- si devono usare numeri dispari per utilizzare i pari per


eventuali inserimenti

- il livello 77 COL. 8-9

- dopo il numero di livello si devono lasciare almeno due


spazr

3.12

La cultura è un bene dell'umanità (fantomasping@libero.it)


'T"ALSI EL
lGRUPPO
I~
I FORMAZIONE
Strutture
IRI FINSIEL per l'evoluzione

NOMI DELLE LABELS

- devono essere del tipo:


XY-MMM-AA ••• A

• XY VALE ML PER LA MAIN LINE


Al,Bl, ••• ,Zl PER LE ROUTINES DEL 1° LIVELLO
RICHIAMATE DALLA MAI N LINE
AN,BN, ••• ,ZN PER LE ROUTINES GENERALIZZATE
RICHIAMATE NEL LIVELLO
IMMEDIATAMENTE PRECEDENTE
RA,RB, ••• ,RZ PER LE ROUTINES GENERALIZZATE
RICHIAMATE IN PIU' PUNTI DEL
PROGRAMMA, ANCHE I N DIVERSI
LIVELLI
• MMM numero di blocco dell'organigramma WARNIER al primo
livello
.AA ••• A NOME MNEMONICO ESP.i,ICATIVO.

- le labels usate nel programma devono coincidere, almeno


nella parte XY-MMM, con quelle usate nel diagramma a
blocchi WARNIER

la l ·a bel non deve essere seguita da istruzioni sulla


stessa. riga .I

3.13

Propr1eta 1tals1el s p A H Le copie ong1nal1 sono contraddistinte dal retino stampato 1n rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
COSTANTI

- e' consigliabile non usare il trattino di continuazione

LINEE DI MINUTAZIONE

- si deve codificare una sola istruzione per ogni riga di


mi nutazione

BLOCCAGGIO

- si consiglia di indicare in FD la clausola


BLOCK CONTAINS ' RECORDS
in modo da considerare come bloccaggio quello indicato
nelle schede JCL, questo per evitare di ricompilare il
programma nel caso in cui si voglia modificare tale
parametro.

OPEN/CLOSE

- e' preferibile codificare un'istruzione separata di open,


o di close , per ogni file da elaborare
Es.:

. zo
u. .. .. .. .. ..
SlOUIE H CC

'
,
IPAGU ISH UAl

o ' o
I 1 I
I

" .. 20 ,. 21 )2 ,. •o •• •O
"
o • o OPF:N IN PuT ANA 6 .
• • o
,, " n of>Etl I/ KJ O~D I l'f I .
' o o
-
' ' o OPE.tl ov TPvT 5T~ #1 PA.
' • u
- -

inoltre e' consigliabile far eseguire una open solo quando


effettivamente e' necessario aprire il file

3.14

La cultura è un bene dell'umanità (fantomasping@libero.it)


...ALSIEL I
& lGRUPPO I~
IAI FtNSIEL
FORMAZIONE
Strutture
per l'evoluzione

READ ••• INTO E WRITE •.. FROM

- e' obbligatorio l'uso delle istruzioni

. "
feEAD - -. - I rtTo
' ' "
~ o fl
I

1 n \l.//?.IÌ E -- -- Ff.OM
. '
• n R,Ew~ 1TE - -- Fif) H
·-

- SVANTAGGI:

• queste istruzioni comportano un'ulteriore istruzione di


MOVE, implicita, la quale trasferisce dati dall'area di
I/O alla WORK AREA (e viceversa)

- VANTAGGI:

• consentono la disponibilita' del ' record logico anche


dopo l'esecuzione dell'operazione di I/O.

Questa disponibilita' si perderebbe senza usare le


opzioni INTO... poiche' l'effettuazione di una
operazione di I/O comporta lo spostamento di un indice
che punta al record logico nell'ambito di quello fisico.

Bisogna quindi dare in FD una descrizione sommaria del


record tale da determinare la lunghezza e la posizione
della chiave (per VSAM), ed invece descrivere
completamente il record in WORKING-STORAGE •
.
HOVINC(

I
.
lfl'AQff 1$(RIAl
'
' o

io
V A
> I

" .. 20 ,.
" "
,. •• .. .. ., •• IO . .. "
n • r DATA C> I I/ I SI oN.
,. 6 " f/Lé-SEC tf ION.
1· Il o f D OR.O I IH. I
• o n LllBE (.. f(éc.o~D StT ANIJ ~~l>
1 :- n SLOC.. K C. OfH A IHS ~ L€E'co Il os. •
' • o
9H 0R.n1 Hl-i .. . .
'PI C Y(-15 ~).
' • n i
I 8 fl
'
l#OIZk I NG_- sroR11'\G~ ~ECT I ON.
, o o

~" \!V-OR. DIHI .


.
:' 7 t't

rj3 W·O~ IDI H I - : ~E)' 0 1c 9(5) •


..
"
..
' ~3 w-tJ~ IDI Hl • I tlP b ~To IP1c S9(1 5) lcOHf '"'3 •
' • o fl3 .. w-o~ Dirli - .QTA . . . . Pie 9( 1~).
' o o I

..•
I

' ' o

- • • n
-- I
----'-- - ---

3.15

Proprietà ltals1el S p A . Le copie ong1nali sono contraddistinte dal retino stampato n rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
CONTATORI DI I/O

- devono essere definiti per riportare il numero di


operazioni di I/O effettuate su ogni archivio gestito a
programma
- devono essere evidenziati a fine elaborazione
ARCHIVI DI INPUT NO RECORDS LETTI

· ARCHIVI DI I/O NO RECORDS LETTI


" " CANCELLATI
"ti "ti INSERITI
AGGIORNATI
ARCHIVI DI OUTPUT NO RECORDS SCRITTI
(ESCLUSE STAMPE)
· ARCHIVI DI STAMPA NO PAGINE SCRITTE o
NO RIGHE STAMPATE

INIZIALIZZAZIONE DEI CAMPI

E ' opportuno inizializzare ai valori di inizio elaborazione


i campi d i WORKING-STORAGE con l'ausilio della clausola
VALUE

OPERAZIONI CONDIZIONATE

- le istruzioni imperative che si eseguono condizionatamente


vanno scr itte sfalsate rispetto all'istruzione di
condizionamento stessa.

. , . ., . . .. .. ..
SfOUrNC(
;
o
lf• ACl l !SffUAl u •
.,• •• ,. ,, ,. •• •• ., ••
20 24
"
'' ' n

,~ 4 n
IF -1/- CT R G~ t~T u~ 3~
n • r PER. f oR.H Id· 1~-SA LTO TtH!u A~-5 ~ -S A L tr o - E: lx .
•. 8 (•

' o '
- --
A r> D ... TO ~-c.T ~ .

3.16

La cultura è un bene dell'umanità (fantomasping@libero.it)


...ALSI EL I FORMAZIONE
lGRUPPO
I~ Strutture
IRI FINSIEL per l'evoluzione

CONTROLLI

I controlli si suddividono in diversi gruppi.


1. Controlli di numericita'
Devono essere eseguiti per quei campi definiti numerici
ed il cui contenuto proviene da un file non controllato
alla creazione (es. files su nastro di provenienza
esterna al C.E.D.)
2. Controlli di indice
Devono essere eseguiti controlli sul valore massimo di
ciascun indice usato a programma, per evitare di superare
il limite dell'area da esaminare (es. sfondamento di
tabelle ecc •••• )
3. Controlli dei codici di ritorno in caso di chiamate a
routine esterne
Devono essere eseguiti per ciascuna routine esterna che
passa dei codici di ritorno.
Questi devono essere testati in tutte le combinazioni
possibili ed in ordine .. di .. probabili ta' • Fra le
combinazioni possibili si. deve ·con.s iderare anche quella
che la routine esterna passi un codice errato.
Es.:
Valori del codice di ritorno W-COD-RIT sono

~ con probabilità 70\

1 con probabilità 20\

2 con probabilità 10\

Il controllo sarà così eseguito:

'.

• n

6 Il

(
IF
--·
W-CO o- R.1 IT Et2VAL
FERF Cf?,H - - - - - -
,
lf w-co D-RI if E. IQIJAL 1
-
) n 'I

'7,. PcRF O~H - - - .


• n
IF f#·CO C>-R I rf . Ei(.;lcJ,Q L ~
:' " 11 . PtRF OR.H ... - - - -
..
., Il(•

PE. R.f 'f> RII A3· ERRO RE iH~U A!> -E ff., r;, tè.E - Ex.
'' "

3.17

Propneta ltals1el S p A . Le copie originali sono contraddistinte dal retino stampato in rosso Ne é vietata la r<produz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
4. Controllo dei possibili valori

Se un campo puo' assumere più valori si devono testare


tutti e non accettare l'ultimo per esclusione in quanto
il campo potrebbe contenere un valore errato.

Es.

Il campo W-COD-RIT puo' assumere i valori 10, 20 e 30.


Un test del tipo:

, n
: \ .f 'EQll~L.
{,,
n
I : '
fRR· <i ~RII - El(
• o
I : I '
" ' n \f f~VA L
'i ,o o ~.R.f{,- l-9' -EX,
o

. o
o
,1~ ! f<.A.T
'
H.R.\J i-T RA-f -f)( .

e' errato in quanto il programma esegue l'ultima perform


per tutti i valori di W-COD-RIT diversi da 10 e 20 e
quindi non solo per uguale a 30.

Una corretta gestione di questo test è:

. n

' o o I I il 'f fl/- 'c.ob'-:~IT : i ~Q.vAI. . · ~tp !


j
'

- - - ·- - -..
' " • I ' I • • • • I •
; " o '
: ~t R'f' o Rtf.
. . .
' I
.- .
'
-
• '
' I

I
o
' !
: I F' ~- ·c·o ~· -1\ 1 1:: . ~.Q.v.A i.: , : i.;, .
' •• l? t~foRH · ·- • _ ·- · • . • • • .. • · .
n o . I
' '
f,t/-t.01!>·R 1T 3f .
.' • \ 'f E<lVA L.'
' o ' f E.~fp IV1 Pii-11\A11'To. , T.tH\11 Ai-1 RA110-EX,
:
' ', n '
:
n

.
' '
n o

3.18

La cultura è un bene dell'umanità (fantomasping@libero.it)


"T"ALSI EL I
& lGRUPPO
I~
IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

5. Controllo di eventi logici (riguardo al JCL)


Ciascun programma BATCH puo' condizionare l'esecuzione d i
STEPS successivi, impostando un CONDITION-CODE, a fronte
del verificarsi di eventi logici.

Es.:
se non si vuole eseguire lo STEP2~ a fronte di certi
risultati ottenuti nel programma E891010 4 bisognera '
codificare le seguenti istruzioni:

PAOBLElrr•"• DATA PAGINA 01


'

• 1;
',,
f h

1
SEOUE NCE

tl'AGll f SllUA L
l •

o ' o
I
i-
z
3A
1 I
.
1l
. ,, ' 20 . 21 ., 40 . . •o .. lt 12'

'
!
o <.O DEITT:I 'F:1 ~..'~TI· ~H· :
I0 D;I VI I> I OH.
o • 10
P~X~A:~ · 1.6·.: .ts9 -1~:-fP4-. .
o

' o o
•o
, o PP.,OC.Eo_
. ...
I ·· j.'·
.
, .

I
v R{ D• 111s1 ·0,.,.
' "o •,
.,
' •o . '
' •o . koVt HH T<J R.f TuR M -e.oc €..
o o
'

· 3.19

Proprietà ltalsiel S.pA . Le copie ong1nali sono contraddistinte dal retino stampato 1n rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
ISTRUZIONE COMPUTE

Si devono osservare alcune precauzioni nell'uso di quesla


istruzione

tutti i campi che si usano in una compute devono avere lo


stesso numero di decimali per evitare errori di
arrotondamento
- assicurarsi che il numeratore sia maggiore del
denominatore, quando cio' sia possibile. Questo perché la
COMPUTE, nei suoi calcoli, usa un campo di comodo con 6
cifre decimali, quindi piu' il risultato e' minore di 1,
maggiore errore si ha nell'arrotondamento •
•• • ISTRUZIONE COMPUTE

Es.:

A + B
TOT = * 100
C + D+ E

Le istruzioni che si possono usare sono:

1. COMPUTE TOT= ((A+ B)/(C + D + E))*lOO


2. COMPUTE TOT = (A + B)* 100 / (C + O + E)
L'istruzione da usare .e' la 2. in quanto la 1. puo'
provocare errore di arrotondamento nel calcolo della
frazione.

3.20

La cultura è un bene dell'umanità (fantomasping@libero.it)


l...ALSI EL
'"""'
I FORMAZIONE
Strutture
GRUPPO IRI FINSIEL per l'evoluzione

Capitolo 4

4.0

Proprietà ltals1el S p A. Le copie on91nal1 sono contradd1st1nte dal retino stampato in rosso . Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
La cultura è un bene dell'umanità (fantomasping@libero.it)
l "T"ALSI EL
I~
GRUPPO IRI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzio ne

IDENTIFICATION DIVISION
L'IDENTIFICATION DIVISION è la prima divisione di un
programma.
La sua funzione principale è quella di assegnare un nome al
programma; in essa possono essere indicati anche il nome del
programmatore ed altre informazioni sul programma.
L'IDENTIFICATION DIVISION deve iniziare con l'identificativo
IDENTIFICATION DIVISION./
Seguono quindi gli identificativi di paragrafo. Ogni
identificativo di paragrafo specifica il tipo di
informazione che deve contenere il paragrafo stesso. Il
primo paragrafo
PROGRAM-ID.
deve indicare il nome del programma ed è l'unico paragrafo
obbligatorio della divisione. Il nome del programma
assegnato nel paragrafo PROGRAM-IO è il nome con cui il
sistema operativo riconosce il programma in oggetto
Il nome del programma deve rispettare le regole di
formazione del nome di campo • . In pratica tuttavia per
vincoli di sistema e per esigenze _d i chiarezza, il nome del
programma:
- deve essere al massimo di 8 caratteri alfabeticJ u/o
numerici
- deve iniziare con un carattere alfabetico
Gli altri paragrafi possono essere omessi (1) .
IDENTIFICATION DIVISION.
PROGRAM-ID. Nome del programma
[ AUTHOR o [ Commento ] ]

[ INSTALLATION ~ [ Commento ] ]

[ DATE-WRITTEN o [ Commento ] ]

[ DATE-COMPILED 0
[ Commento ] ]

[ SECURITY (:) [ Commento ] ]

[ REMARKS é [ Commento ] ]

4.1

Propneta ltals1el spA. Le copie onginah sono contradd1st1nte da l retino stampato 1n rosso. Ne e vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
(1) Il compilatore IBM OS/VS COBOL 57 40-CBl Release 2 . 4
tuttavia accetta gli altri paragrafi in un ordine
qualsiasi.

Tutte le informazioni che vengono indicate nei paragrafi che


seguono il paragrafo PROGRAM-ID, costituiscono, insieme ai
commenti che possono essere inseriti in qualunque punto dcl
programma, la documentazione del programma stesso .
Ciascun nome di paragrafo identifica il tipo di informazione
che contiene:
AUTHOR. nome dell'autore
INSTALLATION. riferimento al centro di elaborazione o
al centro utente
DATE-WRITTEN. data in cui è stato scritto il programma
DATE-COMPILED. data in cui è compilato il programma
SECURITY. livello di riservatezza
REMARKS. descrizione delle funzioni del programma
Le informazioni sono indicate in formato libero purché:
- le informazioni siano allineate in margine B
- le informazioni costituiscano uno o più periodi
Il paragrafo DATE-COMPILED, se presente, provoca
l'inserimento automatico della data in cui il programma
viene compilato.

4.2

La cultura è un bene dell'umanità (fantomasping@libero.it)


l"T'ft.LSIEL I
& I ""'"'
GRUPPO IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

Nell'esempio seguente la IOENTIFICATION OIVISION contiene


tutti i paragrafi previsti •
.
.: , .. I
I :
ii I
1 : I
'I 'O N. I '

I I
I
I I '

·~~ .! I
' I

' I iy i ' : : I
I
.... ,v,PP.op z •.
I • I

:
I •

' I I I I I .
F,O~~ ~A~~ •j I ; I I
I '

ATE -\rllt l .. ~~ ·~ •. :I I '


I
~ ;'~ I 1

J~;E·- ·~o~
I r
I ;
i ' I
: I

. I
'
. .. ~E;~uR.1 :TY •. f'.Hlf z I"~ E,
I
.· :o I 8/+s •
i .

I
i
~ ''
~~H: h~:~ . ~O· H ~I . S ; Bf !~ cos. ~E.Il.VA
I . IL PiOt;R
. """.

1. Si rilevino gli errori commessi n~i periodi seguenti

- -..--· -~
·-
A .... ,.. :
I

"

.. I
;
'
I
!
:
I
; !

I
'
: : '
I I :
B. .,! ..
I '
I
i I I

! I I I
: : ;
I I :
I
I : ;'
i : ! '
I
....
t, I \• I
'
! I
c.. I
:·. . .. ' II
I I
:
...
I ' !
'
~

I I i I : ;
I '
I

c. . "
I ;
I
I ;

: I
I
' .. .. '

A. Né IOENTIFICATION né PROGRAM iniziano a margine A


B. E' stato omesso il simbolo - (trattino) in PROGRAM-IO.
Manca il punto nel periodo del paragrafo DATE-WRITTEN
c. E' stato omesso il punto dopo PROGRAM-10. Manca il
trattino tra DATE e WRITTEN
o. La lunghezza del nome del programma supera 8 caratteri

4.3

Proprreta 1tals1el S p.A Le copie orrginal1 sono contraddrst1nte dal retino stampato in rosso Ne é vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
2. Si rilevino gli errori commessi nelle IDENTIFICATION
DIVISION seguenti:
-- -

. ..... .. .. .. .. .. . .
HQUINCl
zo
IP'AOU ISUlllAL
' ' ' ,,
I
.. •• ,. 00 •• ., IO
"
A. lbEffT//=1 C.AT I Ofl bi VI ~I Oli •
• ' o
• • o PflotT ~ ,.,. - ID, E~P~ d1P-1.
o ' o
. . .
B. ., • I')
IO EMTtF I ::BT I oH f>I V/ 15 I OJ.., •
. n • Pi-06-RAff- 1 C> • . . E:8'3 • ~ 1~.i.
' ' n

c..
'' '
I [)EHTIF I ~~TI ~H o 1111 1$ I O/t -
'

'
'
• n

'
'
.
n
PR.IJ~flH- 10. . ' E 'Jlf '1J '!1~-1' • . .
. '
D. , o o I r>~HTI Fl ~A/1 'o H PI VI ~I O~ . .
' ' ti fR.OGA!.AH· I I>• 9 ~"~~ 111.

A. L'identificativo di paragrafo non inizia in margine A


B. Il carattere (punto) non è ammesso nel nome del
programma

C. Manca il punto dopo l'identificativo di divisione. Gli


apici non possono figurare nel nome di un programma
D. Il nome del programma inizia con una cifra

3. Quale de i seguenti paragrafi è obbligatorio?


A. PROGRAM-ID.
B. AUTHOR.

C. INSTALLATION.

I D. REMARKS.

A.

4.4

La cultura è un bene dell'umanità (fantomasping@libero.it)


...ALSI EL
lGRUPPO
I """
IRI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzione

4. Quali dei paragrafi che seguono sono corretti?


I '
' :
C'I

'
' • e
A. :" 9 (I
PflOG/UJ)i- 11> .• Eq,~5 ~p:5.
' o •

B.
1
' '

.•
PllOGIU1H I J) • t~ ~5.3-8 8 .:
'
c.. , • e PROGRAH- I{)• .~9! {~~;e 4.
1 e n

D. • e • PR.OG R.AH· I O. e~""


""~ 14~i4.

'
..... ...
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

c.

5. Perché A, B e D sono errati?

A. Manca lo spazio dopo il punto


B. Manca il trattino
D. L'identificativo di paragrafo non è allineato in margine
A.

6. L'esempio che segue è corretto?

u.
;:
.. . ..
HOUl NC(

IPAGU ISUlllAL
1 l •

n '

e
o
' I
I

"
.. 10 ,.
"
,, 31
"' •• ., •• •• "
o • o / .PEHTI F.I LATI o,tl DI 111 51 OH.
l't I' O
:
l't ' '" PRoGllAH- IL>.
o n
'
' '" Quo TE.

A. Si'

B. No

B. Il nome del programma non può essere una parola riservata

4.5

Propnetà ltals1el S p A Le copie onginal1 sono contradd1st1nte dal retino stampato in rosso Ne è vietata la nproduz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
La cultura è un bene dell'umanità (fantomasping@libero.it)
FORMAZIONE
Strutture
per l'evoluzione

Capitolo 5

s .o

Proprrera lta1s1el S p A Le copie ong1nal1 sono contraddistinte dal retino stampato 1n rosso . Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
La cultura è un bene dell'umanità (fantomasping@libero.it)
~ ITALSIEL ~?,~~:,~IONE
\J_/ GRUPPO IRI FINSIEL
l per l'evoluzione

LA DESCRIZIONE DEI CAMPI NELLA DATA DIVISION

La ~ OIVISION è la terza divisione che figura in un


programma COBOL e viene utilizzata per descrivere i dati che
il programma deve: ,
- accettare in input
- elaborare
- creare
- produrre in output
La DATA DIVISION si compone di due sezioni:
FILE SECTION in cui sono riportate:
le caratteristiche fisiche degli archivi, sia in ingresso
che in uscita e una sommaria descrizione delle aree di
input/output.
WORKING-STQRAGE SECTION f n cui sono descritte:
le aree di lavoro necessarie per le elaborazioni
· la descrizione dettagliata dei tracciati record
le costanti che saranno utilizzate nel corso della
elaborazione ·. ··

Il presente capitolo tratta delle descrizioni dei campi


valide sia per la FILE SECTION che per la WORKING-STORAGE
SECTION; le due sezioni saranno trattate nelle loro
particolari~à nei capitoli 6 e 7.

DESCRIZIONE DEI CAMPI (livello 01 + 49)

Un campo è un'area di memoria destinata a contenere un dato


variabile o una costante.
La descrizione di un campo comporta la scrittura di
un periodo che può avere uno dei seguenti formati:
Formato 1 nn nome di campo
Formato 2 nn nome di campo clausole
Nei due formati nn rappresenta il numero di livello che
nella DATA DIVISION può assumere i seguenti valori:
- da 01 a 49
- 77
- 88

In questo paragrafo si tratterà solo dei valori 01 . 49.

5.1

Propneta ltals1el S p A . Le copie onginal1 sono contraddistinte dal retino stampato 1n rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Si osservino le seguenti descrizioni di campo

' • o
' • o -f \tl-A6 EH Z. I A •
: l'I n c!3 ., -COi>-f' DV PI e 99.
''(I ~3 -NUH.-AG : . IC 9 9'J.
I ' C·
953 IHC>lt. f I C. ( 3~).
' ' n

Nell'esercizio sono definiti 4 campi cui sono stati


assegnati i nomi W-AGENZIA, W-COD-PROV, W-NUM-AG, W-INDIR.

Le parole PIC seguite da stringhe di caratteri rappresentano


le clausole mediante cui si esprimono la natura e la
lunghezza del campo: di esse si parlerà nel paragrafo
successivo.

I numeri di livello (01, 03) esprimono la gerarchia tra i


dati: al campo W-AGENZIA, di livello 01, sono subordinati
gli altri tre campi, tutti allo stesso livello 03.

livello 01 W-AGENZIA
livello 03 W-COD-PROV I W-NUM-AG lw-INDIR

Ciò significa che il campo di livello 01 si suddivide in tre


campi ognuno dei quali contiene informazioni che hanno una
propria identità.

W-COD-PROV I W-NUM-AG I W- INDIR

W-AGENZIA

5.2

La cultura è un bene dell'umanità (fantomasping@libero.it)


...ALSI EL I
& lGRUPPO
I~
IAI FINSIEL
FORMAZIONE
Strutture
per l"evoluz1one

Nel seguente esempio:

' • o
J

,
o o
~" W- ,V I AP'
'
PI c. ~(3~) .
' o
J < V
~f W - VE TT P1 c. IXX.
' • o . . '
' • o (Jf w -co D-AE R. Pi e lx'xx.
• o o

i tre campi W-VIAG, W-VETT, W-COD-AER hanno lo s t esso numero


di livello 01 e pertanto tra essi non esiste gerarchia •

livello 01 ..._w_-_v_r_A_G____ II w-VETT II w-coo-AER

La gerarchia dei dati è molto utile per la loro elaborazione


nella PROCEDURE DIVISION. Nel "primo esempio si potrebbe
essere interessati a trasfe~ire utte le informazioni
(W-COD-PROV , W-NUM-AG, W-INDIR) in .·' un'altra
area di memoria; in tal caso · ba.sterebbe fare r i ferimento al
solo campo W-AGENZIA in quanto contiene detti campi.
Se si volessero invece elaborare solo le i nfor maz i oni del
campo W-INDIR (ad esempio per modificare l 'indir i zzo
dell'agenzia) si farebbe riferimento specif i co a l campo
W-INDIR.
Se un campo non è ulteriormente scomposto in a l t ri campi si
definisce ·e lementare; nell'altro caso si defin i sce composto.
Nel primo esempio W-AGENZIA è un campo composto; W-COD-
PROV, W-NUM-AG, W-INDIR sono campi elementari .
Nel secondo esempio tutti i campi sono elementari .

Utilizzando più numeri d i livello si possono descr ivere


strutture più complesse .

5.3

Proprieta 1tals1el S p A Le copie original1 sono contraddistinte dal retino stampato in rosso Ne è vietata la roproduz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
1. Quali sono i campi elementari e quelli composti
nell'esempio seguente?

Campi elementari:
W-NUM-ORD, W- CLI-COD, W-CLI-NOME, W-CLI-INDIR, W-RIGA-COD-
MAT, W-RIGA-QTA, W- RIGA-PR, W-IMPORTO

Campi composti:

W-ORDINE, W-CLI, W-RIGA

Con riferimento agli esempi riportati, per la descrizione


dei campi valgono le seguenti regole:

nella descrizione di un campo composto si utilizza il


periodo di Formato 1

nella descrizione di un campo elementare si utilizza il


periodo di Formato 2

2. Qual'è la rappresentazione grafica della gerarchia dei


campi dell'esempio precedente?

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

5.4

La cultura è un bene dell'umanità (fantomasping@libero.it)


l "T"ALSI EL I
& I~
GRUPPO IAI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

liv.01 ORDINE
liv.03 N- CLIENTE RIGA IMPORTO
ORDINE
liv.05 COD- NOME INDIRIZZO COD- QUANTITA PREZZO
CLI MAT

Finora si è espressa la gerarchia tra i dati mediante numeri


di livello crescente e con incremento pari a 2 per
permettere futuri inserimenti.
La stessa gerarchia può essere rappresentata con numeri di
livello crescente ma con incremento qualsiasi, fermi
restando i vincoli per cui:
· il primo livello deve essere 01
• il massimo numero di livello è 49.
Per la scrittura dei numeri di livello e del nome dei campi
valgono le seguenti regole:
· il numero di livello 01 deve esserè scritto ' a margine A
gli altri numeri di livello è preferibile siano scritti
indentati a partire da margine .a
· il nome del campo deve e~s·ere scritto a margine B
In pratica si tende a scrivere i numeri di livello in modo
tale da rendere immediatamente evidente la gera r chia tra i
dati (vedi esempio del punto 1.)

3. Quali dei seguenti esempi sono errati e perché?


,, ' o

A. o ' I' l P1C 9(6).


o ••

8. " ' n rti"J W-0 rrc 9q


rf~ H 1e 9q 9.
. '. ~:, AD re 99'1 •

c.. ' .. ~1
' 8 n A P1c: </(t,}.
' ,, f> I C 9( 6) •
.
....

'
D. PI C 9( 10
1 & •O

E. , e o
' o o f> I C
, ' o p IC.
' • o
p. 'fii ti

5.5
Proprietà ltals1el S p.A . Le copie orig1nal1 sono contraddistinte dal retino stampato 1n rosso . Ne e vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
B. Il campo composto è descritto con periodo di Formato 2
c. Il numero di livello 01 è scritto a margine B
D. Il punto non può essere preceduto da spazio
E. DATA è parola riservata e manca un numero di livello 03
F. Manca il punto dopo W-PART e dopo le PIC

La clausola PICTURE
I campi elementari sono classificati in:
- campi alfabetici (di uso limitatissimo)
se sono destinati a contenere esclusivamente caratteri
alfabetici (A ••• z, blanks)
- campi numerici:
se sono destinati a contenere esclusivamente caratteri
numerici (0 ••• 9)
- campi alfanumerici:
se sono destinati a contenere caratteri numerici e/o
alfabetici e/o caratteri speciali o, più in generale,
qualunque configurazione di bit
- campi di stampa numerici o alfanumerici:
se sono destinati a contenere anche caratteri speciali per
la stampa (di questi si dirà al capitolo 16).
La clausola PICTURE ha il seguente formato:

[
PICTURE
PIC l IS

Si ricorda che la clausola si scrive unicamente per i


stringa di caratteri

campi
elementari.
La stringa di caratteri che segue la parola IS indica:
-1) il tipo (o classe) del campo:
. se è composta da caratteri A il campo è alfabetico/
.
se è composta da caratteri 9 i l campo e' numerico
. se è composta da caratteri X 11 campo è alfanumerico
-2) la lunghezza del campo: vengono scritti tanti caratteri
(A, 9 o X) quanti sono i caratteri che compongono il
campo.

5.6

La cultura è un bene dell'umanità (fantomasping@libero.it)


l ""l""ALSIEL
I~
GRUPPO IAI FINSIEL
I FORMAZIONE
Strutture
per l°evoluzoone

1
HOUlfrrllCl

lil'ACfl ISUUAL u •
l •

•• '
•'
o
zo
. •
" .. 10 ,. 11
" li 40 .. •• ., .. IO •• . 11

• • o

o •• 03 W'·N OHE pi(.. txxxx xx xx IX)( •

Nell'esempio, il campo elementare W-NOME è lungo dieci


caratteri ed è alfanumerico

La string ne segue la parola PIC può essere lunga al


massimo 30 caratteri.
Per evitare tale limitazione e per rendere più semplici la
lettura e la scrittura della clausola si usa, normalmente,
la notazione

I 1:::1 I
Il numero tra parentesi indica quante volte si intende
ripetuto il carattere A, X, 9 che ·lo precede ed indica
pertanto la lunghezza del campo.

Il secondo esempio è quindi del tutto equivalente


all'esempio precedente e rappresenta il modo più comune di
descrivere campi di una ce.r ta lunghezza.

Si noti che nella PIC la parentesi di sinistra non deve


essere preceduta da spazio.

4. Quale delle due descrizioni seguenti è corretta?

-
A.
'

'
' o o
..
• n

1'3 W'-C.0 t-(OOO p /C. X{-il. D.


-
'
B. '(') ~3 w-c.o HD DO ~I C.. )('XX...ic XXXX JXXX.x •
...
;

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Entrambe, anche se è preferibile A.

5.7
Propneta 1tals1el S.p A. Le copie ong1nali sono contraddistinte dal retino stampato 1n rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
5. Nell'esempio seguente
A. Il numero di livello è
B. Il nome del campo è •••
C. Il campo è lungo
D. Il tipo di campo e' ...

' • o
, • o

' o o

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A. 03

B. W-CODICE
C. 3 caratteri
D. Alfanumerico

6. Quale dei seguenti valori potrebbe essere il valore


assunto dal campo W-CODICE descritto nell'esempio?
A. 973
B. A-OK

c. A-1
D. 20.000
E. X&5

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A, e, E. (B. e D. richiedono più di tre caratteri)

5.8

La cultura è un bene dell'umanità (fantomasping@libero.it)


...."LSIEL I
& I"""
lGRUPPO IRI FINSI EL
FORMAZIONE
Strutture
per l'evoluzione

7. Dato il campo elementare

quale dei seguenti valori potrà assumere?


A. LUNEDI'

B. 3MARZO

c. 210878

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

c.

8. Dato il campo elementare:

1 · I

Quale delle seguenti affermazioni è corretta?


A. il .campo contiene · il valore alfanumerico 40

B. il campO è ·alfanumerico e lungo 40 caratteri


C. il c~mpo contiene 40 caratteri X
D. la definizione è errata perché il numero tra parentesi
è > 30

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

B.

La PICTURE definisce solo le caratteristiche di un campo


elementare e non definisce il valore che tale campo
contiene. Il contenuto di un campo varia generalmente
durante l'esecuzione del programma.

5.9

Propneta 1tals1el S p.A .. Le copie orig1nal1 sono contraddistinte dal retino stampato 1n rosso. Ne è vietata la riproduzion e
La cultura è un bene dell'umanità (fantomasping@libero.it)
9. Dato il campo elementare:

'
SfOUlH Cl

IP'ACfl ISUUAl
J • I

,.. ' ,,
i
8•
1 I

12
" 20 24 21 ,, .. 40 .. .. " •• 10 •• Il
"
"

o ••
" n Rf3 tyv· e.o I:) I C.f PIC .,((6) .
quali dei seguenti valori potrebbe assumere?
A. 590347

B. XA.3Bl
c. 9671058
D. BBAbbb
E. 89-AAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A, B, O, E.

10. Si scriva la descrizione dei seguenti campi attribuendo


sempre il numero di livello 01
Nome Tipo Lunghezza
W-ORE-LAV numerico 8
W-CREDITO alfanumerico 12
W-TESTATA alfanumerico 133
W-TIPO numerico 2
.. e ,.

• ' fl

' • o
• o "

~"' p I l 9(8) .
, Il 11

, .' n

'11
'

' .. ;-1
• n

' o "

' ' " ~1 W-TI PO

5.10

La cultura è un bene dell'umanità (fantomasping@libero.it)


""l""ALSIEL
lGRUPPO
I~
I FORMAZIONE
Strutture
IAI FINSIEL per l'evoluzione

NOMI DI CONDIZIONE (livello 88)

11. Quali valori può assumere un numero di livello?

1 + 49 i 77, 88

In questo paragrafo si tratterà del numero di livello 88,


riservato ai nomi di condizione.

Un nome di condizione è un nome associato ad un campo che


identifica uno o più valori che può assumere detto campo/
durante l'esecuzione .del programma.
I nomi di condizione si esprimono con uno dei due seguenti
formati:
Formato 1
88 nome di condizione VALUE IS costante
r VALUE IS còstante 1 THRU costante 2
Formato 2
<
88 nome di condizionel
VALUES ARE costante 3 THRU costante 4 .
Col Formato 1 si ·assoçia al campo un solo valore; con il
Formato 2 si associano al campo più valori, contigui (THRU)
o non "contigui.

Si consideri il seguente esempio:

I IJI I I

W-COD-SUP è il nome di condizione cui è assoggettata la


costante •s•.
Il campo elementare W-COD, di un carattere, potrà assumere
durante l'elaborazione, diversi valori; nell a PROCEDURE
DIVISION si esaminerà la condizione SUPERIORE per verificare
se il campo W-COD ha il valore S. (Vedi capitolo 13.)

5.11
Propr1e1a ltals1el S p.A .. Le copie originali sono contraddistinte dal retino stampato 1n rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
12. Quale dei seguenti ·-
nomi
·
è un nome di condizione?
-
... ~

' . ' '53 W-COP p I c.. ~.


1 o n ~8 W-CD D-PA ~I ~PLVt f, 4 6 8.
• n r ga W-C.O [)-DI 15P lii RLV E. 1 3 5 1 ~.
Rf3 ~-NO HE Pt<:: X(~~ ) .

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

W-COD-PARI e W- COD-DISP. Si tratta di due nomi di condizione


associati ad uno stesso campo. L'esempio mostra il caso in
cui un nome di condizione identifica più valori del campo.
Si noti che essendo W-COD un campo numerico, le condizioni
possono essere solo numeriche.

Per la scrittura dei nomi di condizione valgono le seguenti


regole:
- il numero di livello 88 può scriversi indifferentemente a
margine A od a margine B: il nome della condizione deve
essere scritto a margine B
- le costanti possono essere numeriche, non numeriche,
figurative.

13. Nell'esempio che segue:


o , o
' . . . . . .
o • o -C.L A5.S Pie q9.
o • n 88 -cut·Ù,E-~ VfllVC ~
• • o ~8 -C l S~E-l.. VAL é. ·~i
.. I
• o n I 88 -C.L SS - ·,3 :ALV · ~,./
• , o

A. Quale nome è di condizione?


B. Quale è il campo cui sono associati nomi di condizione?
C. Quale condizione si è verificata se il campo CLASSE
assume i l valore 15?

A. W-CLASSE-1, W-CLASSE-2, W-CLASSE-3


B. W-CLASSE
C. W-CLASSE-1

5.12

La cultura è un bene dell'umanità (fantomasping@libero.it)


~ ITALSIEL I ~e~1~u~~ioNE
~ GRUPPO IAI FINSIEL per l'evoluzoone

14. Quale dei seguenti periodi è errato?



I j

! i
.... __
,....-,-:

; I i ; '

B. e D.

15. Perché B. e D. sono errati?

B. Il nome di condizione deve iniziare a margine s


D. Le costanti alfanumeriche devono essere comprese tra
apici

5.13

Proprieta ltals1el S p A Le copie originali sono contradd1st1nte dal retino stampato 1n rosso. Ne è vietata 1a riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


La cultura è un bene dell'umanità (fantomasping@libero.it)
... ALSIEL
lGRUPPO
I """'
IAI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzione

Capitolo 6

6.0

Propneta ltals1el S p A Le copie ong1nah sono contraddistinte dal retino stampato in rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
La cultura è un bene dell'umanità (fantomasping@libero.it)
'T"ALSIEL
lGRUPPO
I~
IRI FINSIEL
IFORMAZIONE
Strutture
per l'evoluzione

DATA DIVISION : FILE SECTION

Si ricorda che la DATA DIVISION si compone di due sezioni:

11.- F.ILE SECTION

WORKING-STORAGE SECTION j

1. La FILE SECTION contiene .••

La descrizione delle caratteristiche fisiche degli archivi


in input ed in output al programma, e dei record che li
costituiscono

2. La WORKING-STORAGE SECTION contiene •• •

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

La descrizione delle aree di lavoro, compres i i tracciati


record e le costanti utiliz~ate durante l' elaborazione.

Nel capitolo precedente sono state illustrate le modalità


per la descrizione dei ·campi nella DATA DIVISION.

Tali ~odalità sono valide sia per la FILE SECTI ON che per la
WORKING-STORAGE SECTION.
In questo capitolo sarà illustrata in dettaglio la FILE
SECTION.

6.1

Proprietà ltals1el S.p.A Le copie originali sono contradd1st1nte dal retino stampato in rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
LA DESCRIZIONE DEL FILE (Il periodo FD)

Per ogni archivio elaborato, la FILE SECTION contiene ~n


periodo FD in cui sono indicate le caratteristiche
dell'archivio stesso.
Il periodo FD è composto da:
- l ' indicatore di livello FD (File Description)
- il nome dell'archivio
- una serie di clausole relative alle etichette, al tipo di
record, alla lunghezza del blocco, alla lunghezza dcl
record, al nome del record, ecc.

Il formato del periodo FD è il seguente:


FD nome di archivio f
RECORD IS
LABEL RECORDS ARE STANDARD
nome di record 1 (nome di record 2)

CHARACTERS ]
[BLOCK CONTAINS (interol TO) intero2 RECORDS
[RECORD CONTAINS (interol TO) intero2 CHARACTERS]
RECORD IS
[DATA RECORDS ARE nome di record 1 (nome di record 2)]
L'indicatore FD indica l'inizio del periodo di descrizione
di un archivio ed è subito seguìto dal nome dell'archivio.
'
-
> ' n

, • o
PATA DI VISIO ~. : ;

' • n FILE SéC TIOl'I •


:J e •o FD .CL. I E l'fTI I

• o o

Il nome dell'archivio (nell'esempio CLIENTI) deve


essere assegnato rispettando le regole formali di
definizione dei nomi (vedi Cap. 2)
Si osservi che dopo la parola CLIENTI non deve essere
inserito il punto, in quanto manca almeno la clausola LABEL
RECORDS che è obbligatoria.
Per la scrittura del periodo FILE DESCRIPTION valgono le
seguenti regole:
- l'indicatore FD si scrive a margine A
- il nome dell'archivio si scrive a margine B
- tutte le clausole si scrivono a margine B

6.2

La cultura è un bene dell'umanità (fantomasping@libero.it)


l "'l'"ft.LSI EL I
& • ...._
GRUPPO IRI FINSIEL

La clausola LABEL RECORDS


FORMAZIONE
Strutture
per l'evoluzione

Indica se le etichette sono presenti; in caso affermativo si


definiscono STANDARD ae sono gestite dal sistema.
Tuttavia, attualmente, gli archivi su nastro , disco e
di stamoa si gestiscono con etichette create e controllate
dal sistema; per essi quindi si utilizza generalmente la
opzione
STANDARD
Per i files di stampa e' comunque ammesso OMI'l"l'EO invece d i
STANDARD. - ~

3. Si scriva la FILE SECTION per due archivi , il primo su


nastro e il secondo su stampante, di nome FILEIN e
FILEOUT

I . ·-.----- --- ~ -- - -- .--- ~.----.-.,.....,..-..,..,--,--.----,--:-:


, 1-: - - - - ·--- ---· ···- --- -
!
.I :: I :
i
I ' I •

I • ' ' I I : I
.: ' I
I
, I ' ' ! :
' I
1 • ..
i . I ; I . I

• I

,,-t-T---j·-.--·_..._-+-- -'--·-- ..
I .

1---4---+-+-~---+---+---t---~---T~"T"""t--,....-;- :~
. ...,... , rT'""
I',....,
,

. • ·1 . • : !I I ! I

- -- -

.. .. .. ..
••~• ..e • ...
a
o
t•~ · ~ ......, u.. • JI
1 .1 4 • 1 I 12' " 24! •• . !.!
I

; 11
; '
' I i'I

I :i
I
I
'
I I I I i I
I
! I
1..5 .
I

' I

I !i '
' I I
I
! I I:i I
I I
,.,. ... ' l>IJ I I ; : I
1js; I
!
!li 119,n t>A~r •' I • I:
'. !I ! ;. .. I
I I '
' '

6.3

Proprietà ttals1el S p A .. Le copie orig1nal! sono contradd1st1nte dal retino stampato in rosso. Ne è vietata la roproduz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
La clausola BLOCK CONTAINS

Specifica la dimensione del blocco in numero di record.


La clausola non è obbligatoria per gli archivi sbloccati,in
cui cioè ogni blocco è costituito da un solo record.

Gli archivi di stampa su SYSOUT sono sbloccati; gli archivi


su nastro o disco possono essere bloccati e sbloccati.

Di seguito, per completezza, viene inserita la clausola


BLOCK CONTAINS nei periodi FD dell'esempio precedente
supponendo che il blocco dell'archivio FILEIN contenga 10
record.

1 O• O

, ' o fb FIL f ,,., '


I
'
I
'
,
. ;
o LA BE L ~Eco if.O . 15
:.,,
5TAJI Plt~O
' n ~oc K c.ollr ~ · ·~is (l'E 'CD!tb ~.
, • o I I
'
' ' '' ;
' n o FC> i1L:EOllT I
:
• ' r LA8E (. R.fcD R.b I :S sr/iH /l,lt~
'

,
• n

6 1 o
f>l-OC. lt C.Ot'f.T '41 ;H·~
' j I ·~E'.c O~l>~ .
-

La clausola BLOCK CONTAINS è obb1igatoria se l'archivio è


bloccato.

E' bene specificare sempre la clausola BLOCK CONTAINS '


records anche per archivi sbloccati, per ottimizzare la
gestione di I/O del sistema (tramite anche le schede JCL) e
per evitare onerose ricompilazioni in caso di modifica al
bloccaggio.

4. Quali dei seguenti sono nomi di archivio corretti?

A. ARCHIVIO IN

B. 013-080

C. S-1978
D. CLIENTI

C. e D.

(A. contiene un blank, B. non contiene almeno un carattere


alfabetico).

6.4

La cultura è un bene dell'umanità (fantomasping@libero.it)


l ""l""ALSI
I~
EL I FORMAZIONE
Strutture
GRUPPO IRI FINSIEL per !"evoluzione

5. Si supponga che un programma elabori un archivio in input


e crei due archivi di output.
Quanti periodi FD devono essere scritti nel programma?

A. 3

B. 1

c. 2

A.

6. Quali errori sono presenti nel seguente esempi o?

- - - --
' • o
• o o DRTA- DI Yi°sr OH •
~l o 0

~~o FILf SE'c TIOH.


4bO FD C LI EtiTI . ........... .. ,,.

~AAAAAAAAAAAAAAAAAAAAA A AAAAAAAAAA

- Il simbolo trattino non deve comparire tra le par ol~


riservate DATA e DIVISION

- La FILE SECTION deve iniziare a margine A

- Il periodo FD deve iniziare a margine A e non p uò terminare


dopo il nome CLI~NTI

7. Le seguenti affermazioni sono vere o false:

A. La funzione principale del periodo FD è quella d i


fornire informazioni circa il nome e le
caratteristiche fisiche dell'archivio e dei record
componenti

B. Ogni archivio deve avere un periodo FD n e l la FILE


SECTION

C. Ogni periodo FD deve contenere una clausola LABEL


RECORD anche se l'archivio non ha etichett e

D. Le clausole possono essere scritte a p art i re dal


margine A

E. La clausola BLOCK CONTAINS può esse r e o messa se il


fattore di bloccaggio è maggiore di l

6.5

Proprietà ltals1el S p .A Le copie or191nall sono contraddistinte dal retino stampato n rosso Ne é vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
A. Vero

B. Vero
c. Vero

D. Falso, le clausole devono essere scritte in margine B

E. Falso, può essere omessa solo se il file è sbloccato

LA DESCRIZIONE DEL RECORD

Per ogni archivio elaborato dal programma la FILE SECTION


contiene un periodo FD seguito dalla descrizione delle aree
di memoria in cui vengono letti (aree di input) o da cui
vengono scritti (aree di output) i record dell'archivio
stesso.

Ogni periodo FD è seguìto da almeno un periodo che descrive


il record.

Si consideri l'esempio che segue:

, .
stOUtNC[

IPAQU ISUUAl U A
I

o '

o
zo
7 •

" . 20 ,.
" J2 ,. •• .. .. ., .. •• •• .. "
o • o f D A6Eti ZIA
o • n LA BEL R te.OR. () srr ~Ne AR.O
11 lii (I
BLOC. K c. 0 ... 1~ / "4.S rJ ~CO R.05.
' o n
1 :" fl
~~ AGEH 21A~ ~IC x(4fJ ) .
' • o

Il nome del record deve essere sempre definito a livello 01.

6.6

La cultura è un bene dell'umanità (fantomasping@libero.it)


""l""ALSIEL I Strutture
& lGRUPPO I~
IRI FINSIEL
FORMAZIONE
per l'evoluzione

La gamma di numeri di livello utilizzabile nella descrizione


del record varia da 01 a 49 per consentire la descrizione di
strutture di varia complessità.
All'interno del record infatti alcune informazioni
elementari possono essere raggruppate in campi composti .
Campi composti possono a loro volta essere raggruppati in
campi composti di livello superiore.

Si consideri l'esempio:

' ' o
- --
:
I 1!1 1 0
~i AGEN 2. I A• . ..
' o 1,, çef3 ftlGEH '2.1 .A- (.()0. I .
'' ' o l0'5 AGEN ZIA- C.00 - Pfà>" P1 c. 9S .
~ • o ios· ~6f Hz..1 A- CDC>- AG P 1l ~~.
%3 AGEH 11 A- I ti DI R. Pll X ( 3f/J ) .
' <
' • o

J o "
n

{!) FfGEN
~5
2 11!- AHf16
AGEH
. -'oI~
2./ R.- R'HilG-
'
PIC x'(3~ ) .
., ' o
I
~5· AGtH Z I:A.- AHA{l - f.>I :~ -HAS ~ ·. . '
., .. o
~ : A6lri 1..1 A- RHll6 DI R. ~ HR·s c·-6'6 P IC 99.
" i 01-' . AGEN z rq- FlHA' - 0 -.1 R-"tlA":> K-.- HH p IC ~ Cj.
' ' ' ' !
' ~ Il i ~+ ; A~Ef'l 'w I .fi-
•• AH.À6 -.p '. 1R·H·A~ ll·-AA ~ 1l. ~ g.
;
' o o

i
"
.,

Il campo .ACÙ:.NZIA-...COD è un campo composto: è formato infatti


dai due· campi, elementari AGENZIA-COD-PROV e AGENZIA-COD-AG
Il campo AGENZIA-INDIR è un campo elementare.
Il campo AGENZIA-ANAG è composto; è formato infatti dal
campo elementare AGENZIA-ANAG-DIR e dal campo composto
AGENZIA-ANAG-DIR-NASC.

Al record deve essere sempre associato il livello 01 perché


costituisce il raggruppamento di campo più ampio.
La struttura a livelli consente di richiamare l'intero
record, dati composti o dati elementari a seconda delle
esigenze .
Si ricordi che:
La lunghezza di un campo composto è pari alla somma del.le
lunghezze dei campi componenti
I
- La clausola PICTURE si scrive solo per campi element~rl /

6.7

Proprietà ltals1el S p.A. Le copie originali sono contraddistinte dal retino stampato in rosso. Ne é vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
8. Si supponga che un record contenga le seguenti
informazioni:
- numero di matricola (10 car. num.)
- cognome (15 car. alfab. )
- nome (20 car. alfab. )
Se nell'ambito del programma si devono richiamare i campi
DIPEN-ANA-COGN e DIPEN-ANA-NOME sia separatamente che
congiuntamente, quale descrizione è valida?

..
SIQU[N C[ ~
z
IP'AQ() ISUl lA L
I l 4
A
I 7 I
8 • ,. 20 21 •• •• •• 52
•• •• .. 71

o , o "
!
.'
A 0 +4 o
i1 DI PEH. I
I
I

• o e· o
i
f1_3 DI PE N:-.•Ù T~ PI~ ~ (H).
~3 , D.r P . Er~-ANlt. ... .
I, lf15 ., f)I PEtl-flHA-(0'6H P1<:. 'tf (,l~)".
i
, . , , , , . I

! ~5 DI PE H,-!ltfiA-N,0 ~ t Pll. i(.l' ).


1
' • o
d . I I 'I

'f'1 .D I P:E H... .


..: I ' I : . : I
' o ~ 3 ' D_I p E ti,- M ITJ~ ' . . . I I
' o'o ~ 3 ~I PE~. -lt.H A- :co~ll :
' , o ~3 : D. 1 .Pt~-t'\('l~- ; N.oMé ,
• o
'--~~·~'_._~_._~l~!....._._:~1 ~
: ..__
· ~,' -'-~--'-~......__~......_._~~~~-
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A.

9. L'esempio seguente è corretto?

'.o
'
7•9·0
~-', S T_U~ ENTE i .. I !
' o o li"!>S TVC> ~NTE ·f-à1 D.
' o ~3 i STVD ENTE ~-C."L ~SSE I
Pie. xx.
) • Ili
JH. ST(Jo ElffE -f.-.Ho Hc PI{.. i(~~ }."
) ., o
' , ' '
'
. " o

o o
; I

No: La descrizione del campo composto STUDENTEl-COD non è


seguita dalle descrizioni dei campi elementari che lo
compongono

6.8

La cultura è un bene dell'umanità (fantomasping@libero.it)


_J_) ITALSIEL ~~~t~u~~IONE
~ GRUPPO IRI FINSIEL
I per l'evoluzione

10. Quale descrizione è corretta?

.• .. .. ..
llUUl•Ct ;

trAGtf t H . MilAl
1 ) ..
o
Y
'
4

" ..
I : : I I
i I ! I I
I

I i
A. I I '
'
I
I I

PI<:. ')(. I I
: I

I I • •• I •
. , I
. . i I:
i i l '
: I
B. ; : I I

: .
' I

' I

A. La descrizione B. è errata perché il numero di livello


01 è scritto a margine B

11. Si descriva il seguente ·record. Nello schema seguente


come nei successivi e'· utilizzata que11ta notazione per
rappresentare i campi e·1ementari1
- il numero rappresenta la"·lunghezza del campo
- il simbolo alfabetico indica il tipo del campo, e
precisamente
N numerico
A ~lfabetico

AN alfanumerico

CONTLEl
COD ANA IND
8 N 40 AN 52 AN

6.9

Proprietà 1tals1el S.p.A. Le copie orig1nal1 sono contraddistinte dal retino stampato in rosso Ne e vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
. -- . --
-""
~....! ~.. 6: L
•• :~ • .. .. Il .. .. .. .I ... - M ..
'tli_
I; ~ H

I •I• • I I : II I i I
I
I I I I I I II
_I ~ ~ ._ ~ J.. f ~ N1 IU · • I : I I I 1 I I I I Il
I .,. • : ~1::1 . ""!ot(J1 ~1'"" tic I BI:::. ~ (Bf'l. I I : Ii I,,

:; :~f
: i ~: ~
~ ~~ c:erl7<.:E11
: I. ~ t ~DiiH:.'E.f: Ali
r·· -1r'
-
.. i
-,- ...._·- -,·- .1!T RliÌ X r.41ti 1 .i
I ;· IP.ttl ilt'ffilL::
1
I ii
f 1 I'
1 T .I I
I 11 II
'. I
- i •- - --; -I - ! : ~
I I I I! ! Il I~ I
• . . i.....

.. I:-· 2 I1
~- -
.
- - - - •
.
I ! l
I I
~ .
I
I I '
I
I
I I
I ! I
' '
I
I' I . I
' i I
I
' Iii !I I

12. Il numero di livello assegnato al campo RECORD-AREA del


punto precedente
A. può essere un qualsiasi numero di livello scelto da 02
a 49
B. deve essere 01 in quanto il nome di campo RECORD-AREA
identifica il record

B.

13. Si consideri la seguente struttura. Quali sono i dati


elementari e quali sono i dati composti?

RECART
DATil OATI2
4 AN 6 N 4 N 20 AN 4 N 10 AN
CODICE PREZZO QUANTITA DESCRIZIONE SCORTA UBICAZIONE

I dati elementari sono:


CODICE, PREZZO, QUANTITA, DESCRIZIONE, SCORTA, UBICAZIONE
I dati composti sono:
RECART, DATil, OATI2

6.10

La cultura è un bene dell'umanità (fantomasping@libero.it)


~ ITALSIEL \ ~e~~u~;•oNE
~ GRUPPO IAI FINSI EL per l'evoluzione

14. Quale descrizione e' corretta?


t I• l o
A. 11 •:0
I~ · ~i ~~·
• •
'I••• · · 1
":t • O

>' • l o

J 11 • O
..
, '
·- ,__ . ;.. __..
' • o
I O O

B. , , .•
I • O

J • o

• o o

12
q.o

B. Infatti prima viene descritto il campo ARTl-DATil con i


relativi sottocampi in cui è suddiviso, quindi viene
descritto il campo ART1-DATI2 con i relativi sottocampi.
15. Si consideri la seguente struttu.r a.

0,1 RECORD-~ITE

TIPO-SK u3 CAMPO-A "'~CAMPO-B


./'>/

o') ,f; COD- COD-


.._/
J~ DETTAGLIO VENDITE
CLI PAG
DATA-VENDITA QUAN PREZZO CODICE NOME
.o~ TITA
Or e-; o=r Of; (.b
o~
~O,MESE,GIORNO
cJ eµ O"\

Si associ ogni campo ad uno dei seguenti livelli: 01 03 05


07 09

Livello 01 RECORD-VENDITE
Livello 03 TIPO-SK CAMPO-A CAMPO-B
Livello 05 DETTAGLIO VENDITE COD-CLI COD-PAG
Livello 07 DATA-VENDITA QUANTITA PREZZO CODICE NOME
Livello 09 ANNO MESE GIORNO

6.11

· Propr•età 1tals1el S p.A Le copie originai sono contradd1st1nte dal retino stampato in rosso. Ne è vietata .a riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
16. Data la !eguente descrizione:
llout..Cl

IPA&IJ •tMM
.e
...

A
..
I .. 1 t
••
lii
I '

j

!I I!

I
I,
I
: I . I I 1
I I

I: I : ~ I
I:
I . I

I
!I
I. I
'I
I ! :
i"
I
~
I
I
I. I
I I
I
!I
::I
i
I '
i:
I ~ !
, I :

I
I
I I
I:I
I •
Il
I I i : I ' . I

si disegni su un foglio la struttura del record RAPPR

Si controllino le risposte con la struttura seguente:

RAPPRl
RAPRl-COD RAPRl-DATI RAPRl-PERC RAPRl-VENO
RAPRl- RAPRl-
RAPRl- RAPRl- DATI- DATI-
COD-AG COD-PER NOME INDIR

Come si è detto, nella deacrizione del record i campi che


devono essere elaborati dal programma si definiscono
mediante nomi. La parola PILLER indica un campo o un insieme
di campi del record che non aono mai richiamati, • che
quindi non devono esaere definiti. Il formato di descrizione
completo di un campo è pertanto il seguente:
nome di campo
numero di livello [clausole)
FILLER
La parola FILLER è utilizzata altresì per descrivere par·t i
del record che non contengono informazioni.

Si supponga che il tracciato di un record di un file su


nastro sia il seguente:
Bytes l + 10 Codice cliente (campo numerico)
Bytes · 11 + 40 Nome cliente (campo alfanumerico)
Bytes 41 + 70 Indirizzo cliente (campo alfanumerico)
Bytes 71 + 100 Nessuna informazione (riservato per eventuali
ampliamenti)

6.12

La cultura è un bene dell'umanità (fantomasping@libero.it)


\.J..;l ITALSI EL I ~~~1~u~;lONE
-1...:l GRUPPO IRI FlNSlEL per l'evoluzione

La descrizione sarà la seguente:

-
' : ' !" I1
I ' j '' ' ' I I I i I I ' I J
I . I;. j .. 'l : 11
I ! I I i
! I II
'
i ! I I I
,i.1.
' •
i I I !J ! I
I I I
: I I
111 I 'I
~!·
I: I!~
' I
I"
I ' ! I I I .
i I :' . '
i
I:
' ''
' :'" Ii"
I 11
I ,
'
'
1 •
II .
I II
I!' I II I
I
: I
i
I I
i ' '
i I
I

!:
I
' I
I

I
I

I I I PIC ' '


). .
i: I
! '' I
! I

:i:i: I I :
' I . I '' ! I !
'

I' I'
I
" "' "
I .
' I I! i
I
p,, ~:1 ) :.i ;
:
I :i i '
'
:
I
I
I
I
I
I ' I '

; ,~!
X(~ );.! ii
I I
I
)I I I '
I ' I' I I I ' :
I !
I : I .. ' I
1· 1
!•i'". ~ ' I
J
• ] u
I
I O
,
P.o::: I '' ! ' ! i ' I I ;' '
I
'

17. Dato i l record seguente:

CLIENTil

CLIENTil CLIENTil CLIENTil-AHA


COD-RAP COD
CLIBNTil CLIENTil CLIENTI! CLIENTil CLIDl'l'Il CLIEN'l'Il CLI
ANA ANA ANA ANA ARA ARA AHA
NOME COGN VIA NUM CI'l' CAP REG
3 AH 5 AH 10 AH 10 AH 10 AH 3 AH 7 AH 5 AH 5 A

si chiede di descriverlo c()mple-tamente tenendo presente che


i campi CODICE-RAPP, REGIONE e SALDO non vengono mai
richiamati nel programma •

. _. . . . ..
.. ·-
~! ~:-...! ~:
•o
·u ..
•• I ' I
...
•• •• . .. .. ..: I: N .. .. . ..
llJ- • I1 o i ' :
- · ·- _ __ - -·- i i : .__;_!,_
I l

èITT ~8 .!: ....


'
-h-1
- - 1 -·
__ ----
I
I -.. .·- >-- .. -- I
-~
·- - ..
I'

-.,.
-.- ---;-
O • ' 10
~H
: ·~ ~
--·- --
I lJL oc_
I : . I
_.:.
!
- p;-i-c;- ~M.
' I '
'
i
-
- -- ·-
-- - __
I

. '
t :
I I
I

' , I
----
.. - . ---
P.i~ ){~~ .
,._
-t ., 1:1
Cl lit ~lrf r1CPJ> ~1· 1 I I 1I T
··- ! ' ' I
[ '
• 1 10
~
CL llE: #llT: I<{ - IFf.lfi • Li _w i-G
·:-;-1 -- I ~ - . ·-
.......·_ - 1•-.- . I~ ~ _;-r+ I I I I I]
- --
E ; ~~. ~ y:- T"T
t•t
....
il5 I tH~ : AHA -1H1
dt1 I .
I '
I !o ~ tl(il I
' : I !

0:1 e: { -(141 ) . I
t I
:TH ' Il I T
'LI !E H I -~Il~ -tptJ H ~
o I
••• ~_g I I ! ' i I
!51 : CL.li E' H-I. I.!~ .:B~ p I C. ,C_({~ ì!..._ I I
i
~~~
I
I ••• .
: I
--- --
I
!'JS . QLÌE HT:I rl Ptc
-~"~ ~;<..(.
I

-- ~~
~
I ,
--++ . I '
:

;.s_:bL iE~:t'iilf ::(fil-~ -,Q1 i7 p i"i - ... -- .;__,__ _ -~


...___, '
-- ~~~ .
I
: I
' ' 1' 1+: tI
-o-n·; ~5 r.IL~I il ~··;., ~-,.-,;~ :ie;fif p,·c. ~~
I I :
...:-~+
I ~ !
1--:-+- -:-1--r-
• I O
- .. ,....,.....,__
••• I rìs -- r:;fiii Elt. I
I
p,-;c x:·r:s5 J~- . !
!'
'
'
• >-
PilfG- r~1i1; [)~- -~ I '
~I ILIL ifi. II ,• I ~n
I
••• jf lj i I ; i
! II ! : i . I I
.,.,.
••• .
:: : I I !I I ;
·I·I· I L.-~~ LI I IJ I I

6.13

Proprieta ltals1el S p.A. Le copie originali sono contraddistinte dal retino stampato in rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
18. Quale delle seguenti definizioni è corretta?

MQWllCI ,.;

.....14
t
, .......1 J§.
la
:I
'" M .. o . , •• • M & a a• aa M .. U YJ

' o .• 1. ! II 1i I 1 1 I II III
A.

--1~~ : I I I i - '- ... '- .JJ_L. .. I l 1 i II II I

B. Infatti il campo OPERAIOl-COD non è campo elementare e


quindi non può avere la clausola PICTURE

19. Si descriva il record AUTO composto dai campi:


CILINDRATA (4 caratteri numerici)
CAV-FISCALI (2 caratteri numerici)

TIPO composto dai campi:


FABBRICA (10 caratteri alfanumerici)
MODELLO (10 caratteri alfanumerici)
IMMATRICOLAZIONE (6 caratteri numerici)
PROPRIETARIO (30 caratteri alfanumerici)

-- ----- -·--··- ·
. . • ...' . .. .. ..
a1outaCI

....... ......l
ii
o . .,
I
I"
I

I
i
·:--i- ' iI I
I
; I
I
I
ì
: ! ; ' I
I ! I I
I I
I I

I II
' i I
! '
I

·!'I"
i I
I I

I II Ii
I
I
i'
; I ! ! I i
w "' ju
. II P"i I
I I
i : I
I
! " ,..,
I : ;
I
P:1(: '
I
I
I ! !
I

Ii
I I

I I I
II
I I'
I : I I I I I I
I
1I !
II I I V v
I
i
I
! I I
I II I !

~
I
I I

PIC
'
lT ì'!
I I I
I I ! I I : : I
I 4 v
i I

. p' 1~
PtC ·
! I
I
IiI
I
iI I : I
+i·
I I I I ' I
I I
' I i I I :
: II I I ' I
I
I i . ;" I I P1c:
I ,
I

: I I ! '
!I '
I
I
I I
!I !
I
'"",.,. I
I '

6.14

La cultura è un bene dell'umanità (fantomasping@libero.it)


..."-LSI EL
lGRUPPO
I~
IRI FINSIEL
IFORMAZIONE
Strutture
per revoluzlone

CONCLUSIONI
In questo capitolo si è illustrata la descrizione dei record
nell'ambito della FILE SECTION.

Si noti che la descrizione del record, per standarq


ITALSIEL, deve essere contenuta nella WORKING-STORAGE
SECTION anzfc~é nella FII.E SECTION: in questo caso è
sufficiente descrivere nella FILE SECTION il record a
livello 01 come campo elementare specificando soltanto la
lunghezza totale del record.

6.15

Propneta 11als1el S .p A Le copie originali sono contraddistinte dal retino stampato in rosso Ne è vietata la r1produz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
La cultura è un bene dell'umanità (fantomasping@libero.it)
FORMAZIONE
Strutture
per l'evoluzione

Capitolo 7

•' ..

7.0

Proprieta 11als1el S p A . Le copie ong1nah sono contraddistinte dal retino stampato in rosso Ne é vietala la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


..

La cultura è un bene dell'umanità (fantomasping@libero.it)


l "'l'"ALSIEL I
& I~
GRUPPO IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

DATA DIVISION : WORKING-STORAGE SECTION


Si ricorda che la DATA DIVISION ai compone di due sezioni:
- FILE SBCTION 1

- WORKING-STORAGE SECTION
Nel capitolo precedente sono state illustrate la descrizione
delle caratteristiche esterne degli archivi (periodo FO) e
la descrizione del record che lo oompone.

In questo capitolo sono descritti gli elementi tipici della


WORKING-STORAGE SECTION e il loro utiliz101 in particolare:
- le aree di lavoro
- la descrizione del tracciato dei recoràs
- le costanti

CAMPI INDIPENDENTI

Nella WORKING-STORAGE SECTION, vengono descritti campi


indipendenti e campi composti.
Un oampo _ indipendente è un campo elementare che non
appart~ene . a un campo composto.

-
~!:'~ L :•u• .. .
.. .

•• . .. .. . ..: .. . . I
M
I i i
-

I I i
~
·- .

.. ..
iI
# li± ~ ~~~.

I .
I : I ; ~-- · I I I

~
. , , 11
- --
(;! ISro~ AiGE: Stii:i I ON.
;- ___,-·- -
4--+. . .
-"T" - - ·...--
I I

.. -- ..
-· ~
. '
--- - -- ·-- - -
I
: I I I TT I
I

, i
I

I
li'"'
~

-- -·····
~
I j _I :
i I I • I I I I
- • I
-- ·-
. ,_.. I::~
1 ! 111
-·-
•••••
vx: u. - tlT:
11 I
L --- i
TT 11;' · -
Il I
-:- ~ ~,,
I .
,__
..
1 -:- ~ .
~~!
·- ----·
- ·· -· -- . .
·-
- - ----
' !

AiÌJ ~~l ì : -IT


:1- . --r
I• 1'1.f. : ·w.- ~(
- -~

11 I It D 11 11 I J lJ i j I .. : . I . I

i ~ ·l·I· III~ ~ ' I : !I I I I I ! I : I I i II I I! I I I III1

I due campi dell'esempio sono campi indipendenti.

7.1

Proprieta 1tals1el S p.A. Le copie originali sono contraddistinte dal retino stampato 1n rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Si noti che:
- l'identificativo WORKING-STORAGE SECTION deve iniziare in
margine A
- i campi indipendenti devono essere descritti all'inizio
della WORKING-STORAGE SECTION
- il livello 77 deve essere utilizz•to per, e solo per, la
descrizione di campi indipendenti
- il numero di livello 77 deve essere scritto in margine A,
il nome del campo in margine B J

1. Quali dei seguenti periodi sono corretti?

I , I

f,tJr)~t: I HG ~7:0 .r<. R'./ !>E~'T I Oli.


1

, ~ • I • l I ~ ~ , ; !; ; 1 •

I ! oIo
'f_:f W-.CfJ tfT. I I i I ! ! P 1:'- 'I.I-X
j

c. I I 7 0
ti w~c::ot
I
' Piè: X(3').
I I 41 j,0
; l ' '
1.+
t

___W-HE
_ H._ ___
I I i 6 0
I I I

_. _ _ ,_.,_ . .. - - - -

Nessuno.
In A. il carattere trattino deve unire le parole riservate
WORKING e STORAGE. Un errore di questo tipo non
consente al compilatore di riconoscere la sezione e
pertanto provoca la segnalazione di un grande numero
di errori.
In B. il punto è preceduto da uno spazio
In C. il nome del campo inizia in margine A
In D. il numero di livello 77 è in margine B

7.2

La cultura è un bene dell'umanità (fantomasping@libero.it)


l"T"'ALSI EL I
& I""""
GRUPPO IRI FINSIEL
FORMAZIONE
Strutture
per I°evoluzione

2. Quale delle seguenti descrizioni è corretta e corrisponde


ad un dato indipendente:

' 1" .' ~.1 ·. W-[)tP.


. . I
A. 1I1 O
I :
' • o "I:'f I ~-DI P- kE. 't PIC. ;()(.
' • o ~3· : W-LD t>-DI p p I C. ~d 4).
' • o I

&. , o o
W'-lO
. I
tff • P1 e 9( s) .
' I ! I ;
' ' o I ' I I I i :
c. , I·!• ~1. W-AR T,. . . i
J 1•10 p53 W-A~T-CoD . p 1e x)<x.
l
~3. f#- Rfl T,-DE $c.R,
fl IO P I C. X( -i fl) .
• O G

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

B.
La descrizione A. è errata in quanto W- DIP-KEY appartiene ad
un campo composto
In C. non esistono dati indipendenti

3. Quale è il numero di livello cor~i•pondente ad un dato


indipendente:
A. 01

B. 77

c. 02

B.

Si è detto che nella WORKING-STORAGE SECTION si descrivono


dat:i· indipendenti e dati composti. I dati indipendenti
devono precedere i dati composti.

7.3

Proprietà Jtals1el S p A Le copie onginal1 sono contraddistinte dal retino stampato in rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
4. Il seguente esempio è corretto?

. , . • u.' .
llQUEHCE

flJAQO llUUAl

I'I r
;;
o

" •• 20 ,.
"
,, ,. .., .. .. ., .. 00 .. .
:
,,

. . .
I I
0 10
! ' . . : I I
: I
i o o
'#J,l?.'I.. I N6,-
I
$ToR ,..G.E. sfl:'.r I ~rl •
I
'
; i
o I e •o
I
I
I ! I

'.f.·~
' • I ' I
I o • Io .. 'W'- 1,., o. I
Pie.. ~9 .
ru.
I I

' OI O
W-lilI Btio .. I
I
:
I t
/53 f.11-L I B{20 - sr
1 Io
: f> I e X.)(•
' L;o P.?J. W·L.1 6R.'D- >l.~A~
I
f> IL i)(;<,X.
. • o iJ w,-co'ffT : :
1
I '
I
PJL 999.
I
~l! j o
· -·- - - ---

No: il secondo livello 77 deve essere scritto prima del


livello 01

Si ricordi che è necessario raggruppare i dati elementari in


un dato composto quando anche l'insieme dei dati stessi deve
essere richiamato.

Si supponga di definire nel modo seguente i tre campi


W-REP, W-COD-IMP e W-CAT

I
, oto
I I
I

1 1IO

, 4 'o ~t
I
W·~E p f l l ~(4).
w-Lc p- 1HP
~;
' 6 10
.. f> I C )(X"•
, • o \tl-(,f', I p I c. ~K·
~ ' o o

I tre campi possono essere richiamati solo singolarmente.


Con la descrizione che segue si definisce anche il campo
composto W-IMP mediante cui è possibile richiamare i tre
campi contemporaneamente.

' , o
' .
:> ' .o
Ptc X(4).
' • o Ptc xx
• o •
Ptc X •

7.4

La cultura è un bene dell'umanità (fantomasping@libero.it)


"'PALSI
lGRUPPO
I "'""
IRI FINSIEL
EL I
FORMAZIONE
Strutture
per l'evoluzione

5. Quale delle seguenti descrizioni è corretta?

.o!,I•o u. .. ..
HOUtNCl ~
z
o
IPAQ() ISDIAL
, ' I
,. ,. 40
•• ., •o ••
1 1 I 12
" 20

I !
21 12
"
'
!I
A. I I
!
O • IO
i
o.g o
ti: ~~.e.o t> !
I I

!
I
I

i
:
!
I P.I C. 9'( 5"' .
i !
&. o Ie o
61 w-c...o I> I PIC 9(5~ .
1: o o

Entrambe: un dato indipendente può essere descritto anche


con il numero di livello 01

6. Quali descrizioni sono errate?


-1- ·~ .

' ; Il'' 0 .: I '. I•


1 • • •
I ' Io oR..1<1 N(;· s ro Gt St:c. I l>ll.
ti 6 o
I
!
A. I I I n ·~
w-.c.. ! PI c. xt-r). ' '
B. , I oI: o 'f.'+ w- c. '

""I> Pie. ( 4) . I

!
c. ' "'!o ~1 w-~ HPO I
" '
f? re
' •·o
1
I
I 6 0
I
~':I
.':f.1
I
-T( HPO· ,..,, ' I

D. I
' • 10 'i- ~-.1 rt l> IC
J ! o;n "

AAAAAAAAAAAAAAAAAAAAAAAAAAAAA

C. Il livello 77 è utilizzabile solo per i campi


indipendenti

7. Quali numeri di livello si devono associare a W-TEMPO-MM,


W-TEMPO-SS, W-IND affinché la WORKING-STORAGE SECTION
definita nel blocco precedente sia corretta?

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

°Ì' jo ' I :
wo.i~t :~ù.:- ST.oR. lt6-F:,
:
' ' '
o ! ' !o
~Ec..T 1,0 ,.1,.
o I~ , 1o ' ' I : I
I

I 0
1
• Io
I

rr . w-.e-.o o
I
'
I I PIC:.. xf4.)
.
I

I
I ; 0 10

!o <1i
'f.'i.
">J.1-.C'.O HO O.o
!i
I I
:
p IC. ~(q.)
I ! 1 W -T,é 11 P.O . I ' I
: :
I • I o 113 ' W-TE fipo '- 11'~ '
I
PIC ~9 .
I

'. ~3 : it-.TE HPo- ss


I
I: 6 10 I :
I Pie 9B.
'
I j I jo 'b1 ~-. lf-, e : I
P1c <j9.
1 o 1o
'--~

7.5

Proprieta ltals1el S.p A . Le copie originali sono contradd1st1nte dal retino stampato 1n rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
INIZIALIZZAZIONE DI CAMPI E DEFINIZIONE DI COSTANTI

Generalmente si descrive come campo indipendente un campo di


comodo che viene utilizzato durante l'esecuzione del
programma per memorizzare, ad esempio, il valore assunto da
un certo campo del record, il ribultato di operazioni
aritmetiche, ecc

Tali campi spesso, al fine di ottenere risultati validi,


devono essere impostati a spazio o a zero all'inizio
del programma.

La clausola
VALUE IS costante ·

consente di assegnare un valore iniziale ai campi della


WORKING-STORAGE SECTION.

Si consideri la seguente WORKING-STORAGE SECTION

, ' :o '
: ! I

a·~K. 1tii_- 5,To (+<;€ st::c,


i :.:!: I I
I
1.0 .l<f
;
'
I

' 1 10 tv-TO T P1L g(~) 'vl+L Vé E. (lo E


I : !
J 10 I 0 \ti' - ttO H~ . i ' ;
Pie. x( -13 ).
I '
w-.r:1 TOl-o pie. x{-tl) ~ LVC:
' ' o
l :' J o
1
o i i ' .Hov 1.HEH 1 I I
'
S.E I #fM/ LI
I
.
J 1
- - ·-- --- ·----

Al campo W-TOT viene assegnato il valore iniziale zero con


la costante figurativa ZEROES.

Tale campo, che durante l'elaborazione è destinato a


memorizzare totalizzazioni via via calcolate, viene
all'inizio azzerato.

Il cam~o W-NOME, cui non è associata la clausola VALUE,


assumera all'inizio dell'elaborazione un valore
imprevedibile. Con la sua descrizione infatti il compilatore
riserva solo un'area di memoria di 13 caratteri, ma non
assegna un valore al campo.

La clausola VALUE consente perciò di definire nella WORKING-


STORAGE SECTION anche le costanti.

Al campo W-TITOLO è assegnato il valore iniziale MOVIMENTI


SETTIMANALI che rimane costante per tutta la durata del
programma a meno che non sia il programma stesso a variarlo.

7.6

La cultura è un bene dell'umanità (fantomasping@libero.it)


l...."'LSIEL I
& ,.....,.
GRUPPO IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

8. Quale definizione è corretta?

1
ltOUIHCf

tf'AOll tlUUAL
J 4
A
t 1 I
~
z
8 .
12 .. lO ,. . Jl H •o .. •• 12 .. IO •• . l2

I: •JT I I I I
A o I· 1o 10H. ' I '
' I I ; I
p'I<..
i•! 0
I LV i
o
o t • 1o l :é.P1 o~ I \J Jfé . !
I
I
I
'iolo i
!
B. ,I 1 I o 1;0.N.•
'I' I• .. ' f> I e LU
I 1 I
.
!
6 0
I
l iEit L..O.~ft T1v !{E
,.' !o . . .
C. I 7 o'. o 'O~k l NG - ::. To li6E
,''
. 'io ti . w-.~1 iot..o PIL (3~
' .•!o ap R-o ~l E.PI L.06A irvo ttO< ~IL •
'1 . 1o

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A. e B. La descrizione C. non è esatta poiché manca la


clausola VALUE

....

Come qualunque descrizione· di record, le righe di stampa


possono essere descritte nella WORKING-STORAGE ed essere
quindi trasferite col comando di scrittura nel record di
stampa definito nella FILE SECTION.

7.7
Propneta 1tals1el S p.A .. Le copie ong1nalt sono contradd1st1nte dal retino stampato in rosso Ne e vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Si esamini il tabulato seguente:

10 CODICE 12 NOME 26 ETA' Il


0211 BIANCHI 11
0024 CONTI 18
0001 MARINI 54

L'esempio seguente contiene la descrizione della riga di


intestazione e di dettaglio e i relativi comandi di
scrittura:

t
e1ouu111c1
IPAOl l 1811UAL
• e
.e
~

l
4
I ..
I \ oI , lo
• I I
~ ! • io
; ', I !. I 0
; I
o l • lo

. : 'l·1
'o
·I'1°
'i. fo
' !. 10

'
• 1•
'
"o 1
0

) I )
' 'lo
t \ :
I
, ,• Io
I
'
i
I
I
I .j I

>:alo
) j •
I

1o
l i
I
I '
i I
I ;
I
) "H O

> , 'o iiII


'
.11 I! ';,
> I 4 IO
I

I:I II !
, • 'o
I
l'.:
' I
o
I
• ' O ' O
' ' '

,
'
I ' ! l'

I ...'
:
I'! • lo
!
p~~o«~ e·P v: E :DI
I
V I •:> I O'H • '
I

. : i "
' .'
' o •to
I

: I
' o. •' o
' ... :
Mif A! F~o ~. )ES TA I
• J

! t '
;

' ;
I !' . ' I I '

' '
' • .u AHf M f ~H \v R.lvA.
' • o

7.8

La cultura è un bene dell'umanità (fantomasping@libero.it)


...."'LSIEL I
& lGRUPPO
I~
IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

9. Nell'esempio il record di stampa è definito nella FILE


SECTION come campo elementare di 133 caratteri, mentre in
effetti è descritto nella ••••

WORKING- STORAGE SECTION

Sono stati descritti con la clausola VALUE tutti i campi


elementari destinati a mantenere costante il valore
assegnatogli con la clausola stessa. Alcuni tra questi non
hanno un nome e sono stati definiti FILLER: non saranno
infatti mai richiamati durante l'esecuzione del programma.

10. Quali campi di W-TESTATA possono essere richiamati?

W-TESTATA-1 W-TESTATA-2 W-TESTATA~ 3


··. ·..
e W-TESTATA-ACC

11. Il campo W-TESTATA-ACC può essere definito nel modo


seguente?

I I
.j

>vA-LIl~ :' I I •. I t : ·t
I ;-!
I

I
' I
I
I i i I

No, il carattere (apice) delimita una costante non


numerica e pertanto non può farne parte

7.9
Propneta ltals1el S.p.A . Le copie orig1nal1 sono contradd1st1nte dal retino stampato 1n rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


12. Quale dei seguenti esempi è errato?

---
. .. ., •• ••
..
I I I
I
... I'
I
:
'
I
I
i
: I

I
: I
I '
:'
i
i
I
I
I
I
II
: ' ' : '
I I
' ; I
i ' I
.. I' !
I
I
I I
!
:
I
i I :

..' .
I
'
I
! '
I'
: I I
I I I
'
' ; I' : '
' '
I
I
..
I I I

'
I
'
I

I '!. ,.
I

:. ' I "
I
I

I
''
!
I
I
I
~
'

i I
.I ! ! i I I
'

. I
I

I'
I I
: :
i I I : ' I
1 I ... I
I j i ' I I I I
I ' :
c. :i~ r: '' I
'
I
:
'

t'·
I : I
' I I
I
.. .
!
I : I
'
I
I
i
' '
'
" I • "'
i j
' 'I
I' I I I ! : I
I I
I!I I

' ! r·
•:"'"' J..1I '
' ' I I i i
: ! I
I

' : I
II
II I

II
I

I
II I
II I
I
I

c. Nella FILE SECTION la clausola VALUE può eaaere


utilizzata solo per asaegnare un valore ad un nome di
condizione associato ad un campo (livello ti) e non per
assegnare un valore ad un campo (riga 002430)

13. Si scrivano i periodi di WORKING-STORAGE SECTION


necessari per ottenere la seguente intestazione.
I numeri rappresentano dei caratteri apazio.

DARE AVERE SALDO

7.10

La cultura è un bene dell'umanità (fantomasping@libero.it)


...ALSIEL I
& lGRUPPO
I~
IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

; I ' ! ' ìI i-r--·


. I I :
-
: I II : : ' --- -
I ':·1.. : I I I
II II I !I i I I
I
i
I
; I
! I

I
:
'
:
I I
I
If iI '' I
I

I'
'
I
:
: I i
!
'
, j" t"
•... i ' II ;
I
IiI
i '
i Ii
' I
:
:
I I i
I' I !I
I
, ' I : I
I I
I I ' i I : ! : ' I :
'
I
o Iv
: ! :
I ' !
I i I
I i III I I '· I : I
I: I i I :
I
I
I I :

.. , ".
I I '
:
I
i
I
' ' I
Ii I II I
I

[
: I'
I I : : I : I
I ' ! : I
'
: : : :

' . .. ,.. ! i I
: i I I
I
I
I I
I
I
' i ;
: : I : I I '
'
'
... :. : ' I I ! I
:
:
I I
; I
:
I :
I
I
: I
' I '
:
I

I
I '
'
'
I
_J ' " ' " ! : i ' I
I i I I II I
I I i
! i I ' I
' j '
I
. ... ... I !
: I'
I I
I
I
i ! I
I i I
i
! :

I
I .I
I iI I l I'. ! '
: ' ; i ! II
I II I
! : I ' :

I I ì I
I I . I
' ' ! I I I ' I
: I
I
I i
I
I
I : I I I : I
I '
I !
I i !
I
I i i
I' I'
I

i'
I I
Ii
I
! I I II I I
I
'' i ! ' I
I i !
I i ! I
' ! i '

! 1··.- : '
, 1. 1.. i , I I I
. ' I
.1·
J ~ '' i I
:I
. ' .,
I I • ; / 1 I I I
, :• I.. I ' ,

I I I .. I
,iI
I
i , ·;
' I
I : I
; I
I
I ' I • • I
I
, .....
I •
!.. .:. ! .
I :
' .f" Ii " .
.! ·'~
'
. 1-i· .
',.:.
• . 1·'
11 I . : : I
I I·.· _. •
I
t: u ' .. I !
I
1. .
: l·'. •• • , I
'

I .
i ..
' I
i I
1 ' 1 I

14. Si . .-.s crivano i periodi di WORKING-STORAGE SECTION


necé~sari per descrivere le righe di intestazione e di
dettaglio seguenti. I numeri rappresuntano caratteri spazio

NOME li INDIRIZZO il SALDO li


nome li indirizzo li saldo ll
30 AN 40 AN 10 AN

7.11

Proprietà ltalsiel S.p.A .. Le copie originali sono contradd1st1nte dal retino stampato 1n rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
MOUl•CI ..

ftl'Mlt ~MAIAI.
t
"3 A ' &
M liO M Il l'J

I'
1 -. C 1 I ,-. Il l'O IC H U - .. M 41

I I!
!:I: i : ! ; l i i ·' ! I I I l i i i ! ; ; ! j : i i ! i I i i ! i : f ! I i 1 1 1 ' I 1 I I
: I : Il !, 1
l ! I 1 ·1'
i I,':,' \;! : i .I II ii II II I
I I: 1·

: l : i:: ! l j : 11 iiI I 1I · :, iI, i Ij i I


; i i, ;. +. 1',

>I .I! I II I: lI I' I I I I I I ; i I . I I: ;: Ii l1' I I '


I, I! ,i .
1
' I! ,i

I
1 1' 1;, ,i ,i;' I! ·I·: ';: ,i::!,·,

11 !
:
I! I
I :

I ! I i ! I: ..' I . I I II I ; i I i
I I • I . I 1 I: ,'

;! i :
I • l

I
'
I
' 1. 1.
i . : ' I
I I,. I ,· . •
I ;
' : ' I 1' 1' : 1
'1

I I
1'
!,
I
Il I

! I I I I I : ! . 1 I·'
I 1·.

i i i ! I j iI , !! ;i

i I i ! i j I ,i:! ~!i i : i i i 1,: I i ,. Ii


i. • . I I • • I I I I :! 1 1
I,i II ii ::
i! i: l ,il
V:
1
1 .
'.i
I
11

:I :; I. :'
,! ,i, 1' I 1· I! I
li ,i
i~ ! i I l i i !;
'1! I

'. ! ,1' , I o ,: . i ' I I 1'


1

1 l, I,

; ~ !i
i i :l:I: I ! : ! ! ! i I ' . i ,: i i ! i I ! ! : 1 j l 1 I1 I I j
1
1
I ' ' 1.

11 ! I i i I l :i l i
I '.I: ·,'

! : :!:1: I i I I 11 I I ! I i I! I I I ii
II ~
1' I! I
l
I 1 '1 I :' 1· !I :! ;i :I
I
I .

:;:l,J)
1 I' , ,. II ,i Ii 1

1
1 1
' :I 1' 1!

'
·'

I
!I ,.~
1 I
I

I! II i l;;! ;I II
11

I 111 i Il I 1 1 JlI::, 1
I

, ! I : ,·
'
i I ' I i .I
I
I 1' ,i
I
,
I I I 1 1. I I
'. • • o I, • i : I I I ·' I I I I I I I I • I I i !' I I I ! :I;.
Ii I '111 ':· i ! I i
I I
I, il: : I I

i 11 i ! i! i!
1

: i
! I
!I I ! i i 11 11 ' I 111 I l l 11 i I: I ' i I' ! '· I ··.

,, .... ·" ..•., ... .. _... ,.. '"'"


I I 0 1 t 0
~
. I
I

l1•I•-
1

i.' iiI •I'.,• o • o


l ! I
; i .!•!°
' . 11); 0
i
I • • 10
I
• I I I
I;• IO
I I
I ' 1 11
, , I 1
, o Io
I '
>:, I o
; 1
, • 'o
, I :
' >: • +o

. ,:·I·
. : ·'·1
' ' . · J '' •
• t 1 t
• •
. .
J ••
1
J ,. • •
I •

' I
1:•I•
. . • ~ o~ o

15. E' possibile specificare nella FILE SECTION la clausola


VALUE?

Solo per i nomi di condizione

7.12

La cultura è un bene dell'umanità (fantomasping@libero.it)


ITALSI EL ~?,~~u~!IONE
GRUPPO IRI FINSIEL ·
I
per l"evoluz1one
6. La descrizione di records viene fatta:
A. nella FILE SECTION
B. nella WORKING-STORAGE SECTION

A. e B. (In ITALSIEL lo standard è w- S.)

17. I dati indipendenti:


A. devono precedere tutte le eventuali descrizioni di
records
B. possono essere scritti anche dopo una descrizione di
record

Tutte (numeriche, non numeriche e figurative)

19. Quali numeri di liveilo p6ssono essere utilizzati nella


WORKING-STORAGE SECTION?
A. 01 + 49, 88

B. 01 + 49, 77, 88

B.

20. Quali numeri di livello debbono essere scritti in


margine A?
A. 01 t 49 e 77

B. 01 e 77

B. Tutti gli altri numeri di livello possono essere scritti


in margine A o in margine B

7.13

Le copie originali sono contradd1s11nte dal retino stampato in rosso . Ne e vietata la riproduzione
Propneta 1tals1el S p A
La cultura è un bene dell'umanità (fantomasping@libero.it)
Si noti che :

- i campi d i livello 01 definiti in WORKING-STORAGE SECTION


non vengono allineati al byte, bensì alla doppia voce (con
indirizzo multiplo di 8). Pertanto per ridurre
l ' occupaz i one di memoria, è consigliabile definire i campi
elementar i e indipendenti a livello 77 e non 01
- è consigl iabile definire le costanti in WORKING-STORAGE
SECTION p i uttosto che, in modo immediato , nella PROCEDURE
DIVISION.

7.14

La cultura è un bene dell'umanità (fantomasping@libero.it)


l...
I~
"'LSIEL
GRUPPO IRI FINSIEL
I FORMAZIONE
Strullure
per l'evoluzione

Capitolo 8

a.o

Propneta ltals1el S.p.A Le copie ong1nall sono contradd1s11nte dal retino stampato 1n rosso. Ne è vietata la qproduz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
La cultura è un bene dell'umanità (fantomasping@libero.it)
...ALSI EL
lGRUPPO
I~
I FORMAZIONE
Strutture
IRI FINSIEL per l'evoluzione

ENVIRONMENT DIVISION

Pur essendo il COBOL un linguaggio svincolato dalla


macchina, in alcune parti del programma occorre descrivere
l'ambiente in cui il programma stesso deve operare: ad
esempio, le unità di Input/ Output su cui risiedono gli
archivi da elaborare, ecc.

L'ENVIRONMENT DIVISION è la divisione in cui si specifica


l'ambiente in cui il programma opera.
Il presente capitolo si limita a descrivere le parti
dell'ENVIRONMENT DIVISION che sono utili ai fini della
documentazione del programma e quelle che sono obbligatorie
in tutti i programmi che elaborano archivi.

L'ENVIRONMENT DIVISION segue immediatamente la


IDENTIFICATION DIVISION e si compone di due sezioni:
- CONFIGURATION SECTION

permette di associare nomi mnemon1c1, creati dal


programmatore, a particolari car.atteristiche hardware e
software del sistema;

INPUT-OUTPUT SECTI~
· è presente se il programma prevede il trattamento di
archivi, manca se il programma non elabora archivi .

CONFIGURATION SECTION
Il formato ·della sezione è il seguente:
CONFIGURATION SECTION

(SPECIAL NAMES (clausole))

Paragrafo SPECIAL-NAMES

La scrittura del paragrafo SPECIAL NAMES e delle sue


clausole dipende dalla presenza in altra parte del programma
di particolari opzioni che richiedono tali clausole.
Pertanto il significato e l'utilizzo delle clausole che
possono essere indicate in tale paragrafo saranno illustrate
là dove queste sono richieste (vedi capitoli 16 e 19).

8.1
Propr•eta ltalsiel s p.A Le copie originali sono contradd1st1nte dal retino stampato in rosso . Ne e vietata 1a riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
1. Quale dei due identificativi di sezione è scritto in modo
corretto?
z
1
SlOUfNCI

tPAOU tllllUAL
J 4 I
oU
l
A
I

I
I

" I
11 20

I
21
•• •• •• •• .. IO .. .
;o::f·:u ty5F ~~ •~: ·: ,
• , , , , • , • , , , I ' I

• f 1 t Al,1: .
' I o. •!o
I
1 1 ' '
0 e I 0
IHPVT o.vr.~ ~1 ~é!C~IO~.
I Io o I :
L.-;..--L....;__,_.__~~--'-'- .........-'-~--'~'-'-"--~-'- -· j

Nessuno

2. Si scrivano ora i due identificativi in modo corretto

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

"
' , ' ,O ~ ' , ; ' : ! I ! ~ ( ; ' ! --~
' ' --
'. '
·1' ·!• C.,O,H,F1r;ul.RfloH :~ CTJIP ~ .
:l 1 6 'o . ! ' I ! I f
I '

I I ·i·l1° l~'.P :ur :- :o!u :P~T : s~ ~ IP :.: : .. !


'l 0
.
0
- ~:_ __ _ • ' _; I • I II : '_i

3. La ENVIRONMENT DIVISION si compone di due sezioni: la


CONFIGURATION SECTION e la .••

AAAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAA

INPUT-OUTPUT SECTION

La CONFIGURATION SECTIOll DOft' è otilili.gatoria in un programma·

8.2

La cultura è un bene dell'umanità (fantomasping@libero.it)


.... ALSIEL I
& lGRUPPO FORMAZIONE
I "'""' Strutture
IRI FINSIEL per I 'evoluzoone

L'INPUT-OUTPUT SECTION prevede il paragrafo FILE-CONTROL,


nel quale si indica per ogni archivio elaborato dal
programma: _

l'unità simbolica su cui risiede

· il tipo di organizzazione dell'archivio (sequenziale,


direct, VSAM)

• il tipo di elaborazione dell'archivio (sequenziale,


random, o dinamico per il VSAM)

Il paragrafo FILE-CONTROL contiene un periodo per ogni


archivio elaborato dal programma. Tale periodo è formato da
una o più clausole e:

- contiene sempre la clausola SELECT

contiene altre clausole (descritte nei capitoli


successivi) solo se l'organizzazione dell'archivio non è
sequenziale.

In questo capitolo si esamina" il pa.'r.a g:r afo FILE-CONTROL e la


sola clausola SELECT.

La clausola SELECT

Il formato è "ii. ·s eguente

SELECT nome di archivio ASSIGN TO nome esterno

Mediante questa clausola si stabilisce una corrispondenza


tra il nome dell'archivio elaborato dal programma e il nome
esterno con cui il file sarà noto al linguaggio di controllo
(JCL).
Le regole da seguire nella scrittura del nome esterno
variano fortemente da una casa costruttrice all'altra, e
dipendono anche dal sistema operativo.

Qui ci si limiterà a esporre le regole richieste dal sistema


operativo OS/MVS della Società IBM.

8.3

Propneta ltalsiel S.p.A .. Le copie ong1nal1 sono contradd1st1n te dal retino stampato 1n rosso Ne è vietata la rip roduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Supponiamo che un programma elabori due archivi, TRANS su
disco e STAMPA su stampante. La codifica del paragrafo
FILE-CONTROL è la seguente:

' • o l:. l'f.V I flo.MH E'l-fT. D I V I ~. I OH •.


I I I 1 I
. . I . I
, Io . o I N PVì - OIJ P t t) ~
1
, ' o FI .lf-:cb~ R.O
3 ~ 41o . I

'" 1· • I SEL1ELT RA
I I
) • o
.
.. . I.
STAHPR . 1 -STAMPA

Il nome esterno della clausola SELECT ha la struttura


seguente

Classe (-dispositivo) - organizzazione - nome DO

· classe
Le unità di I/O si suddividono in tre classi che sono
rispetti vamente indicate con

- UR (Unit Record) stampanti (e' ammesso anche UT)


- UT (Util ity) unità magnetiche (nastri e dischi) con
registrazione sequenziale
- DA (Direct Access): dischi magnetici

· organizzazione dell'archivio
E ' un campo di un carattere che in corrispondenza
dell'organizzazione dell'archivio, può assumere i valori
- S (sequenziale)
- o (direct )
· nome OD
E' il nome (da 1 a 8 caratteri alfabetici o numerici, di
cui il p r imo alfabetico) della scheda DO dell'archivio,
con la q uale si precisa, tra l'altro, la effettiva unità
per i ferica assegnata all'archivio.

8.4
,,
La cultura è un bene dell'umanità (fantomasping@libero.it)
...ftLSI EL
lGRUPPO I~
IRI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzione

4. Con riferimento all'esempio precedente, si determini la


classe dell'unità, il tipo di organizzazione e il nome
DD degli archivi TRANS e STAMPA.

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

TRANS : classe dischi magnetici, organizzazione sequen-


ziale, nome DD TRANS

STAMPA: classe UR che comprende la stampante, organiz-


zazione sequenziale, nome DD STAMPA

Si noti che:

- dev'essere scritta una clausola SELECT per ogni file


aescritto nella FILE-SECTION del programma

- la clausola SELECT non specifica se l'archivio è elaborato


in input o in output
- la clausola SELECT inizia in m~.rgine . B

5. Il seguente esempio è corret·t o?

I!1 °J'~ 0 EltN. 1 '.~W~~~NT it:l·, f .Vl ~ :. " ,c::tl. -. . , ! .


: oI" o I : ~ . ! I. !

:; +
I + I ' t I

0
• -1~f v.~-:~ ~ fl.P,l)r ;s:rc: ~ 1!o:N.; . : . ! i
I
I
I

i i,
0
1• ,
0
j . :: I:t I . .: : I i I :
: I
• 0 10
I :
r-.ILE
. .· .
-co11rfi..o1..
I . ' .
I..
. !; .
1 1. o I

1 .. ~o 5 HECT HOV ' l :


AS.S_l GH. TO uT- '.) -HoV I 11 i Hn .
' • o
1
'
'o
l!I ! : ; · ·sE·L :E ci ~I PfK>'. -:1 ~·s:s 1 GH : To UT- s-3.:. fl 1PPo ..
' oto
7 1 1 I0
.
i
I
St.Lt:L7; ~lfH1PA ASSIU/ . 'ro IJR,-~ - 5T!t H PA'-K.
' • o
------
' ·-

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

No. I tre nomi DD sono errati

8.5

Proprietà ltalstel S.p .A .. Le copte ong1nal1 sono contradd1st1nte dal retino stampato 1n rosso. Ne è vietata la qproduz1one

La cultura è un bene dell'umanità (fantomasping@libero.it)


6. Si scriva l'ENVIRONMENT DIVISION e la FILE SECTION di un
programma che elabora in output l'archivio su stampante
STAMPA con nome DD STAMPA, e in input l'archivio su disco
MASTER con nome DD MASTER. L'archivio MASTER:
- ha organizzazione sequenziale
- etichette standard
- fattore di bloccaggio 40
- record a lunghezza fissa di 240 caratteri

. . . .
llOUU•CI •

~"·••! lt:'"'"': ~ : ...


:o
•• 10 H » M ~ •• 12 ... .. ti

l I :;:i: i , . I !
I ! : l I
I I i I I
i! I Il I I i' I ':
II: I i i ii I'
1 I I :

. I °!" •
o,· o . ! I i I :I l: II I ! I 1
1 1
I
I Ij 1 i!:j
I ~1
I I I 1 II
"oo I i , i i
I I I
1,
I I ' :
I
Ii 'i'' • l I I ' II 'I I I
I

I
I
' !
'1 :

'
I
l. ., II
I

1
I II ii !i I ..I .I ;
I
:
I

I ; ..
I

i iI !
o 1 : :
1
! : ! I' 11 ; !
I '. ! ~ :
o

!i Ii :! ' !'
I I
; 1· . . o '
! I I
I '
II 11 I! i i i ! .j
1
j. I ' ' '

I
' • o
I I , • i . , : I.
I '
' o o ! 1 J I I 1 I ! 11 ! !: I I
i . I
1 I I
:
~
I .
I : 1 I
I

,I
I '
I ' 1' o

'I·'• I i l I i' il !I il i, l! i I
. 1 I!
;,I:
:Ii,
!I II ,, 1•• •o i! 'I ! i I i: '
i!

i : I ; !!: I
!

I·i
• I
l
:

!i
i
I
I . '
'
I . ; :
' .
; I , ••
I i i i:
i ,
I. ·1 . ..
' I
!! II ,, • I
I
! I :I
il
1 1
.•
· I i I
,1

1.I ! ' ! '


· I . :
! I
·,' '1 I I l
. I ;
I 11
. '
11 II : ' .
I;
. i I ..
Ì I I

Il :,:
:j :
I
: I •• •
, • o 1
1
!
I:
II II i i !i ! II
'
!.
' I I
I I ;
iI i I' I
i! 11 l i
i I :
i ' I I
' I : I
I, ;i : !.
I I ; ; I
i, II : !;'
ì ..
I

'
I ' I' I I' I , I

I:
1 I : ' I I I '

lI
I i I I·
I • I I
1 i 1· 1!, I I i' I I
I

:i
I I '

11 :
I I ' I! ! i I I I I 1, 1 I ! I
il 1,
' • •
I
j I
. I
__ _ '" !.. lo ·~liH . .
I

=.,. ... ..,._...

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

8.6

La cultura è un bene dell'umanità (fantomasping@libero.it)


l"'P'ALSI
I """"
EL I FORMAZIONE
Strutture
GRUPPO IRI FINSIEL per l'evoluzione

l~AOll
1
HQUl:NC(

1
llUUAL
4 I

z
8A
1 I
.."' ,. 20 ,. 21 .. •• .. . .. .. •• .. . ,,
, : oI' lo I:: I ;

'
·J ·1• I I I
o'• J o

! o I' 1•
iio
I .
!o
117 t o

,,•:o t-t·~·src:R: ASSI GH: TO vr -S-H ~$TE R. ,


I I6
I
0 STM1PA: : A-55 IGH ro vR -..5- ~ TAHNt .
I 1t 0 I

' 0 I0

' 'I ! :
' I
.. 0

,.... FD tt'tisT~R-
' • .o L.RB.Et... . ·Rr,(;o~c) Sflttil>AR.lh .
3, o ·o
BL o.c'I<, c.p 'tlf ft t fJ.S. (/~ . e/Z.{) ~{)':>.
·H,A,$,1 Efi-1 I : f I(..
I I ! I

.STAH P°A i ' !


J • o LflBE L. R.Ec·o·t< i) s11/\Hll·At;D.
; i
• o 10 ~· : STA~ PA{ :i I PIL x/1 ~3).
; : I l : I I
I I I
i I : I
i

Si noti che la classe di MASTER può essere anche DA.

8.7

Proprietà 1tals1el S p A . Le copie originali sono contradd1st1nte dal retino stampato 1n rosso. Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


La cultura è un bene dell'umanità (fantomasping@libero.it)
ITALSIEL FORMAZIONE
Strutture
per l'evoluzione
GRUPPO IAI FINSI EL

Capitolo 9

9.0

Proprieta ltals1el S p A Le copie originali sono contradd1st1nte dal retino stampato 1n rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
La cultura è un bene dell'umanità (fantomasping@libero.it)
""l'"ALSIEL I
& lGRUPPO
I~
!Al FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

PROCEDURE DIVISION
1. In un programma COBOL, il nome del programma è definito
nella •••
AAAAAAAAAAAAAAAAAAAAAAAAAAAAA

IDENTIFICATION DIVISION

2. Le informazioni generali sugli archivi elaborati sono


contenuti nella •••
AAAAAAAAAAAAAAAAAAAAAAAAAAAAA

ENVIRONMENT DIVISION

3. La descrizione dettagliata dei record e delle aree di


lavoro è contenuta nella •••

AAAAAAAAAAAAAAAAAAAAAAAAAAAAA

DATA DIVISION

La PROCEDURE ,DIVISION è l'ultima delle quattro divisioni di


un prograf91Ua·
Come le altre divisioni, la PROCEDURE DIVISION è formata da
periodi. ·
Mentre ne.ile altre divisioni i periodi sono formati da
identificativi e clausole, nella PROCEDURE DIVISION essi
sono formati da parole COBOL, nomi (di campo, di record, di
file, ecc.) e segni speciali combinati fra loro secondo
precise regole.

PERIODO [ PROPOSIZIONE
[ ISTRUZIONE
NOMI
SEGNI SPECIALI
Le parole COBOL tipiche della PROCEDURE DIVISION sono le
istruzioni (ad esempio: ADD, MOVE, COMPUTE, ecc.). Ogni
proposizione inizia con una istruzione.
Le istruzioni possono essere divise in tre categorie:
- istruzioni imperative: specificano un comando
incondizionato.

9.1

Propnetè. ltalsiel s p.A .. Le copie originali sono contradd1st1nte dal retino stampato 1n rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
.. ..
SfQUlNCl .,;
z

I j
lrAQU flUUAL
J ..

.I +. o
A
• 1 •

·l.' .o
8

11 I
: I
·u

Ii IIi iII IJ'


:

~01·..r
it I
i . ,. l I I - I "w-io:tt:o~o
cio·~ -hild .'
"

w-
20 2• 21

I I !
J2

' I I
•• •• .,
: I I I 1
!
eo

I
'

li
I
••
i !
..

i i
72

:;I
iI II :'
I I

I . I ;
I

I : I

' t•
j '
I I I
I I : ...

I~-
I I :
,.j.l,1 .I I Il\ 1•1 :!; ' ' . l i
'
1
I
;
I I

I i puoi; $~ i
I
.,. o A,H.fl;6 • ! . . I .. I ' J .
: 'o o ' ' • I I . I ' . I : .. I '
I . . : I. .l ~ I ' I
i I I' ,
1
I, • 1, , . :s.T~P : ,
1'

·R.11,., •: ; , 1 : : . . · ,
:

- -'-'-·'-
l·.._
1•..__._-'--'--
1 _ _ __ I ._!_ I l I l ~ _.l_j__~-·~-~-~
I --- - ' !

istruzioni di condizione: esaminano il verificarsi di una


condizione e determinano la via alternativa da seguire,
espressa da una o più proposizioni imperative.

!J 'I'!· I
i !; ·IF
I ' I

I' I . !• 1·
I
I
I
I

I E'GV
i ~- u-in.
'- 'i
'
I
i'
'
' ! I I'
I
!
., \ o o

! ' l ',.
!
I
' I ' '
! I'
:

~-P I R.ov
I
i I I
' i . ! I I I
I I ' ,. o
'
i'F I I
! :
I
I I
i
!I
I 'I'1I•·
'. I
I
I
I
I
!'
!
I
10 .
'
I
ol
I
I -TO I

'
' I ;
I
I ! I

- istruzioni rivolte al compilatore Co pseudoistruzioni):


specificano certe azioni da intraprendere durante la
compilazione, e non intervengono, quindi, durante
l'esecuzione del programma.

"T
I

~o~~ I' f C L_ lf~ .t,11i'


I

, 1., o
I
1 I
I
' . . I · I !
'
'
,.' II .•. :
o I I ' I I' ..
I I '
' , !• ,•
; I
II : I
' i.' : : I
I
I I I I l I i I :
, • o I
' : I' I I
' I

I•
Ii : I
I I
!
! I

I'
I :
• 1° I i

9.2

La cultura è un bene dell'umanità (fantomasping@libero.it)


1-rALSI
I """'
GRUPPO IRI FINSIEL
EL I FORMAZIONE
Strutture
per l'evoluzione

Uno o più periodi possono essere riuniti in un paragrafo,


ottenendo così un gruppo logico compiuto di istruzioni.

L'identificativo di paragrafo (nome di procedura o label) è


definito dal programmatore e precede il primo periodo del
paragrafo stesso.

Più paragrafi possono essere riuniti in sezioni.

A differenza delle altre divisioni, tuttavia, nella


PROCEDURE DIVISION l'organizzazione in sezioni non è
obbligatoria ed è richiesta solo se vengono utilizzate
particolari opzioni del linguaggio.

Pertanto l'utilizzo della sezione sarà descritto nei


capitoli che trattano tali opzioni.
Il programma viene normalmente eseguito in sequenza, a
partire dalla prima istruzione della PROCEDURE DIVISION.

L'organizzazione in paragrafi consente di a lterare tale


ordine sequenziale mediante l'uso di istruzioni di salto,
che permettono di trasformare la sequenza fisica dei
paragrafi in una sequenza logica. ·

Si osservi il seguente esempio ove sono presenti paragrafi


(o label), periodi, proposizioni ed istruzioni .

I
HQUUfCl

lrAQtl llUUAL
J •
• "'
;
o
.r •
12

fU)_c. ét>_u ~
.. ••
r . ·C I.VIS I !o.H.•
. 21 JJ . .. .. •• 12 .. •• . .. "
~( Tl
0 I
: ' : ''
o • 'o I I i i
. ..
;!'
~L-i{r/-:1 NIZI
-
I
O e IO o.. I
~

'
L~ ?'-to~ :>1'' .... lvt .
o • o
I . n . '-;:
' o o

' , II o
I

OPEH
. '
I >f PVT CLI
.
. . .
òrr1 - I QJ{,- '

·i · ' :• to ' OPE"tt I () IJ 'f~IJT . ~TA H/)li.


I)
I el"t;

' : "'-1
I :
1: e]o I
I

·1 RiAb ~O'(,;) ~~
I

I
' I
1 '. I I O l<._L I EHT I : I IN7C W-- CLI E H1 I A7 E.N o
' 'o o H·ovt: f.! I ~~-V A l..IJE To ~- r~-c LléH TI
, , 10
. '
' • o IF U:--FF -C.LI ~/'(TI HO ir EQUAL Hl IG-"4- V AL.Ve
' • o ~EXT <5E WTDt ~.t:
.I. 1 1 1O USE"
.I
J'
: I
!
o

'i
o
fl
r
UJ
I
tro
I '
'H.L~l
! ..
"!:-:f1.HE.
I
' 1-
- '

HL'.-~z~-1 R-llT- (.LI.


J
'
J i · 1o r
;
: J !e:o . ;
' '
'
H:o:~E
'
J 1 1 IO .5(> l,ftc.€_ ! 1V:O ~- R.J tJ.A •
I
• o 10

!IJ H. o.ve \t'.1- CLIE' iJ.ITI- <:O l)l LI :ro ~-~I G-A-l IODLL. I •
;
I I
I I

9.3

Proprrela ltalsiel s p.A .. Le copie originali sono contraddis\lnte dal retino stampato 1n rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
". .. . .. ..
HOUlNC( ~
z
o
IP'AQ() ISllUAL
1 l •
• 7 • ' 12 ,. 20 Jl
•• •• •• •• 12

'fi.2? IT 0 I •I • ·' I '' .i I' I: .! I ! .' I I I I I

I 0 14 I 0
COH.f'"CiJ~ W- 'SALDb ,:: ;vi/-CL'IEHTl-iQTA fk \.t-Ot[)1f'il-f',R.1J/o/.
I
'

ttoV:t : ~. - ~ 11' coo'. ! 1 ~ : ix -.R.1 ~~ - SAL·P·o.


1
I
•I• o
fl i 0 I ;
0 I

: '
'1 I I
' o o I '

w~1 'r t: ·s i-11/.fPii·{ FR-011


'
' ' o W- RI Crt.,
'
'i 6:o
.'· '' . 'A.FTc
.
R. . .A O. JJ'JH
I
e I H6 i LI~ ES .

I
' •o fl.fl\.t C.L ltHT/ 1HT0 ; W-C..LIEHTI -AT E/.40
7 o o · · ffo.ve H1'f>..H- VltLIJE 'TO ~- Ff-- c.<..1 EH TI .
, o . I • '

I ,'o . lf
1

't"- FF-C<..1~1<°i1 Hlr .E.'all,)AL


,•o c;.o ~o fH:-;z~-TRftT- ~L I .
, •o I I

. .\
J o 'o HL.-~~-F I NF: .
3 1' lo
l i•
:
o cL'osr· C.Ll cHT'il •
•I•
. 'i o : I
I
C.LOS E ~ TAHPft.
, , 1o I I i

.I
'
o'o
I

.. 17 I :
I

' l
-

9.4

La cultura è un bene dell'umanità (fantomasping@libero.it)


...."'LSI EL
lGRUPPO
I~
I FORMAZIONE
Strulture
IAI FINSI EL per l'evoluZoone

Dopo l'esecuzione dell'istruzione GOTO della r i ga 020260 il


controllo viene ceduto alla prima proposizione del paragrafo
ML-020-TRAT-CLI (riga 019340).

Si noti che, nella PROCEDURE DIVISION:


- gli identificativi di sezione e di paragrafo devono essere
allineati in margine A
- le proposizioni devono essere allineate in ma r gine B
- la prima proposizione di un paragrafo è bene non inizi
sulla stessa riga dell'identificativo
- l'identificativo di sezione è formato da un nome (nome di
procedura) e dalla parola riservata SECTION
- l'identificativo di sezioQe deve essere seguito da un
identificativo di paragrafo
gli identificativi di paragrafo ' devono essere unici
nell'ambito della PROCEDURE DIVISION, a meno che il
programma sia organizzato in se.zioni
- un paragrafo può essere formato dal solo identificativo di
paragrafo.
Al fine di rendere più chiaro il testo del programma e
facilitare le eventuali modifiche al programma stesso si
consiglia di:
- non scrivere più proposizioni sulla stessa r i ga
- non spezzare parole, costanti né proposizioni su p i ù righe
- definire nomi di procedura significativi
introdurre commenti (* in colonna 7) espl icativi ogni
volta che non sono evidenti le funzion i svolte nel
paragrafo.

4. Quanti paragrafi compongono le PROCEDURE DIVISION


dell'esempio precedente?
A. 3

B. O

c. l

A.

9.5
Propr·eta ltalsiel s p.A. Le copie originali sono contradd1st1nte dal retino stampato in rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
5. Del seguente paragrafo, si indichino il nome di
procedura, il numero dei periodi, il numero delle
proposizioni, il numero delle istruzioni.

I
HOUlNC(

IP'AGU CIUUAL
J 4 •
~
z
81 AI I
12 20

l
.. JZ H .. •• t2 . •• •• •• l'J

! I' 1· ' I
J ' 1' I I I I I

•· I I
I o
l l ·1· .,.
i , .

L -'"'6"' - 1 I H1 l I o-:T:
I . I

AT
-l o
.
'
'
' 1'
I!
.1. i i V' .V' I I • i ' Ii : I
o
iI
· :
l
I I , •1.
+i· I
1
!
ry:H.ov' .: U'.1-ot'f- I'!
''.'f\l'<" 'pl'D
i
'
'I

I
I
,
I ..

:
, .
;
'
1
' .
1
-r,o
I

\V- I

t i
l
I

! ,I'!.
I
I U'l dPf'i-
. . (?.6P
I . To I
I
I'
'
'
' • o
I ' . ' l I !I
• i ''I. ·1o
I
fE W- :N~ITO = -oP - T ~T
! I I O
I
I <+
, ! , 'o
' I
'
I
l

' • o LI #€5.
' '
' J• Jo ' :
' • o lti-o Pt ; AT E:UO
I ' 'io.,.
, ' o
'
LUt. f;o 1}1-FF-of>E -OP -llEP. •
:J \ • 1o , I
I I
, i • I•
' ..
~- oo z.
I I , i•j o o 10. ! 1i1 .- T ftT.
I . oio I I

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

ML-060-INIZIO-TRAT, 4 periodi, 6 proposizioni, 8 istruzioni

6. Quali dei seguenti esempi sono errati?

. .. .. .. ..
HOUf HCE ~
z
o
U'AOll ISUIAl I.> A
• ••
1 ) 4 • 1 I
" 11 20 H J1 H IO
"
-- A. o lI o
I K,L-~1 ; .- .1 IH z \ o... ; I
o l ' Io
. I P.E.N 1 .H P.uT
o'. I.

A~ · -~~~-:LE.6& 1 .:
0

8. 0II '0
I I
I jo Io {ltAD ANll AT EHD
!
I ' ' o '.' . i H.OV€ W-H-ANFJb.
I I '. 410
c. ' •o
' •o o -se R.TA •
o o
'
D. ' ' 'o

'.
• 1o
'
o

' i • 1o , I Al-99 -SAL. o-


o o
' i

[. :J ;, ! o
, ..
' I
o
, :6 Io
. I

F. , •'o I

. o'o

9.6

La cultura è un bene dell'umanità (fantomasping@libero.it)


... ALSIEL
l,AUPPO
1""4.
I FORMAZIONE
Strutture
IAI FINSI EL per i ·evoluzione

.. . .
SlQUlNCf ~

..
z
o
1'40f l I SUllllAl e.> A
."
I
20 21 ,, JI •o •• •• ••
, ' '
I
• 1 •


12
"
G.
I
o i'
o I,
: I
'0 pk'o(: "E~litlE ..() I\)1 ~I ! ~H. : J ' , l I
: ' I
.
I
°j' 10
o •
lo ti~- ~~~ -!/
i I .
t/IÌ f 0 •. ! J
'OP [lf . :I h 1'.1/J
! : i: , ; :
'CON TL t. ' '
'
i
I

' Io I o : .RE/Ù) 'co NTL.f ! :I Htro' . ~-'c 'o HrL t AT ·E~IO


:
i I :' 1 lo
I I .. , : t{o~/E i ; Hl ~~-.VIA.l:c/E TP \f/-ff-clolffLE.

H.
' • o
'
1 I
'
.'•
fl O
.H·L-q'.9~ ·-.f, th .:
sror e .t.111.• ,
'
' o o I

I. ' ' o
'
l4'1·-,1p<5/}_LTC . . .
' • o
I
IJ:/R./171e : .s TftHP,,A{ Ff?OH W-TE S7 ATA
' 6 :o I IAF:TtR A'DVAl1C /'NG PR'rs--HllOVA.
I I
' ' 1 10
' I '. I . I

L. , o o
HL:-~3~-~ESl-T~A! .! : I '
, ' .o : JF ~-L'.'.o!-fTL t -cot:> : UP-e.OD
A3- cfi~-'cAk8 1 o
f>Erir'o.RH
I
3I 41 l o
! I
' lrHt 11 A: -·99P -C.M f.>1 o - EX.
>I • IO ~fr:- l3p-1~.~T-lr."A) •· .
' '
) 1 1o
. . . .. ~Ove w-oRo-IGTA. TO, \)'./-~lrA.
I ' ,o o ! : '
I
l II : : : ' ! i ·1 ' I' : ; I
I
I I
I : I : : : i
I
I ' : ' '

B. La proposizione deve iniziare a margine B


D. Il nome di procedura deve iniziare a margine A
E. Il punto non è un carattere ammesso in un nome
I. Manca il punto dopo il nome di procedura
L. Il nome di label deve essere unico in una sezione

9.7

Propr,età 1tals1ef S p.A Le copie ong1naf1 sono contraddistinte dal retino stampato 1n rosso Ne e vietata fa riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
La cultura è un bene dell'umanità (fantomasping@libero.it)
l"'W"ft.LSI
I "'"'
EL I FORMAZIONE
Strutture
GRUPPO IAI FINSIEL per !"evoluzione

Capitolo 10

10.0

Proprietà ltals1el S p A . Le copie originali sono contradd1st1nte dal retino stampato in rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
La cultura è un bene dell'umanità (fantomasping@libero.it)
l....ft.LSIEL
I~
FINSI EL
oAUPPO IAI
I FORMAZIONE
Strutture
per l"evoluzoone

LE ISTRUZIONI DI INPUT/ OUTPUT 1

Gli archivi sono descritti nella DATA DIVISION, associati


alle unità di input/output nella ENVIRONMENT DIVISION ed
elaborati nella PROCEDURE DIVISION.

Gli archivi possono essere elaborati in lettura, scrittura


(creazione) ed aggiornamento (lettura e scrittura) a
seconda del tipo di organizzazione e quindi di supporto.

Nello schema seguente per ogni tipo di supporto sono


indicati i possibili tipi di elaborazione

LETTURA SCRITTURA AGGIORNAMENTO


STAMPA SI'

NASTRO MAGNETICO SI' SI'


DISCO MAGNETICO SI' SI' SI'

Le istruzioni di I/O sono istruzioni di relazione


con l'esterno ed hanno lo scopo di effettuare il
trasferimento delle informaz·.i.oni tra la memoria centrale
dell'elaboratore e le unità esterne, cioè stampanti,
nastri, dischi, ecc.

Le istruzioni di input consentono al programma di ricevere


dall'esterno i dati da elaborare: esse, pertanto,
consistono in operazioni di lettura da nastro magnetico,
da disco, ecc.
Le istruzioni di output consentono invece al programma di
trasferire all'esterno ~ risultati dell'elaborazione:
esse, pertanto, danno luogo ad operazioni di stampa,
oppure di scrittura su disco o nastro magnetico.
Prima di poter leggere (o scrivere) i dati (o i
risultati) relativi ad un file di input· (o output) è
necessario abilitare i files alla lettura (od alla
scrittura).

10.1

Proprietà ltalsiel s p.A. Le copie originali sono contraddistinte dal retino stampato 1n rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
L'istruzione OPEN

L'istruzione OPEN abilita gli archivi all'elaborazione:


input, output o input/output.
L'istruzione esegue il controllo (o la scrittura) delle
etichette se l'archivio ha etichette ed altre funzioni di
input/output.
Il formato dell'istruzione è il seguente

OPEN [INPUT nome archiviol [nome archivio 2 J ••• ]


[OUTPUT nome archivio3 [nome archivio 4] ••• ]
[ILQ nome archivio5 [nome archivio 6] ••• ]
Si specifica INPUT se l'archivio è elaborato in lettura,
OUTPUT in scrittura, I-O in aggiornamento.
I nomi archivio sono nomi di archivio indicati· nel periodo
FD e nella clausola SELECT.

Si consideri l'esempio .che segue&


-· --··--·- -- .. :_

•• u .. ...
: I
..
! i i'
I

I I
I I I' I I'
'
I
I I II
! I I I
i
I
' i I; i
I
I I I i I !I
I
I
I I I
' I I '
I I I i : I

' i
' I !II
I
I I : I
I
Ii II I
I
I
I
I
'
'

! I' I I I 'i I i
I I
I I ; '
I' I
' ; i I I :!
'' I II
I Ii: !
I
I I
!
; I I' I I

Col primo periodo si chiede l'apertura del file CLIENTI in


lettura, con il secondo l'apertura del file STAMPA in scrit-
tura, con il terzo l'apertura del file ORDINI in
aggiornamento. ·
Si può anche scrivere:

. ' • ; 1 11
~1 . -;;:I. - -- -- - -·
~ --· --·- - -· . . -

10.2

La cultura è un bene dell'umanità (fantomasping@libero.it)


..."'LSI EL
lGRUPPO I~
IRI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzione

L'esempio che segue:


' •,o I

i I

IN lii; ~H ~ ·
'l o
,
I
1
l I ()_~EH I
I
I
'
' o o
)
I
110
I

'
OPEH
OfElf
'. IH ~
{)IJ
' "f'T
I
.~
I) I
I
I
j
'{)f. ~l'H
!ST 'ftHM
I l'
I

3qlo I ' OPEH '() (J rf-1»1J1 I ip- f>5PE •

Si può anche scrivere:

•o I ·- -
,' ' II o i :IN iD.IJT
OPf)f AN'*'#l'A
~ () ~DI li
.i I
o o OPEN Ov f P1/i 511+ '•
l/'~o~ IPE
: I !
I I !
I :
I
I I '
.... , ... _. .. -·

1. Quali dei periodi che seguono sono corretti?

.. .. .. . .. ..
SlOUIHC t ~
z
ll'AO[l ISUUAl
J 4
8A • u ••
1 • , • 12
" 10 11 J1 Il 11

A. ~. 1'1° OPE/1 . .IHPY.T. ovT ,Pll.~ : oR_o,1 Ht .•


0
I ~ I I
, ; I ,
I ()i ' ;o I
r. ~ ! .~
t • •• • t

B. I I i J ', ' • , . i ·" ' . ·.


1
1 o: alo . o\.ITPo ,1 1 ;5f /tH.P:f3; .. ... ; I

O, I io . I . •
. . I ' . . l l
c. '
I :

-Of'Efj Co HTLE. •·
t I )
O'O

to
.. .I

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

B.

2. Dopo il periodo

A. L'archivio ANAG può essere elaborato con una


i struzione di lettura
B. L'archivio ANAG può essere elaborato con una
istruzione di scrittura
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A.

10.3

Propnela ltalsiel s p.A . Le copie originali sono contraddistinte dal retino stampato 1n rosso Ne e vietala la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
3. Quali tra i seguenti periodi sono corretti?

' o o
- ...

A. ' ' o OflEH HIJG CO HTl


' • o OP Eh ov 1PV1 ~ HPIL
' • o

B. 'I•()
DP EH
l o o 01) I fl) I
l " o
c. ' • n OPEN AN c. 1-l'rl E
J •
---
o oPéH ~~~li.

A . e B.

C. è errato perché non è specificato il tipo di elaborazione


richiesto (INPUT, OUTPUT o I-O); inoltre l'istruzione
OPEN deve essere in margine B

Solo l'istruzione OPEN specifica se l'archivio sara


elaborato in lettura, scrittura o aggiornamento

4. Sia ORDINI il nome di un archivio su nastro.


E ' corrett o il periodo seguente?
- --- --.----.--- -
J I 'O

• o o OPEH l i o. Offo1 f, I•

. I

AAAA-AAAAA AAAA AAAAAAAAAAAAAAAAAAA

No, gli archi vi su nastro, per le caratteristiche f lsiche


del supporto, non possono essere elaborati in aggiornamento

5. Quali delle seguenti affermazioni sono corrette?


A. l'istruzione OPEN legge o scrive il primo record
dell'archivio
B. con una sola istruzione OPEN si possono abilitare in
lettura, in scrittura o in aggiornamento tutti gli
archivi del programma
c. l'elaborazione in aggiornamento può essere richiesta
solo pe r archivi su disco.

10.4

La cultura è un bene dell'umanità (fantomasping@libero.it)


....
l;RUPPOALSI EL
I """
IRI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzione

B. e C.
E' comunque preferibile specificare una OPEN per ogni
archivio elaborato.

L'istruzione CLOSE

L'istruzione CLOSE disabilita gli archivi all'elaborazione.


Essa ha il seguente formato
CLOSE nome archiviol [(nome archivio2)]
I nomi archivio sono i nomi di archivio indicati nel
periodo FD e nella clausola SELECT.

I seguenti esempi sono equivalenti:

. .. . ..
llQUlNCf ~
z
IP'AQf:I ISIUllAL
1 J 4
8A
.,.
:I
12 11 JO
•• ,, •• •• •• ., •• •• u
I

TI~ I
: ; !I i ' I i ' I
I ' I : ! : I .: i

~T1 1 • ' i
; ' I
j
i
I
o • o lI
I
c.!- cr., E C.L 1.f I
I
I l
I l : j
i o!•lo I :. ;
I I
' '
I
i
l I o;· 1o
I
I
I
I
'
I

~tt..:OrS é
I : I I .

Allft.6
I

•j I ·
:
... I
II
' l I
!
;
I
:

.I... I "·! I I !
I! I I I ' I
l !
I
I
' ' I

srr~H p'ri_ .' ' i I


I I
I 'I'. o I
'
l _LO.!>[ I
!
I
I "•
! ! I ' ' I ' : j
I
J '
I , 1
! I
e'o
! l . I ! :" ' • •
I jI ~0 L L 05 ~ ' C. l I é >- V" I
, I o IO . : . . . . . . AlfltG _: : :
' ' II o ":i'TAHf!/ti • .
' • Io

Si noti che:
- l'istruzione CLOSE non specifica il tipo di elaborazione
dell'archivio
- tutti gli archivi "aperti" con l'istruzione OPEN devono
essere "chiusi" con l'istruzione CLOSE prima della fine
del programma
l'istruzione CLOSE può essere eseguita in un qualunque
punto del programma.
Dopo tale istruzione l'archivio può essere di nuovo
elaborato solo se si esegue un'altra OPEN.

10.5
Propneta ltalsiel s p.A . Le copie originali sono contraddistinte dal retino stampato in rosso. Ne è vietata la r1produz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
6. Si scriva il periodo che disabilita gli archivi
dell'esempio seguente:

~·-!~·-~~~: __:_:_:_~ ·_:_:~p:__ · ~~-~~;-~- -~1_.:_~~1~·-·-·~l-·~l-•·-·~l-·_·_1_·_· _._ :_l ~ _l_


1
1 1

, ~ 6 o
! I
3 • o ·· c..Lo·sE ' oR..c>1N1 • . I; ~ , , I
cLo511;' · ·s~,qHf fl .' ·
! : ' I I
,
I
I , I.
! • I
' ' ' ' j !
' I I i ! I
I I

7. In un programma l'istruzione CLOSE deve essere eseguita:

A. prima che l'archivio sia elaborato

B. dopo che l'archivio è stato elaborato

B.

8. Quale dei seguenti esempi è errato?

.' ,.• zu. . .. . .. ..


StOUlNtl

tP'AOU ISUUAl
1 ,
o
o
7 •
I I
I
12
•• 20 H J2 •• ., •o •• .. "
i ! I I

A. ' o: lo cL~ ~
i
s:i.41- f;Ft :'
:

•1.l.
4
I I i : • I
' '
;

,. I
I
' ' I ! I
'
I ' '
~· I O!I ~ ' CLO~ IE I NPuT Att 116.
.
O
:
' o o CJ..O,S [' ·e vTPv ,ST'ft HP/.
' t
' i i i
.
I, 7 r O
l '
c. ;
I ' o
; ;' C.LOS IE" C.IOHTL 1c . .... : j

:
' I
' I' .•
'1.1 o
I

I
CL0 5 IE
!
. i
p e,or~ I : . I I

' I
' ; -

B. Le opzioni INPUT, OUTPUT, I-O non sono ammesse


nell'istruzione CLOSE

Come per la OPEN, anche per la CLOSE è preferibile


specificarne una per ogni archivio elaborato.

10.6

La cultura è un bene dell'umanità (fantomasping@libero.it)


l'"W"'ALSI
I""""
EL I FORMAZIONE
Strutture
..iRUPPO IAI FINSI EL per l'evoluzione

L'istruzione READ J
L'iatruzione READ rende disponibile in memoria un record I
dell'archivio.
Il formato dell'istruzione è
nome archivio RECORD nome campo
AT END proposizionel, proposizione2, ••• proposizione M.
Nome archivio è il nome dell'archivio indicato nel
periodo FD e nella clausola SELECT.

L'istruzione rende disponibile il record, nell'area di


input definita nella FILE SECTION dopo il periodo FD
dell'archivio a livello +1. Con l'opzione INTO il record
viene trasferito anche nell'area di memoria definita da
nome campo

La proposizione imperativa che segue le parole AT END


viene eseguita alla fine della lettura del file, o in
caso di file vuoto.

Si esamini l'esempio seguente:

' I ! ~ I I I ! ! : I I : I : ; ' ' I ' .. :- ' . ' ; • I


li ' ~~:o : :OR0_1:M. 1 i J'fli:O. : w-~~OJ~I ·A1 :n· D .
I : I
I
j i :l I
I
,i · ~: k.o.v.e . H.• ~,~-:\IA.L~E . :r:o ~-FF-0~;0.1 H1 :•
jl
I I I
!!
I I : : . ! .. ! I I l: I ' ~ I I

:I : ~ : :. I : I I t I I

Nell'esempio l'esecuzione della READ rende disponibile


nell'area di input un record di ORDINI. Tale record viene
reso disponibile anche nel campo W-ORDINI della WORKING-
STORAGE SECTION. All'esecuzione della READ successiva a
quella relativa all'ultimo record, viene eseguita
l'istruzione indicata dopo la clausola AT END.

9. Quali dei seguenti periodi è corretto?


' oI• o I I
' . I . : • . • . I

A. oI • IO
I
. ..R_EA. Il!--·
o I tto I

.i '.
• , I ..

B. I
o

I
I
o '
I '
'/?;G4.
• • ;
_t>I ~I ,
, Io!o I I .
. . .
I
I ..
c.
I
:
I I 710
I
. . :iE!lo /te; ~ I~ .. I
I I
I I • ' O
• I I

D. 11 "·o A HO
' !
,i , i· ' I Cv . \Xl- FF -.A lt-G.
"o o

D.

10.7

Propneta ltals1e1 S p A .. Le copie ong1nal1 sono contradd1st1nte dal retino stampato 1n rosso Ne è vietata .a riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
10. Il nome che segue l'istruzione READ è:

A. un nome di campo
B. il nome del record che si deve leggere
C. il nome del file che si deve leggere

c.

Il diagramma che segue rappresenta l'istruzione READ


I
I
I

FF F"F

Si noti che l'istruzione READ:

· provoca il trasferimento di un blocco (record fisico)


dal supporto esterno in un'area di memoria (buffer di
input) gestita dal sistema
· rende disponibile nell'area di input un record del
blocco mediante un indice che indirizza il record nel
buffer (area di input).

E' in questo modo che il record risulta memorizzato


nell'area di input della FILE SECTION. Tale area non è
un'area statica ove si memorizza il record, essa è
piuttosto l'area dinamicamente indirizzata del buffer di
input ove s i trova il record.

Solo se si richiama un'area di WORKING-STORAGE SECTION


con la READ INTO il record viene trasferito in un'area
interna al programma.
L'esecuzione della READ avviene in modi diversi a seconda
che l'archivio sia o no bloccato .

Se l'archivio è sbloccato (ad ogni blocco corrisponde un


solo record), ogni istruzione comporta la lettura del
blocco, cioè il suo trasferimento dall'unità (unità a
nastri, unità a dischi) nel buffer di input.

10.8

La cultura è un bene dell'umanità (fantomasping@libero.it)


"'T'ALSI
lGRUPPO
I """"
IRI FINSIEL
EL l FORMAZIONE
Strutture
per l'evoluzione

Si esamini l'esempio seguente:

!r
'"I•
! •
' I•
, I
lo
:
R-ù.:
I
.
'c!_L IEH
..
' :~_:'
HTO ..... LI E' r1 .!: EHD
i
'~ . i• i ''
i
i
i #{ov·
I ''
Hl ,lJV,
:I : I i
ro ~- FF- t..IE rt .• . I
'

' I
I

I
'

o i ' I '
I
' • 1
'

L'istruzione può essere rappresentata come in Fig. 10.1

"'FIL~CLIENTI

MEMORIA

I RECORD
I
BUF'li'ER .

r
RF.AD

Fig.10.1

Se invece l'archivio è bloccato (ad ogni blocco


corrispondono più record), la prima esecuzione della READ
comporta la lettura del blocco in memoria e rende
disponibile il primo record del blocco; le successive
READ rendono disponibili via via i successivi record,
fino all'esaurimento d·el blocco, mediante l'aggiornamento
dell'indice.

10.9

Proprietà ltalsiel s p A .. Le copie originali sono contradd1st1nte dal retino stampato 1n rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Se l'archivio CLIENTI ha fattore di bloccaggio pari a 3,
l'istruzione può essere rappresentata come in Fig. 10.2

I.~~ I ~~1 RECORD) ;I

r r1
1'"' RFAD 2"' RFAD 3''" RFAD

Fig. 10.2

10.10

La cultura è un bene dell'umanità (fantomasping@libero.it)


1-rftLSI
I~
,AUPPO IAI FINSIEL
EL I
FORMAZIONE
Strutture
per l"evoluz1one

11. Se l'archivio è sbloccato l ' istruzione READ :


A. legge più blocchi in una volta e rende d i sponibile al
programma un record alla volta
B. legge un blocco e rende disponibile l ' uni co record al
programma

B.

12. Se l'archivio è bloccato , l'istruzione READ :


A. legge un blocco, solo se tutti i recor d del blocco
precedente sono già stati resi disponibi li
B. legge un blocco ad ogni esecuzione

A.

13. Dato il file DIPEN con fattore di blocco pari a


20, dopo l'istruzione:

J I0 0

, ' o '.;. RiAb


: .... . .
,4T éNIJ
W- FF-l) I PEN.

qual i dati sono a disposizione del programma?


A. un blocco, ossia 20 record
B. un record
c. 20 blocchi
D. un numero di record indefinito

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

B.

10.11
Propneta llalsiel spA Le copie ong1nal1 sono contraddistinte dal retino stampato 1n rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
14. Si supponga di leggere l'archivio ORDINI con la seguente
proposizione

I
3
J •i 0

, , 1. -O I Hl A 'E I> ; I

I • o i I· r '
W- ff - O ~ {) I 'I I •

se viene rilevata la condizione di fine file

A. viene eseguita la istruzione MOVE H-V

B. viene eseguito il periodo successivo alla READ

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A.

15. Nell'esempio seguente, quando viene eseguita


l'istruzione ADD?

". .. . .. .. .. .. .. .. .
HOUENC( ~
z
t "A0ll ISUlllAl
1 l •

o
7 • ' 12 .. 20 20 32 12
•• 1'

I I ol' Jo j ' I
.. '

~~.- ·~{~~L EGGI


!
'?I I
I
o! . o
.1.
.I
I
'
i 'I
! I I
! I
i !
!
I
: I
i i
I
i '
I
;
I '
:
I I ro
'
I
I
•1 I
I
i
: ' i : I '
'I o+ e I o
I
I
'~r~p lO NTLE
1 I
iP4 111-io rlTLE 11 T tWD
I
I

I I i I

1 l o:o I
Hovt: Hl G-H-" Al.VE. :r;o \,t-- FF-(. DlfTLE '' '
!
I
I 1
'
I''. o
I
I
I
I
: : ! : lft ' '
I
I
I ' • 10 i : AD[). .-f fo ~- .LE -cor<T LE". I'
i 1 Ie lo
- - -
A. alla fine del file CONTLE

B. dopo ogni lettura di CONTLE

c. solo dopo la prima lettura di CONTLE

D. dopo aver eseguito l'istruzione MOVE

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

B.

16. E' corretto l'esempio seguente?

,.,
I I ,O

' • o
I
R.EA o -O T ()

' 7 o l'P /iOI vA L. H16 H-V 1.1.1 F


' • o kov Lv T UI- ff- R.01 I •
' • o
'

10.12

La cultura è un bene dell'umanità (fantomasping@libero.it)


...'ALSIEL
lGRUPPO
I J
IRI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzione

No. La proposizione IF non è imperativa

Si noti che:
- non può essere eseguita la READ di un archivio che non
è stato precedentemente aperto con la OPEN INPUT o I-O,
o che è già stato chiuso con la CLOSE
- la OPEN di un file non rende disponibile il primo
record
- la READ rende disponibile il record successivo e non
più disponibile il record precedente
- la CLOSE del file rende non più disponibile l'ultimo
record letto

17. Data la proposizione:


.
' jI
'
•O
' I ''' .. l
I
I
f(.~p . ~H
' I
:
'i+lo I G I 1'H:TO . ~-
'
!
' I>
I I
I ; ! ov ~1 , ~ -: LfJ
>!•lo i :I I . i II I,
'
l' , I•:• II :
: I
I I
: : I
I

I' I
!
I
I
I i
,.
., I
I
' i

quale delle seguenti affermazioni è corretta?


A. la proposizione MOVE viene eseguita subito dopo aver
letto l'ultimo record del file
B. dopo aver letto l'ultimo record del file il programma
termina
C. dopo ogni lettura viene eseguita la proposizione MOVE
o. dopo aver letto l'ultimo record del file, una succes-
siva READ provoca l'esecuzione della proposizione
MOVE
o.

18. Quale differenza esiste tra i due esempi seguenti?


ol'Io
1 I
o t .. i o i I
rt'Ell -ORr>tH/ A
I
' .10
o,, I I ov V"o i.t.- Ff- I •
: I

o
i '
I ;O I
: I I I
I t 0 I0 : ~OP, -i
I ,o
B. I
"" ; -DR01 Hl A D
I• 6 o To I.li-· F'F- O 1)1
:
,o . Al>t>. .of D•

10.13
Proprietà ltalsiel s p.A .. Le copie originali sono contradd1st1nte dal retino stampato 1n rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
In A. l'istruzione ADD viene eseguita dopo ogni lettura, e
a fine file dopo la MOVE.
In B. le istruzioni MOVE e ADD si eseguono solo a fine
file.

19. Si esamini l'esempio seguente: . quale affermazione è


corretta?

.. u .. .. "

Iji
! ! !
I

i!I
I I '
I :
: i
I i
t
II '

1 , i . rv ·.' I i I
I I
I
I
: I! I I
"1"'
!I ' i , I I
Ii I '
I

i ,! I. I I i
I,.,.
I
I I i! I i
I i I I • ; ~'
I '
.. : • 10
:
'
I I ' .,
I I
I

I
, :,, 111 ' I I

' '
I I
•1•··· I

! I
I I
I !
I

I t
I I I

I :
I
I I

Cl. : ! I ' I I : i
I I I , : 11 ! ; :
I • !

A. 11 contenuto di un record di NASTRO si trova


nell'area di input
B. il contenuto di un record di NASTRO si trova nel
campo W-NASTRO

Entrambe.
.-
In Italsiel, si utilizza la clausola INTO attinche'
il record sia presente anche in un'area di memoria
diversa da quella del buffer di input.

10.14

La cultura è un bene dell'umanità (fantomasping@libero.it)


.... ALSIEL I
& lGRUPPO
I """"
IAI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

L'istruzione di WRITE
L'istruzione WRITE scrive un record dell'archivio
aperto in output.
Il formato dell'istruzione è:
WRITE nome record FROM nome campo
Nome record è il nome dell'area di output definita nell'
FILE SECTION a livello ~1 da cui il record vien~
prelevato per la registrazione. Con l'opzione FROM il
contenuto dell'area di memoria nome camp• viene
trasferito automaticamente, prima della registrazione,
nell'area di output nome record.

Si esamini l' esempio seguente:

. .. ..
lfOUfNCE .,_
z
lrAOfl ISUUAl
t
8 A
.,,
:o ,. •• •• •• ••
l 4 I

I,
7 I 20 24
" IO
"
' I
I .
oi' o
I l :. ' ~ . l . . : '. ! : j : ' ! ! : . ! j . . . ' ' . ' ' '
' '
' ' I
I '
I
ol' io
·! ·jo
; ' WJe.t T [ ·ti A~Tf o..f fT~O. ~ . ~- HAST R:o • !
1
I j 0 6 'i . . . . '. ~: : 1 1 ; J_ _

Nell'esempio l'esecuzione della WRITE provoca il trasferi-


mento del contenuto del campo W~NASTRO nel campo NASTRO!, e
quindi la registrazione del r:eco·r d"NASTRO.

20. Quale dei seguenti pe~iodi i corretto?


;
I
I
! .. , .. : . I
I .
' I
I
It i' I i

A· i
I
I ~ · W/('..IT E OtDI f .f: 'i i EH.O
I
I
I : . . . . '. . HOV t . . HI
l . . . . . . . . ' .
1-1•~
A.LV, · !n' :' \)'Ì- Ff:·O R.t)1
l
I•
, I
i l .
I

IT f : ' ofi1»1 N(i '


I , .

B· !I :; '. iR
"" . .
. '1/-0RDI I.
I ;'' ' '
c. ' j o' o
I

, I , \tltlf , . W- 0.~0 I ~I .•
, i,;o I

- '--- - · ' '

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

B.

21. Il nome che segue l'istruzione WRITE è:


A. il nome del record a livello 01 della FILE SECTION
B. il nome del file che si deve scrivere
c. il nome del campo di WORKING-STORAGE SECTION da cui
si deve registrare

A.

10.15
Proprietà ltalsiel s p.A . Le copie onginalt sono contradd1st1nte dal retino stampato 1n rosso Ne è vietata la r1produz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
Si noti che l'istruzione WRITE:
· preleva il record da registrare dall'area di output
mediante un indice che indirizza il record nel buffer
di output ed aggiorna quindi l'indice
· quando il blocco è riempito, provoca il trasferimento
dello stesso dal buffer di output al supporto esterno.
E' in questo modo che il record risulta memorizzato
nell'area di output della FILE SECTION. Tale area non è
un'area statica di memoria da dove è prelevato il record
per il trasferimento, essa è piuttosto l'area
dinamicamente indirizzata del buffer di output dove si
trovano i record da registrare.
Solo se si richiama un'area di WORKING-STORAGE SECTION
con la WRITE FROM il record viene trasferito da un'area
interna al programma.
L'esecuzione della WRITE avviene in modi diversi a
seconda che l'archivio sia o no bloccato.
Se l'archivio è sbloccato (ad ogni blocco -record fisico-
corrisponde un solo record) l'istruzione registra il
blocco, cioè lo trasferisce sull'unità (stampante, unità
a dischi, ecc.) dall'area di output.

Si esamini l'esempio seguente:

;
. . · ~ , ,: • I;o I ' ' ' • J ' , I

I , I O I . , I ,
' I ' '
:o i i W~IJ°E'
, • I
I ,I.
I l
1 II
' ' i I •. I .
I : ' . i .. '
J I 0 0 .J i
. - l_ -- . I ~.~--

10.16

La cultura è un bene dell'umanità (fantomasping@libero.it)


....ALSIEL I
& lGRUPPO
I~
IAI FINSIEL
FORMAZIONE
Strutture
per I 'evoluzoone

Se l'archivio CLIENTI è sbloccato, l'istruzione WRITE può


essere rappresentata come in Fig. 10.3

FILE-CLIENTI

MEMORIA

RECORD I

r
WRITE

Fig. 10. 3

Se invece l'archivio è bloccato (ad ogni blocco


corrispondono piu record), la WRITE si limita ad
aggiornare l'indice che indirizza il record successivo da
scrivere e solo a completamento del blocco lo registra
sull'unità di output.

10.17
Proprieta ltals1e1 S p.A .. Le copie originali sono contradd1st1nte dal retino stampato in rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Se l'archivio CLIENTI ha fattore di bloccaggio pari a 3
l'istruzione WRITE può essere rappresentata come in Fig.
10.4

FIL~CI:. IENTI

MEMORIA

1 A WRITE 2A:WRITE 3"" WRITE

Fig. 10.4

Si noti che :
- non si può eseguire una WRITE di un record di un
archivio che non è stato precedentemente "aperto" con
la OPEN OUTPUT o I-O, o che è già stato chiuso con la
CLOSE
- dopo la WRITE il record non è piu disponibile al
programma a meno di utilizzare un'area di W-S

10.18

La cultura è un bene dell'umanità (fantomasping@libero.it)


"T"ALSI EL
lGRUPPO I~
IRI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzione

22. l'esempio seguente è corretto?

I ;

P.IC X(~3 3) .·

I~ I<::. X.
PI e 'I:(~~[)
f I C. ~(.8).

, I I
'
i
I ' . ..
Ti 0 W-5TftHIPA.
, 11 10
;
' : o lo
I
! I

Si'

23. Si scrivano le istruzioni OPEN, WRITE e CLOSE relative


all'esempio seguente

. , .o:, 1•0 zu.


HQUINCI

l"AQl l i lUllAl
o
1 I t1
I

I
.. 20 2• 21 . •• . .. •• ., .. IO
•• . 71

! '· :
o • ·o
F:~ OR.O I ~l I

o1 t 10
L ABEL. ~[CO~ I) .~tfAHD ftRD.•
o • o
I ~1 OR.D_I ~J-l. ! Pie. X( •B 3).
: I
' o o II
' ' o wofl K I .tiG - STO~ ~G-E SEC: IT10M .
• o ~
'

'
I I fo
I
0
~ \l:l'-·OR. [)IN I
I

I :I I0
I
' o • PR.:ocE C>iJR E 01 VIS I OH.
, ' o
, .. l

' • o

- ·- -· -·· - · ...---·--
' • 10 OP Eti 011 rf PII 1 ~ 01-.:it -
l • o •O I
.
\tlft1 T~ 0 ~[)I~ i'~ FR.o• ~Rbl tal.
J

' • o
' 'o

! "''"
J'

, ..
~ o C LOSIE olù>11i '·..
• o o

10.19

Propneta ltalsiel s p .A Le copie originali sono contradd1st1nte dal retino stampato 1n rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
24. Quale delle seguenti istruzioni richiede il nome del
record del file?
A. OPEN
B. CLOSE
C. READ

O. WRITE

o.

25. L'esempio seguente è corretto?

I
&lOUt•CI

lf>A 4H I l llAIAt
·~ • t
~

3"1 AI ..
IJ M JO J4 .Il J.t .. .. ..
I
•• •• .. •• IJ

!
I '
I I . I I I I; I

I I • :
I .. ; : I I

x/~ B~). I '


I :
I . I ' I
:I I ; I
! I I I
!
I!
I I I
,
'
! ! ; i j •
' '
I i I

I I I I

i/b) .: I i
I;; "I I
:I
I I
I I I I ' I
: I I I
' I I '
:I: : , I
I 1 I o
I

No. La WRITE richiede il nome di record e non di file

Con l'opzione INTO della iatruzione REAO e FROM


dell'istruzione WRITE si possono indicare come aree di
input o di output anche .aree di FILE SECTION.

10.20

La cultura è un bene dell'umanità (fantomasping@libero.it)


"'PALSI
lGRUPPO
I""""
IRI FINSIEL
EL I FORMAZIONE
Strutture
per l'evoluzione

Nell'esempio seguente il record del file ORDINI viene


ricopiato sul file ORDININ.

.. .. .. ..
HOUINC::IE ~
z
IPAOU ISUIAl
1 J 4
A
I 7 I
3 : 8
· 12 11 20 24 21
"
... •• •• •• ••
ji
! 1
·1 '/!o
o • o
I
I ! I I

I :1':I:
: ·.+
l t',:o
II ,I.;
I
o
I :
i I I fj o

:i I
·1·+lo
, o

'i';o

j i I

· I ' : : : L kO.VE : '. NI ~!~-: "~~. '1il I T;-0 11V· F_F ·f)~:l>,I ~I •
'
II ~RliTE"
. 11 . , ~
I IA~1 :1. l'lt.f. • I' ,I 1! • .1..• 1I
. . ,., . .• .
. ! . ' I, i 1
! i , : ; , , ; , 1 I ! ! .r· 1 ·, .1 · '

26. Quale delle seguenti affermazioni relative all'esempio


precedente è corrett~?
A. la .READ t:r:asf.e.:ç-isce il record letto nell'area di
WORKING-STORAGE SECTION ORDININl.
B. la ·· READ . trasferisce il record letto nell'area di
output ORDININl.

B.

27. Nell'esempio precedente è ancora disponibile il record


di ORDINI dopo la istruzione WRITE?
A. Si': nell'area di input ORDINI!
B. Si': nell'area di output ORDININl

A.

10.21

Proprieta ltalsiel s p.A Le copie originali sono contraddistinte dal retino stampato 1n rosso . Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
28. Si scrivano le istruzioni dell'esempio utilizzando
l'opzione FROM della WRITE al posto dell'opzione INTO
della READ.
- --o o I
I
'
' :I
I
: I :
I I I
I
I

' 'o
' . I
; : I I I ! I I

. i
o I
': :
' I
I
I

' i '
'
I
I i
'• ! ; '
' :
I ; I
I
' •o i I

. o •
I I I

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

1
S[OUCNC(

lPAGll lSUUAl
J •

zo
u.
7 • •
12 .. 20 1' 21 ,, JI 40 .. .. ., .. IO .. . "
o
I
.
'IO
I '
' ' .. . I . .. i
:

I
o o
'; ~EA:t I ·a ·{(
~I f'I I I . Efi
I A~ o I

I
i
o 1• ~ o
:
I
HOVE ' Hl c;..H- .VIAL 1.ié .TG \..ti'- FF- fJ llb.I H I .
I
' I
i
i
o ' ei o
I
I

' ~tttr E c'fè.Dt ;l'l h4..f


I
FR.·o /·t O flDI H I :'f • ; 'I
I I0
I0 I

i
'

Per gli archivi su unità ad accesso diretto (dischi)


nell'istruzione WRITE può essere utilizzata la clausola
INVALID KEY
WRITE nome record nome campo
INVALID KEY proposizione imperativa
Per gli archivi aperti in output, la proposizione
imperativa viene eseguita quando non è disponibile spazio
su disco per la registrazione del record.

Si esamini l'esempio seguente:


n
' , !
:!.
' • o WR.1 . E . I H 1, F Ro.H w-.o ~D'
' • o I H1111 l I D l(E
PE f{F ON_ . 8,- "~--. PA21 o . HR.V AB- 9 ~fl- 5PA i ID-

La proposizione PERFORM viene eseguita quando, al comando


WRITE, lo spazio su disco riservato per l'archivio è
esaurito.

L'opzione INVALID KEY può essere omessa anche per archivi


su unità ad accesso diretto.

10.22

La cultura è un bene dell'umanità (fantomasping@libero.it)


"'l'"ALSI EL \ FORMAZIONE
lGRUPPO I~ Strutture
IRI FINSIEL per l'evolu21one

Un archivio su unità ad accesso diretto può essere elaborato


sequenzialmente in tre modi:

1. creazione:

, . o
'o
, :6 OUTPUT pRDI lii
1 4 I O
' . 1

' o, o ;
o
.
)

, o
I
l
•o

2. lettura:

..
llOUUfCl ""
z
_.AOll ISUUAL 8 A , I
J 4 I l I Il 11 20 24 21 J2: >I
•• 12 ..
•• •• .. 12

I! °I' 1·
oI' o
I
:: i;
i
! I I
I f I I
'' i ''
I :i:il:
I I l I
I
'
I

j
I
I

'
i .I••' , o
' I

'' '

3. aggiornamento:

10 i
·l·l· ··
1 •

:o:PE:.H . J ; o: · :c1fo\ :111;.'.:


I;I!0 '
'i o Io °f(f}lo OR. 0:1 N. I .. , · ~ To W- O~b I HI A T E"t'ID
'!'I° '
'
I
i: H.OVE . ti' 6)i-\J~L.vE T:o .~-FF - DRD1t11.
' .. 10 I
' I I
'
, 6 lo
' I
1 I IO
. "
~~IT E
' • • • j

Oltt>. I.ti f ·{ . J=~OH


tt,. OIH> I ~ I .
J i,o:Io
) I) 0

Tra la READ e la WRITE viene eseguito, naturalmente,


l'aggiornamento dei campi del record.

10.23
Proprieta ltalsiel s p.A . Le copie originali sono contradd1st1nte dal retino stampato 1n rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Nell'esempio seguente vengono aggiornati solo i record con
codice matricola inferiore a 1000.

1
HOUEHCl

tfl'AQIU llEfUAL

I
' .l' ,.•
;
o
u •
1 •
:1
12 11 20
•• 21 ., .. 40 .. .. n

!
.. IO

I
..! .. I
u

I
I o ! t I : : I : i I l
I
i oi'I°
j° . i
I
! i
'
I
:
I ii
:
_:ck I I

I oI •
o I,
o I
'
i
'
'
I
i
·I+o I
:r:o I I
I
'I
I
'i
' ' '' : ' '
•J, \o I
! Hl6 1-f- V Al'/ b i
j
' ' I •I o -lp I

'!•jo I -H IJT'è : I I

'I oIo
,I ' J 0
I
! ~- fU> I Hl . I I

1,F, -VA LI.I C


' o . I
ro
I : !

I ,',·'· I
,

I
I
I

l I
I
I : ; I

'Tio'loo ..
I :
: i I : I
P!r~ I .•'.
i I
3
: !
' I i
l l

J' · 10
: I
I

I I i
i '
!

Si noti che, se l'archivio è elaborato in aggiornamento,


il comando di scrittura deve essere sempre preceduto da
un comando di lettura. La WRITE infatti registra il
record che è stato precedentemente reso disponibile dalla
READ.

29. Quale dei seguenti esempi, relativi a un archivio su


disco, sono corretti?

! o:' 10 I ! I ! : ; I

A. I o 14 o I OPéH
I ! I
I

; :
I
0 1 61

o i.!
o

o
I
I : ~R1 1 "'-A !
I i
: :
'
I I i
lI '
B I!0 0 CJP.E I

~Ili ; e;. .
I
'I'
'' .. o

c. ''6 o 1
,

I I t
I
I i
,
0
AG Aì 1;-1-1
' o o ro "Qe;- FF'- ~-
\Kifl i: ft A6.
.
, ; , 10

o
' -·---

c.
In A. si crea un archivio aperto in input
In B. manca la READ prima della WRITE

10.24

La cultura è un bene dell'umanità (fantomasping@libero.it)


.....
lGRUPPO"'LSIEL
I"""'
IRI FINSIEL
IFORMAZIONE
Strutture
per l'evoluzione

30. Quali dei seguenti esempi relativi ad un archivio su


nastro sono corretti?


I
, ,.,.
' j 6
I
o

l J? io
i
I
' ., 1•i
B.
I
,1 o I :oPtH . 1
0

; i. :f~p
i

'I'• I o '. .o
·r ' 1 o.v.
i I'
3 ~ 11 I o 1 11 , · M.
•io i• ! I I

, I I
ORE-EX.
' I I t I i I I

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A.

Un archivio su nastro non può essere elaborato in


aggiornamento e inoltre non prevede l'opzione INVALID KEY.

31. Si individuino gli errori nelle seguenti parti di un


programma

llOUlNCl

(P.t.Q() llUllAL
1 l 4 I
...
z
8A
1 I
..
:,2. .. ... ,. l2 .. ... .. 12 .. •• . .. "
1 •l>1• I
• • •
I
• I
I
• • . • • • •
I
I . • •.

+11·o DATfl
. o!. '()l:V l.S •ON.
l)tif>in'.% i/". .sù r1 ioH
I i
~-
,: .
' .. I .

OjI . l "\j O j I , 1 1

i ' i • , • • • I . . i
• o o
FP . FoeB
• i. . . , , '. ·
I:,!0 ~1 : .. Fo.~ .8 A-f. . i , , ~ : · Pie '1.(8 ).
I'. • j 0 I : . !
:i.
I ! 6 I0
F~ 1 se
• • o :LA6.
, o 'o
'/{ : i'~·c.: \ /,
, .' o
' : OR~11J~ :<>-i :iic· •ON
o
t:f. W-F -FDR A '.
~l ~-_F:o R8A: . . . .
' : · 1·

' •• .o
' 1• o
I .
.. rJ;. : -f (l&A- C.pR.s
l ~
,
o~o
I 1 1 • u~
'
1
I
.-;rP R:B.~- ~~L,
: I ; ' j '
. 1
, .
.
I
I
J •' io i

, ,, io P:~oc'-f D·J . 1\;, s1 ~!,;.


i ... .
I ';
' I
' J. I :

l ' I IO

10.25

Propneta ltalsiel s p.A Le copie originali sono contraddistinte dal retino stampato 1n rosso Ne é vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Riga 001060 E' stato scritto l'identificativo INPUT-OUTPUT
SECTION (col carattere barra invece del carat-
tere trattino), invece dell'identificativo
FILE SECTION
Riga 001100 Il periodo FD è incompleto (la clausola LABEL
RECORD è obbligatoria)

Riga 001200 La descrizione del campo ISCRIZl non ha la


clausola PICTURE, oppure la descrizione del
campo composto ISCRIZl non è seguìta dalla
descrizione dei campi che lo compongono

Riga 001220 Manca il trattino dell'identificativo WORKING-


STORAGE SECTION

Riga 001260 Il campo W-FORBA è un campo composto e


pertanto non può avere la clausola PICTURE

Riga 001280 Tra le clausole PICTURE e VALUE c'è un punto


Riga 001300 Ad un campo numerico è associata una costante
non numerica

Riga 001380 Nella OPEN si deve indicare un nome di


archivio e non di record

10.26

La cultura è un bene dell'umanità (fantomasping@libero.it)


l "'W'"ALSI
I~
EL I FORMAZIONE
Strutture
RUPPO IAI FINSIEL per l'evoluzione

Capitolo 11

11.0

Proprietà ltals1el S p .A. Le copie originali sono contraddistinte dal retino stampato 1n rosso . Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
La cultura è un bene dell'umanità (fantomasping@libero.it)
l~"'LSI EL I
& I...._
G ~UPPO IRI FINSIEL
FORMAZIONE
Strutture
per l"evolullone

L'ISTRUZIONE MOVE

L'istruzione MOVE trasferisce il contenuto di un'area di


memoria in altra o altre aree di memoria.
Il formato dell'istruzione è il seguente:

nome di campol [ ]
MOVE costante TO nome di campo2 nome di campo3 .••

nome di campol o costante rappresentano il campo di


partenza; nome di campo2, nome di campo3 ecc.,
rappresentano i campi di arrivo.
Il contenuto di campol o la costante sono trasferiti prima
in campo2 poi in campo3, e così via.

La costante può essere numerica, non numerica o


figurativa.

Si esaminino i seguenti esempi,

. .. .. . .
HQUfNCl '""
z
lf'AQll jSUUAL /4 8 :o
1 I 4 I 1 I 21 J2
" ti 20 H 40 IO

A.
°I'1·10lo '
J I : l
I I
I I 1 ' ! I ! I 1-. 1 ·,
. i I ... .. I',
o I Hp,viE W-G-001 <JE:I11 I
-I
' 1
,~ ~-:{1{( E CI i O.
i . l I , . .. , I !
I ' . . I '·;
iI .
' .
I1 '
•I• • I ·Hl) v:i:: U'I- e ot> 1 c,e
I : ·I
B. I °"IO I
1
Tp ~-C1REt>1ìo
I
I
,

1!o10 !I :I .I I . I I . . ' I ' I

c.. 1 j, 'o I i
1
..
tfoV·E . "io rii~[ tf i
1
' I

in A. il contenuto di W-CODICE è trasferito in w-


CREDITO.

in B. il contenuto di W-CODICE è trasferito in w-


CREDITO, W-DEBITO e W-SALOO.

in c. la costante non numerica TOTALE è trasferita nel


campo W-RIGA.

1. Quale periodo dei seguenti è corretto?

LE.~
1I I )O
I
I
.. ! .. : : ... I
I :
A. ,~o o I ! lio !v'I.E ' \.I/ • "f;o:r:-t
. '
~- ToT~ :ri.: ~- TOTA
i.
I I
' I
' ' ' 10 1

B.
' '
Ho\/~ W- ToT :ro \(,- To,T~ Lé W-CO HDO
':'I°
' It o '
'
I I
'.
.. : I

B.

11.1

Propneta llalsiel s p.A Le copie originali sono contraddistinte dal retino stampato 1n rosso . Ne e vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
I campi , oggetto dei trasferimenti, sono aree di lavoro
definite nella WORKING-STORAGE SECTION o aree di
input/output definite nella FILE SECTION ovvero nella w.s.

2. Il periodo seguente è corretto?

, 1 11 10
: i i I
I
' ' I ' I . ' ' ! ' !
3 o o
H~~f !
lsf ACE;
:
To
I
I . ' ~E~.
'fil..
3 ' ' 10

No. La parola riservata FILLER non può essere richiamata


all'interno di un programma

3. Il periodo

3' .
I I
o
, I' ' . . ;
I I

, I
3
I' I 0 I ' ko:11é:
I
~-611Hff°".
. ' ' . i 1 1 I t
' I .

1 J: Jo1!1
I o I I

implica che il contenuto di W-CLIENTE

A. sia trasferito in W-ALFA, in W-BETA, in W-GAMMA


B. sia trasferito solo in W-ALFA

A.

4. S i scriva l'istruzione MOVE che trasferisce il contenuto


d i W-NASTRO nei campi:

W-LAVORO
W-COMODO
·- J ,e lo I
I
' : : ; I
I
1i ! i i
J !e lo
! ! : I l
'
I ! ;
• ; o jo i I
'
! '

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

• o o i
.. :H.DVE W- ~11.>Tflo. . TO ~- L ~voR. o
I , ~
i . ' : . ' I
· i !
.. I . I .
I
!
' .
'
' .

11.2

La cultura è un bene dell'umanità (fantomasping@libero.it)


...."'LSI EL
lGRUPPO
I #-4,
IRI FINSIEL
I FORMAZIONE
Strutture
per l 'evoluzione

s. Quali dei seguenti periodi sono corretti?

.'1•0 , • .. .. .. .. .
HQUUf([
ii
o
i'AGii IH IUAL U A
' l u
" 20 24 21
" •o •• 12 IO
•• 12

' oj : ; l : I
I - . , i , I ,

A. ; iI
oI , ~ o
' I
'HOV:E IJI- CL.I .- cop . To .. ~-t\EH •. .
oI 1 10 i I I
i I ·
i
B. o o!o
I
Ho·v.E. . ~ftl~T~ i ;re w-tHsT~TA 1X1-R1G-/l,
' ' . o lo
'
c. I:? '0
: :
l<OVt 1
.<15.8.~ . ' : ife ~-~16A-Cot>-F?.H.
,. 1 0
'

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A., B. e c.

MOVE elementare

Se il campo di partenza e quello di arrivo sono cam:eii


elementari l'istruzione MOVE è detta elementare.
Il trasferimento tra cam~lfanumerici avviene, carattere'
per· carattere, con allineamento .a sinistra ·cioè da
'
sinistra verso destra. · · ~

Si esamini il seguente esempio:·


' 1e lo ; : I
: I I I I I . :
il. i o I :
I • ~ ' j ' I .

I 1
I
olo I
'" ' . i
p_3, : ·':INDJt, .- ·, ' .
' '
I 1 j? j O

' _·oo •hc..


.. '
'I' . :
,;,Io
0
~3. . ''
I
'
1 ~ I Io
. i.'
) o .o . 'HO 1.tt1-1 .t11>1 R. ..
) ' 1 I0 '
'-----

se il contenuto di W-INDIR è
VIA L.SETTEMBRINI 20
il trasferimento in W-DOMIC di tale valore si può
rappresentare nel modo seguente:

lv:r;A: :L:.:s:E:T:T:E:M:B:R:r:N:r: :i:ol


I I I I I
vvvvv

11.3

Proprietà ltals1el S.p.A Le Copie Orl·g 1nal1 sono contradd1st1nte dal retino stampato 1n rosso Ne è vietata la qproduz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
Anche il trasferimento tra campi alfabetici avviene con
allineamento a sinistra.

L'istruzione MOVE modifica il valore iniKiale del campo sU.


arrivo (anche se è stato inizializzato con la clausola
VALUE). Al contrario, il contenuto del campo di partenza
rimane inalterato.

Nel trasferimento tra campi alfanumerici •e 11 campo di


arrivo è più lungo del campo di partenza le posizioni in
eccedenza vengono riempite di caratteri apaziq.

6. Dopo l'esecuzione della MOVE dell'esempio seguente, quale


è il contenuto di W-NOME ae il contenuto di W-INIZ è BT ?
--- I
' : t 1"
I : ~ 1"
:
I
i ,~
:
' I

~-t'p
I

"é.
I ; ;
I
'
: : :
I
I :
i I :
i
I
I I I I
Pt '~
I
iX.l .s )
IIi
.,
I
i
! ' i
i
I
I
I
I
i
:
:

'
'
I
I
'
I

........
I
.. "

~~ IAI-:/ :/'I i li ! ' I I ! I


! I
I I I I ' I I II
I
'
I
f) I~ ~ 1><'..
I I' I
I
I
I
I
'
I
'
I I '
I
!
I
I

I 'JID
.. 1· i : 11 I. I I I I
' I
i I ! !
I i 1
I
I I
: ' iI I I
I
1 :

' ~- ! I I ~a I' 1W
I I!
I
'
•14.Q I : II .:npvr IH<li HO.Hf • ' i I I I
' I
I !
!
I III I'
I
I
I 4.6 !(l I I I
I~ I ,- I iI : i I :
I I I I !: I

A. BT
B. BT
.c.

A.

7. Se prima del trasferimento il camr di arrivo W-NOME


contiene il valore ROSSI quale sar il auo contenuto al
termine del trasferimento?
A. ROSSI
B. BT
C. BTSSI

B.

11. 4

La cultura è un bene dell'umanità (fantomasping@libero.it)


"'PALSI EL I
& lGRUPPO FORMAZIONE
I """' Strutture
IRI FINSIEL per l'evoluzione

8 . Gli ultimi tre caratteri di W-NOME sono degl i spaz i in


quanto il campo di arrivo è
A. più corto del campo di partenza
B. più lungo del campo d i partenza
AAA A AAAAAAAAAAAAAAAAAAAAAAAAAAAAA

B.

Se il campo di arrivo è più corto di quello di partenza il


trasferimento termina al riempimento del campo di arrivo.

9. Se il contenuto di W-NOME è ROSSI, dopo l ' is tru zione


HOUOICl

l f".t.Gl l llUIAL
t J 4
.,;
z
8 A
I J I
.. 12
•• 20 ,. . . •• .. .. ., .. IO
•• Il ,,
: ' I 'j I ' ' : ' I ' I t..' ' I i
i
j

;Hl'.H/ E i 11JJ-~ O .~t I In:{) I w- i:~t ~ . I : : I'


'
I ··~"----'~---~-~-~-~~~~-·
: t
t ' I

I I ' : Ii I :I Il I I I Ii : j.J ' i


I
I i
:

quale è il contenuto di W-INIZ · i


A. RO
. ·.. .
B. SI

A.

10. Sia ffiJ il contenuto del campo

'
I ' , , I
w-C.o D f>t C. X;<X .
' , IO , I

11.5

Proprietà Jtalsiel s p.A . Le copie originali sono coritradd1st1nte dal retino stampato 1n rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Quale è il contenuto di W-COD dopo l'istruzione
l .
I • I '
I . -- _LL

AAAAAAAAAAAAAAAAAAAAAAAAAAAAA

y 9 z

11. Si esamini il seguente esempio:

'I• '
' '
o
i:. I
i . ! I
Vlt51 lll 1 9 ·
..

. ' '!•!o 1
I I J 0 0
1
> , lo
l • 'o
. I . . .
' I I I
i j '

. '

Eseguita l'istruzione MOVE, quale è il contenuto di


W-TESTATA-1, W-TESTATA-2 e W-TESTATA-3 ?

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

W-TESTATA-1 *ORDINI INEVASI*


W-TESTATA-2 *ORDINI IN
W-TESTATA-3 *ORDINI INEVASI*)>~pj/

Il trasferimento tra campi numerici interi (1), avviene,


carattere per carattere, con allineamento a destra,
partendo cioè da destra verso sinistra.

Nel seguente esempio


'
l' 10 I !'
.
I
o : I I . ! .
i
I
o o I' ~3' 1.1>-DA T.O
. • I
p I C C/[(J , . . ' I

I
I ' I I
I
;
o!• !o
I
I
! ~~ I
IJl-tlll H i
i I! I I .
PI c . 9 · (~) .: . ' l '
I
i I

~i)
ol 1 l o I
I
Il I .. I . '
I
I i' .
M~~:e i LII- I
J>.A:T.o I
~- '"' lf..
I oI o
. . I .
I
I ,o I
- ---- _l
se il contenuto di W-DATO è
123456

(1) Nel capitolo 12 saranno esaminati i campi numerici con


cifre decimali.

11.6

La cultura è un bene dell'umanità (fantomasping@libero.it)


...ftLSIEL
l..iRUPPO
I~
IAI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzione

il trasferimento in W-NUM di tale valore si può


rappresentare nel modo seguente:

l1>>:4:s:61
I I I I
V V V V

1 : : : 4 : s :6 1

12. Dopo l'esecuzione della istruzione MOVE

A. i campi W-DATO e W- NUM contengono il valore 123456

B. il campo W-DATO contiene il valore O e W-NUM il


valore 123456

A.

Nel trasferimento tra campi numerici· se il campo di arrivo,


è oiù lungo del campo di partenza le posizioni in
eccedenza vengono riempite di caratteri ;.

13. Si esamini l'esempio seguente:

I· I o
I '
I I ' l
i •Ì•io
, I
~3 w-1 .MP. :
p 1c. t/99.
'I I• !o ' I
;
r
1 I

I
"o Ilo ' I

f/is· ~-TD p, c. 9(6)


; 'i ' lo
'! ' j°
' • o
I
.I
.I
Ho.v.E
I
~- IHP l"O !V-:fO -'···
Al termine del trasferimento, se il contenuto di W-IMP
è 123, W-TOT conterrà il valore
A. 123000

B. 000123

c. 000000

---------------------------------
B.

11.7

Propneta ltalsiel S.p.A Le copie ong1nali sono contraddistinte dal retino stampato in rosso. Ne e vietata la pproduz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
14. Se prima del trasferimento il campo di arrivo W-TOT
contiene il valore 890000, quale sarà il suo contenuto
dopo l'istruzione MOVE?
A. 890000

B. 890123

c. 000123

c.

15. I primi tre caratteri di W-TOT sono degli ~ in quanto il


campo di arrivo è

A. più corto del campo di partenza


B. più lungo del campo di partenza

B.

Se il campo di arrivo è più corto di quello di partenza il


trasferimento termina al riempimento del campo di arrivo.

16. Se il contenuto di W-TOT è il valore 123456 dopo


l'istruzione

cosa contiene W-IMP ?

A. 123

B. 456

B.

11.8

La cultura è un bene dell'umanità (fantomasping@libero.it)


l"T"ALSI EL
I~
GRUPPO IRI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzoone

17. Sia ™ il contenuto di

I· I· I· I
quale è il contenuto di W-RATA dopo l'istruzione ?

! I
:'T'.o
I ,
I

ii I
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

012
....
18. Sia di nuovo -842 il contenuto di W-RATA, quale è il
contenuto di W-IMP dopo l'istruzione?

•O .. .. " .. •• .. . "

00842

La MOVE tra campi alfanumerici è detta alfanumerica,


quella tra campi numerici è detta numerica.

11.9

Propneta 1tals1el s p .A .. Le copie originali sono contraddistinte dal retino stampato 1n rosso Ne è vietata la .r1produz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
MOVE tra campi composti
Si possono eseguire trasferimenti tra campi di qualunque
livello gerarchico.
I campi di arrivo e/o di partenza possono essere
elementari o composti.
'

Tutte le MOVE dei due esempi che seguono sono corrette.

u. .. . .. ..
HOUlN Ct
~
lll'AGU tSUUAL

' J • I
o
' I
.,
I
.. 10 14 11 J1 JI 40 11 51 IO
"
.
o I~· I o .SK1P 3.
I . :
' o o W~(l
.
1<. I MG- '_ ~T oR. 'A6-€
. I 5 .éC 11:• pii . I

o' . o
I I
Sl(1f .{ i . . I . I
I :
• o ~i : w-·s:Pr.
I
o
:
'
I
o o
~3 ~ Ul-~P E -cf} vsA
;
Prc Xf 6~ . I

'.o ;~ W-SP ::-co p · '


'
' . o
I
I

~5 w-<:.P E'-co C> -1 NT p IC. 'IO(X.


: ' '

><:{/) .
I I
tJ,s
'
.• o "1/-SP t:-co D-éS T P1c

' '
' '
I

o n
o

o
~{ w-r;1
~3
- '
' I o

W-T1
...... .'
I -
'
I H C>. . f1c. ~'~).
; !

x(1'> .
I
' "O
'
1'3. l W-T1 rf-jE ST Ptc
'• I
o I
t· I
I
I
' •o I
I.
'
I
I
I
I
I

l 1 o !o I
l I
.. I
w-T I T.
:
Ho·Jé UJ- SP[ 'r.()
.
' 'o
' I i
J r ,. :o #f OV! w- ~PE'- k'..~v~IA : r o u •TIT i-lHJ
' ', l •e Io o
.
I
H.o.v:l !
W· SPE- lOI> TO UJ-:T IT-T cST. ' I

I
: I I
.io io I

.. . . .. .
HOUINCl ~
z
IPAOIJ llUUAL

' J • I
ou.
' •
I
n .. 14 11 J1 JI
•• 11 IO 14
"
X(8~ )
.,
1 U)- CO ltOO f I C..

,3 .-P
o . ' lo
o: 10 '
w-f>ll . .
o. ;o 6

o • o 5 - FL... Pie xx,


' o to r;5 -TI Ptl X(6}.
p; -PIJ
.
' ' n
' • o -6! Ptc /1 )
' ' n -RA PIC X(1 ) .
'
I
' • o
..
' o o

' ' n
''
I
1 , • ln Ho u t w pllG-- RE,- EN -c..~ HOD
' ' n Hov I.LI pft(T TD
' • •o Hov U)- PA6- F.R. 'fo -e.o Hooo.
] o o

Il trasferimento tra campi çomposti avviene co~


allineamento a sinistra; il campo di arrivo è considerato
come campo elementare di lunghezza pari alla somma delle
lunghezze dei campi elementari che lo compongono.(

11.10

La cultura è un bene dell'umanità (fantomasping@libero.it)


...ALSI EL
lGRUPPO
I~
I FORMAZIONE
Strutture
IRI FINSIEL per l'evoluzione

19. Si consideri l'esempio che segué:


I I
J., Io . ..
: I
I
: ./
'I'''
I

I ' •I •
I
! . I I C. . I
3 • fo
!
I I
., I
I
\c. .•. ! '
: ,2 10
'
:J .
. I
I
'
'
! I I: I
I.
I 4 :0 I :i-rov; 'AR ITC ,·'. . . LI O. . .
II ii ~b I
I I
l
HO\.tt . i LI o. I
---- -

Dopo ognuna delle due istruzioni MOVE, quale è il contenuto


dei campi W- FOGLIO- DEST e W-FOGLIO-SINI ?
AAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Dopo la prima MOVE W-FOGLIO-SINI contiene VEN


W-FOGLIO-DEST contiene TITRE~CARATTERI

Dopo la seconda MOVE: W-FOGLIO-SINI contiene CAR


W-FOGLIO-DEST contiene. ATTERE~~~~~~~~~

Il trasferimento avviene da sinistra ·a· destra an.che se il i


campo di arrivo è composto da . cilmpf

"-elementari numerici
.· ·.

come mostra il seguente esempio:

..
llOUlNCl ..,:

l ,.AO lt llUUAl
' J •

i,j•

z
8A
1 •
.,,
" ,. 20 H . 21 J2 H
•• •• ., . •• •• . )2

I 0

Ì • I• ,.
~ •
1
iij . . : , . i -! i : I1 . I
I
' :
i
; ! 1 %3 i µ1-cott-bAITA 1 1 I P.t c. x//) VAL U[ iI 31?f8 9i ':•
o i.!o :.: : :.. ; . . . :. . ! '1 l ; ; ; ~
I
• , .• 1 + . , , . l I , i 1 • : : I
o!e;o . . //J3. : . LII- 011 f.A .: : I: :.
I;O 0
f65 IArDA IT" A - ,61G Pie 99.
!)s w-L>IHA·- ·t1 t1 . . :
f IC ~H.
~s w-ctt T~:.. A~I' Pj (..
''9.
I Il 6 '. 0
I '• •
~s :)).(),, ii-.s ( . PJc ~ ~.
,I·:
. I
o
' o.o

, . • l'I

·- ~-~-

Dopo l'esecuzione della MOVE il campo W-DATA contiene


310890~~

E' bene non dimenticare mai che il camoo composto è


considerato sempre un campo alfanumerico

11.11
Proprieta ltalsrel s p.A . Le copie originali sono contraddistinte dal retino stampato 1n rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
20. La MOVE seguente è corretta?
' '. o I
. . ' iI !
VA LU[ .8~~ q; .
I

?3, W-pA -r11:-:1ti, ! pu.. q(6)


.
, : • 10 '
I ' 1' I ;
, ! o'.o :
iI W-D~ ~,u I I
I
~3:
I I • ' . I
!
I I
3 >l o
I' '
J '. •(o I
I i ~5 . W-()19 -T!i-6 i;: I
p Il. qq_ :
i '/)~:. 019'Tll-H i.J- 11' ' ! p Il.. 99.
,5
, , • ,o I
I I : :
• lo
' t.ti-c·Arf:A:- _AA. i : f'IC qq. I

.
3
I !I I . ; i :
o. o I

.
I
I I I I

I I
'+:lo 'H.oyE I
w- MTA - il tJ I • '
:ro w-l>
. I
~TA
'
'14 :~ I
! I :
I I

'
i
I
4/b I ' i I '

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Si'

21. E quale è il contenuto dei campi W-DATA-GG, W-DATA-MM


W-DATA-AA al termine del trasferimento?

08, 12 e 90 rispettivamente

MOVE di costanti figurative,'


Le costanti figurative sono utilizzate frequentemente
nell'istruzione MOVE.
Si esamini l'esempio seguente

1
HOUlNCI

lf'AOfl llUUAL V A
3 • I I
zo
, ..
' 12 .. 20 .. 21 J2 . ..., .. •• 12 .. IO •• Il
"
I o l' 1° )
' . I I : I I
I
I
II I I
)
' I
. I . I
I
I i )

f1.
I
I I
' :
W-'.FiLA'" ' I
)
I ~ i
i P. 1~ X.·
I o I· i•
I
i I I
.
I
I ' I I
! I
I
.
I I
I I
I '
1.1. Pie 'I. l~P
'
~: i I
Y•. !
I:
I

~-f. ~-6'E
o i I I I
I ! ! !
I OI I ,o I
I I I I I I

I !
'
'
I
I
i . '
I
~ j

I10.
'
I
.! "o
I o i I
Ho"
. i
J.E '
5P ~~(; .11-!-f LA~ µ.i-u. uJ.
. I
I

I 1 I0
I
:
- - · I -
t
,____.

La MOVE "abblenca", cioè trasferisce caratteri spazio nei


campi W-FLAG e W-GEN.

La costante fi gurativa assume automaticamente la lunghezza


del campo d' arrivo. Infatti il trasferimento provoca 11
riempimento di tutti i caratteri del campo ricevente.

11.12

La cultura è un bene dell'umanità (fantomasping@libero.it)


..."'LSIEL
l3RUPPO
I """
I FORMAZIONE
Strutture
IAI FINSIEL per 1·evoluzoone

Le costanti figurative

SPACE (o SPACES)
BIGB-VALUE (o BIGB-VALUES)
LOW-VALUE (o LOW-VALUES)
QUOTE (o QUOTES)

sono costanti alfanumeriche e possono quindi essere


utilizzate nelle MOVE alfanumeriche.
La costante ZERO (o ZEROS o ZEROES) assume il tipo
numerico o alfanumerico del campo di arrivo e può quindi
essere oggetto di MOVE numeriche o alfanumeriche.

- jo
I

i II i
I

i :J.~
I :
1 • I l ,' I i I I
1
I I w-:Hv,.; I
I
I I I
'' i ci( 5).
I
I
I

! ! ' i . 1o I
~Il !
I I .1.io
I
~3 II -·N11 H-A IC x.(5) . I

+1. I : ,· i ~ I I '
I
'
ttbvr : !u:'. ~o
I I
: : • I
; :
-·HlJ -Alf .
:
I
I
'i+
, • o
: II
I I
I
I i ;
I
I
I
I
I li I
I
'
I i
I
- NIJ
·- - ·-- -
I
' :
' I
I
I

I :

La costante figurativa ALL costante provoca il


trasferimento del o dei caratteri. componenti la costante,
ripetendoli fino al riempimento del campo d'arrivo.

22. Quale è il contenuto di W-NUM-ALF dell'esempio


precedente, dopo le seguente istruzione ?

'J•1•
Mo:vE: t4.l.~ : '. '~·I . l'fo · ~-Nv~ -Ad=.•
I I I

' !' 1o . ·• ;
t ) I oI o
1 r. I ; i . ' I ' : i
i
' ' • _.1_.__1__,'---__,~l~I- ~ -• . L

*****
23. Quale dei seguenti periodi è in grado di "abblencare"
W-TITOLO ?

I J !' •o I '
-- --
: ' I
I '
J I • lo
ti.' :lll-T I
. ,· . I "fqù :
I
I I ~te. x(6) . I

'
I

I '
: I I '
11' I ! l i
''T
I I I
A. I J 1I O
! H·o\i.E '
I
I
TI> :...v-7 1Tot. ~). I
! i
• o o
II
' I : I
I i
I :

B. I I +bo i i' HDLI~ :SP h-l.E > I I


rro
' : ~-:r ITO L.- ~-

i
! "~.,
. I
I
' I I ' :
i
I
'
~:Il? ; I

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

11.13

Proprieta 1tals1el s pA Le copie originali sono contraddistinte dal retino stampato 1n rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Entrambi.
E' consigliabile tuttavia l'utilizzo della costante
figurativa SPACES, perché indipendente dalla lunghezza del
campo di arrivo.

24. Quale è il contenuto dei campi


! ; o t, f o I , , . • t'
: I . I I
l I
I l
l P.1'- 1j4) .
I
I
0 1 ·H O I
j I
I
I ! l !
I1:
I I I :
1.1. l I
o I I
P.1.c. X(q). I I

' I! ·I· ,i o l1i t


!
I I : I
I :
I '

dopo le seguenti istruzioni ?

I .I o ,' o
t I ' I I I
I I
I ') I 0
Hp ~ 2 'i
. . i
· : koV: I ~
I ' . ,
I I
ol e l o
I . " I I . '
'!o! o I HOVI i p -e.o Hoo· I
I '
I : i
I ' !' jo
I
I I I I i !
I I

~•
I l •
' I . I I ' '
I - ·C H.O!D, '
__ }iOVE 1iO. .
, •• f o I I I
I I
: . ; _....___
I I " . ' '
' I ' ' I I
~ ' l'J• I
I :
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A. 0000

B. 0000

c. 0000

D. O (con la costante ALL '0' il contenuto sarebbe stato


0000)

Poiché il contenuto iniziale di un campo non è noto, spesso


è conveniente o necessario inizializzarlo ad un valore
stabilito. Ciò è possibile in fase di esecuzione con una
MOVE prima di utilizzare il campo, o in fase di comoilazione
con la clausola VALUE nella sua definizione, come mostrano i
seguenti esempi:

. ---
..
.
; I '
i I
! I !
' .i i Pie.
:
I
1 :
: Pie.

oppure

.--
. ----·. !
:-ro: u>-c... Of(! •
.
; I
I
:.. j I
I I I '
I 'l'j° !
I ' ! I I

I !~
I I
:t10VJ;
. :
l It o
:
:re w R,16A .
I
i ojo I I
Ht)\Ìii ~p ACE~ I

11.14

La cultura è un bene dell'umanità (fantomasping@libero.it)


...ALSI EL
l,RUPPO I~
IRI FINSIEL
I FORMAZIONE
Strutture
per l'evolu21one

Azzeramenti e abblencamenti sono inoltre eseguiti quando, al


termine di un ciclo di elaborazione, è necessario
ripristinare certe condizioni prima di iniziare il ciclo
successivo.
L'esempio seguente riguarda il caso ora indicato

.. .. ..
llQUlNCl ~
z
i'AGii IHRIAl 81 A ,e
1 J .. • • · 12 ,. 10
•• u ,. •• ,; •• •• .. l2

°I';·
j .l
I • . I ' .
•1•!o t1_jL·_;,;1iLiL ETi. I • ; I I I I I I I

.'. I ..•j •,\o.


I ; 'f'JVIJ ...
t j " I .. • .. I I I
I : .
! ! I I ;
I
I

I: . ~.u~. -p DI NI :i ' I
'. II
! I jo o I I
I .
I
I
; .
..
:ro w 'I I I
I

i I .l, i. j I ~ i I I '

I t I I I I . i
I
I ' 10
! I • l:F EQ i'll
I i6 •0 . ~LS
I
' •io PER T ~V
, : o io ' i
I I ,~ , I o
I

i
I
I 7 1 ' IO
i t ! I I

'!,1·1
. ·o
I
. I
I ;
J I
I ~ ' ' I I
I
j
1
'I°'° :I I
I
i
; I : I '

i 'I"°
I I :

I I ' ·1·
' I
;I ' !
'JI•I•
I

I j b I i ; I
: I , .•
I I

• fo o : I
I
ll
I
I
I I

r 1 j

iI I 1

11.15

Proprietà ltalsiel s p.A . Le copie originali sono contraddistinte dal retino stampato in rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
25. Come si può descrivere in WORKING-STORAGE SECTION il
seguente record di stampa?

W - LAVORO
CODICE UFFICIO PROVINCIA
6AN lOAN 20AN lOAN 30AN

z
. ou.
.. .. .. .
ltQUINCl

'
,
IPAOU ISfJUAL
t 1 I .,,• ,. 20 21 ,, ,. •• u IO .. .. ,,
,, . l I' •I' 1· I

. I . I .' I- I :
Ii 1 11 .
I j I ' ! ' I i: ! ' ! I
o1. o W-Ul v;o :~o '
;
I
I ~. J
. , . ~ · 1 kiJ- iL.A• . I '
' I I I
'. I I ! I I
:
.. I
I
I
I
I

+!· 1:1 ~ j
I

I I vo ~.e -~p:c I
I
I f' I C.. x/6) ' ' I
:
I

llo
.,.J-ùl v oR.o 11
Fi IL°L IEi~ :
: I
I I :I !
f'Pie
, c. !)( ( i,0 D.. I ' I '
'
: I I I
I I

·+ II I : I : ! I i
..
' • I ' I '

I .,T I 1 ~3,'I R,;L:LE.R-: I


i
I
ì;i x.r~~ ) :
I 1 -.U(( 1
I

I;'
I
1 p, (.: j(~ p i
: I
I
'
! I I
: i i :

~: :·
' '
I I II
I
' !
I . 1 !
! I I ! I I

I . : Iò'. l W-L~
I
~· ,e_
I!• 0 Vp .RJp -'PJR.o IVI I I I ~( .3~ ! '
I .I ;
i
I '
: .I. • J I
: ' I iI ! ! I

'r·l I. :' i: ' II !t I ; !. I ~ I i I ; !t i; i ! I


I
I I
I I ' i ' iI
I
!' !:
I
I I I I I

I : !
I lI :
I I I
! ; : :
B. I
, ' o .o
~ ,11 : :u-'.·!-P \IOR.O •.. !
~
I
i I 'I ' '
I ..
I :i
I

xf(J"J .
I
i , ,, o l.t.q_;, llO;R.O - 1co1> I I • I
I PIC I
I

! ,.o I UJ3.j
~.3 '
' .
F_l :L~ tRJ i i I i '' I !
I
;
'
P.1<. Xfi-i~ ) ' :\(1, '- ()€_ 5.PAC ES.
I
I I ,> . o . i: ~/3! I µJ-it;~ ~:o~-p l~r~
I O

i! i
!
I'
I
'
I P·tc f (~# ) ..:
: : I
I
!
I
!
I
I
I ; (I~,1 1Fj1Jl.i.. ~i~ ! I ; !I
' '
I I : I I P1c x· (1~ ) ;V(t LU.E Sfllc ~s: .
I I , oo : f/)13 , I .L~ ~iO•R.D -'PR.D l'J : I I I Pie J((!>p ) '.
• I

i i
'
II I : ! ; I I ' ' i i
I
J t, o I ' I 11 I 1
I
' Ii i II ' i I I I
--· -- --
I
·~ - - ..

Entrambe le descrizioni sono corrette. La presenza dei campi


FILLER impone in A. di "abblencare" tutto il campo a
programma con l'istruzione

,I·!. i
i x~·vf
I
!
i !
Sf ~:e(~ ~o lii- ~~vjo R.0.
l I
'iT I

!
'
'
I
I
I
'
' ! I

.
' • o '
I I
: I I i I :
I o 1• i

11.16

La cultura è un bene dell'umanità (fantomasping@libero.it)


l"T"ALSI EL I
& I~
RUPPO IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

Concludendo la trattazione sulla istruzione MOVE si


ricordi che:
la MOVE alfanumerica /
- esegue il trasferimento da sinistra verso destra
(allineamento a sinistra)
- se il campo di arrivo è più lungo di quello di
partenza, le sue posizioni eccedenti a destra sono
riempite con caratteri spazio
- se il campo di arrivo è più corto di quello di partenza
il trasferimento si arresta al suo riempimento, i
caratteri del campo di partenza eccedenti vengono cioè
troncati
la MOVE numerica
- esegue il trasferimento da destra a sinistra
(allineamento a destra)
- se il campo di arrivo è più lungo di quello di partenza
le sue posizioni eccedenti a sinistra sono riempite con
caratteri zero
- se il campo di arrivo è più corto di quello di partenza
le cifre più significative del campo di partenza
vengono troncate
in entrambi i tipi di MOVE
'
- l'esecuzione dell'istruzione non modifica il contenuto
del campo di partenza
- il valore iniziale del campo di arrivo viene modificato
anche se impostato con la clausola VALUE
- il troncamento non altera il contenuto del campo di
partenza nè è considerato errore in compilazione od
esecuzione
- le costanti numeriche sono soggette a MOVE numeriche,
le costanti non numeriche a MOVE alfanumeriche, le
costanti figurative a MOVE alfanumeriche o numeriche
- l'istruzione MOVE è ammessa tra campi di tutti i
livelli gerarchici
- se il campo di arrivo è un campo composto il
trasferimento segue le regole della MOVE alfanumerica.

11.17

Propneta ltalsiel s p.A. Le copie originali sono contraddistinte dal retino stampato in rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
La cultura è un bene dell'umanità (fantomasping@libero.it)
.....Ll ITALSI EL \ ~e~,~u~~•oNE
~ GRUPPO IRI FINSIEL per revoluzoone

Capitolo 12

12.0

Proprietà ltals1el S p A . Le copie originali sono contraddistinte dal retino stampato 1n rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
La cultura è un bene dell'umanità (fantomasping@libero.it)
l ~ALSI
I """'
EL
..,RUPPO IAI FINSIEL
I FORMAZIONE
Strutlure
per I°evoluzione

DESCRIZIONE COMPLETA DEI CAMPI NUMERICI


In questo capitolo viene illustrata la descriz i one completa
dei campi numerici e le loro possibili rapprese ntazioni i n
memoria .
Si esamini l'esempio seguente :

.. .
llOUl NC[ i-
z
( ..AQ(I llUUA l
1 l 4 I
8A
1 I
I
' 11 tt JO
•• ,, ,. 40 ., to •• .. 11

I o I' j• I l . '
I
I :! j J I I I

I ; O! •~O I I
o I • IO
I
I

1. Quali dei seguenti valor i può assumere il campo W-TOT ?

A. 13789)5
B. 000000
c. 020000
D. 12 . 280
E. )5)527)5)5
..
:

B. e C .

2. Si .associ il carattere 9 (numerico) o X (alfa nume ri co )


ad ognuno dei valori che seguono. Si utiliz zi X solo se
il valore non ammette 9.
A. MICHELE
B. 3273536
c. 3/25
D. 100-120

A. X

B. 9

C. X
D. X

1 2.1

Propneta ltalsiel s p.A Le copie ong1nah sono contraddistinte dal retino stampato in rosso. Ne e vietata la nproduz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
3. Il campo W- COD dell'esempio che segue

I
I bDII ,i
I ' : I I I

I '-,c.
1 ' I

' ,o o
I .
I 1 10
1
1 1 ,
I
:,.J I
I
~3'.
: I 1
I I I
1
:
i
,:I i
I·! I
i
J
1
I
L
I
'
L L
'
L

P:I C. ·
' l ;
'I :
11
I
:1 )...
I
: I '

I
I

1
!
!
l
r

I
I

' Jj__j
''. . '
' I
;

;
. .. '

può contenere:
A. caratteri numerici
B. caratteri qualsiasi

B.

DESCRIZIONE DEI CAMPI CON SEGNO


Nel campo W-SALDO, descritto come segue:

lo . I
f i: 11 LI I' I I :
I j I :
~/6:) .
I '
I
I '
I II l I I I :
i
~3:
. I
:Ii l
' I I
I '
I
L

I ' • o p l.C I I I I I
I
I ' • o
I I' !
! I I
'
! L1
I
i
I I

possono essere trasferiti valori positivi o negativi

i I

Il valore tuttavia viene memorizzato in entrambi i casi solo


come valore assoluto, c1oe senza segno. Pertanto, se il
valore originario è negativo, il risultato delle operazioni
(aritmetiche o di confronto) cui può essere sottoposto il
campo W-SALDO non è corretto.

Nel campo W-TOT descritto come segue:

! i : ''
I
I I ' I
!1I
I '
'j !
! i

il valore viene memorizzato con il segno (+o-). Il campo


potrà pertanto contenere valori positivi o negativi e potrà
essere oggetto di confronti o operazioni algebriche.

12.2

La cultura è un bene dell'umanità (fantomasping@libero.it)


l 'T"ALSI EL
I~
I FORMAZIONE
Strutture
GRUPPO IRI FINSI EL per l'evoluzione

i~oti che 11 carattere s, indicatore di segno:


- deve essere il primo carattere di sinistra
- non occupa posizione in memoria (si vedrà in seguito come
viene rappresentato il segno in memoria)
- può essere utilizzato solo nella descrizione dei campi
numerici.

4. Quante posizioni di memoria occupa il campo W-QTA


dell'esempio che segue?
II llJ ' ·nmì,.. ~ l ;·
ù: ~~~ i i Ii :Iii i I ! i Iii~~~~nf~);.j : :;; i ! : i ii
I i ' 1i . r I
'.I i ,
i I
I

:; '.!f I : t 1
i
!
I :
I I
: I

A. 5

B. 4 ··:.

c. 6

B.

5. Quali dei seguenti valori possono essere contenuti nei


campi W~QTA e W-VEN dell'esempio?
A. - 1235

B. + 1235

Nel campo W-QTA i valori A. e B. (il segno + può anche


essere omesso).
Nel campo W-VEN solo il valore B. (del valore A. infatti è
memorizzato il valore assoluto 1235).

12.3

Propneta ltalsiel S p.A Le copie ong1nah sono contraddistinte dal retino stampato in rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
6. Quali valori possono essere contenuti nel campo W-QTA
dell'esempio?
A. i valori compresi tra -9999 e +9999
B. i valori compresi tra O e +9999
c. i valori compresi tra -9999 e O
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A.

DESCRIZIONE DEI CAMPI CON CIFRE DECIMALI


Spesso i valori numerici hanno anche delle cifre decimali
che non si vogliono ignorare.
Si è visto, trattando delle costanti numeriche .(vedi Cap.
2), che le cifre decimali in COBOL sono separate dalla parte
intera dal carattere • (punto) anziché , (virgola).
Con il seguente periodo

-.J ·-·~-r ~n11fnf1 ~t #t f,~' IiJ.i~ il !


i I; I • I i ' I
>.' '. · i~ ! : 1-j I : : ' I : I ! . . I !
'. . .; - 1
I I
:II I I I
. , o. , -ico ~
·111' J lI
, ••
· · ,- : •
. tta1v .E I , . i.
: : - , 1 , 1 i ..Li ; i . : : ! 1 1-1 _r1
T tt; r1.- , - 1- T .1 '
1: :
I
I
I I
I
I
i: iI ·i I i! '1

. I I '

si vuole trasferire una costante decimale nel campo W-COM.


Se W-COM è definito nel modo seguente

I! :l: :
I ! .1 •• I.
~. :'. I J_1I ;, ' .
. w-,<.XJ tf, ; '
. I I ''
I -1··' J1
I
·rI' rrìlT
;
' . .

TI '. '. t.e r;;e~..)..
. '
I
I
I
::•· •. ' .
• .
J

I
1



I
I
I
'
l
'
. . •

• . .
r.. .
• • ,. l ;
I
. , .I
' ' '
!
I..
I

: I I : , i~ ~ -~ ! ! ;;: J . . , I .

nel trasferimento le due cifre decimali sono perse: il campo


W-COM assume infatti il valore 0012.

Per descrivere i campi con valori decimali si usa il


carattere V, che rappresenta il punto decimale.
Come il carattere s, il carattere V non occupa posizione in
memoria (e per questo è detto punto decimale virtuale)

Definendo il campo W-COM dell'esempio nel modo seguente

I'
i
'I rrI I
I
wr- 1c 1c t1
I : 1I :'
: !.
;
I
i
l
I
I
; ! I II
i
. Ii :
' .i
I
I
:
I
i
r i '.C. ~,_V~
~.- ! !
:
'

11
I I
I i . ! ! I : I

I I i !: i ! '
I
;
: I ' '
' I '
I I I

.. ' .. .
~ ...

il compilatore può effettuare il corretto allineamento.

12.4

La cultura è un bene dell'umanità (fantomasping@libero.it)


-rALSIEL I FORMAZIONE
& 1 I """"
GRUPPO IAI FINSIEL
Strutture
per l'evoluzione

7. Il campo W-QTA dell'esempio seguente quante cifre


decimali contiene? E quanti valori assumono i campi W-
SCORTA, W-GIAC, W-QTA-ORD dopo la MOVE?

.. .. .. .. .. .
llQUfNCl

u.
•'. .. ..
~
z
o
,
l~AOU llUllAL :o
•• ••
'" J2 12 12

I i :' ' I
I
! : !- ' :i I •
~J' .5~ -:~lZ. . I :i j
I : I I . I
~9:99
I

I
I II
I ' ;
I
'
I!
·1.c:
i I ~:9 , 99
I
:vr LUE
'i I'

I ! . ! ! ' '
i
II i' l I 1
I I
I

' I
I
I
f. I
! i
II '
;
Ii i
I
:
!
! '
t 'L
I : ;
! i :
9!9;9.• '
' !
I! I' I
i
I ;
'

'
I '

i
!I +
I

!
!
!
I

I '
'
iI i
I
~1 .c; (/9;9:9V:99:. ! i I

!
:

i i
I I ' : :
I
;
I I
I
I
I
I

P,I c. 9:9:99 I/ 99 ~ ( ;
I : I
i
I I
I
I
: J
I
I
I I
'
I I
'
: I

~- i
~ '
:
I

-i'.r.• A
i
I
' '

-QIA -O.R,P
' . . I
.!I I
I

!
I,
!
I

i
I
' '
I Ii I I I
: ' i I I ' J
I

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Il campo W-QTA contiene 3 cifre decimali.

Dopo la MOVE il campo W-SCORTA .. conti,ene il valore 250, il


campo W-GIAC il valore 1250 !··1 2· e" il-:..campo W-QTA-ORD il
valore 1250.1250 ··

Si noti che:

- un c·a mpo numerico non può contenere più di 18 cifre "


comprese... que.l le decimali f
quando · i'a descrizione di un campo numerico non comprende
i arattere V, è assunto come campo con valore intero

- l'allineamento avviene al punto decimale, e: da destra a


sinistra per la parte intera, da sinistra a destra per la
parte decimale. Pertanto se il campo d'arrivo ha lunghezza '
maggiore del campo di partenza il trasferimento è
completato con zeri non significativi a sinistra delle
cifre intere e a destra delle cifre decimali
- la PICTURE di un campo numerico ovviamente non può w
contenere più di un carattere V

- il carattere V può essere utilizzato solo insieme al


carattere 9 cioè solo nella definizione di campi numerici
- il carattere V a destra dell'ultimo carattere è ridondante

12.5

Proprietà ltalsiel S.p.A . Le copie originali sono contradd 1st1nte dal retino stampato 1n rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
8. Il carattere V rappresenta:

A. una posizione di memoria


B. il punto decimale reale
c. il punto decimale virtuale

c.

Nel manuale si utilizzerà la notazione per indicare A il


punto decimale virtuale di un campo numerico in memoria

9. Il campo W-COM ha in memoria il seguente contenuto

Ad ognuna delle seguenti descrizioni si associ il


corrispondente valore del campo, apponendo nell'opportuna
posizione, il simbolo per il punto decimale virtuale.
A

j' ,
.I II I I

j I ; ! I !
I ; :
I II PIL 19:9°9 ~</f. i I : !
'
:
;
I
I I '
II !:I
1 ; I I !
1 I '
I p I c.' 9V9'9 9'99'. i '
: I i :'I II .I'
I ;
I I ' I I 'I . ' . iI
I I

!I ' 1> I :e: ~~: '.91,,,f. I I


I

I ! ' : I
I · 1 ! I
Ii i
I I I

I ~I e'
' I
I I J 1'3f6) •
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A. 1234A56
B. 1A23456
C o Al23456

D. 123456'"'

12.6

La cultura è un bene dell'umanità (fantomasping@libero.it)


~ ITALSIEL ~?,~t~u~~IONE
\J..I GRUPPO IRI FINSIEL
Iper l'evoluzione

10. Quali dei campi che seguono sono descri tti in modo
errato?
a& CWINCI ~

tf'A81!
1
~Ila.Al
.. .. •
8
,
A

:e
'1 ..
•• .. ,.
.. "

~ : t~ti r, ~ -~t tir


:·.

u 11
1

1
:

.. ·"
' u •
11 1 u -rr~rr11
I!
I

c. i / : : : ì 1 µ -1 o~e . '
I .
; I
I

D. 11 : : :
111 µ-ltHQ I : . !I
11 , ! ! I
I .

A. Il carattere V non può essere util i zzato nella


descrizione di campi non numerici1 inol tre con la
clausola VALUE deve essere specificata una c ostante non
numerica
o. La costante deve essere numerica

11. Si descrivano i seguenti campi numerici

W-ORE con contenuto : 1984~ ··:


W-PAGA con contenuto 2149•99
W-PERC con contenuto ·20
-. -- ·- T·-~- -,----,;-----.,------,.-----~· - · - --- -
I
·, i. I : ; .. ! I .
.·! e l •I I •.
I
·I : . . i

:·.· : ' " ::I ! : '

J '
I
I "
" :.! I .
. I ;

I ; ..' : : I
I
I ' I : I
I
4 "• "

:
' . I ' . I ! I : ;
I
! . '
I
' '
: . II ! I
I
! i i
j ! ' I ;
I •
'• I i
.. I
i I
IiI I II I
I I ; : ' '

12.7

Proprietà ltals1el S.p.A. Le copie orig1nal1 sono contradd1st1nte dal retino stampato 1n rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
12. Si descrivano i campi come indicato nello schema
seguente. Il contenuto del campo SALDO che è formato da
sei cifre intere e due decimali, può essere anche
negativo.

W-CLI
COD NOME INDIR SALDO
7 car. N 17 car. AN 28 car. AN 8 car. N

I
I i
1:111-'1 . J i , ì I 1
I . :
I
I
l '. !
1
I .
. I .

I'
! .
I '
j

. I I
I
! . : Il · I !:
i - ! i -- i i . i I
I : I • •
!'
I 1:
I ; i ' I
lI,
1

I: It 11 11 I 1
I '
I I
I I
'
I
I :
I !
I
i' : . ' :l : I
; I
I
I
! ;1 '
j

I i i i l - I HII· I!!i
.i '
! I
;;I
I
i; . , I Ii : I '

1 , r 1 "
I 11
1 i i , 1 i, 1 1
. I
'
I
I
i
'
I
:
I '
• I
I I
I I
I
I :

I
• !:I !:.

I
I
I : ' '

-
1 I ! I I
-,,- I ~ !!
I l l. i
I
I I •
' I
I- , , o
, • o
- .
1 I;: I
..
I Iii
'. I I
: : I
. '
I

l
' •.. !
I '
·I ! I ,
I
I
1 ' • o I l • i
' I' . ; I

11
' • o
) o o
) , o
l; i I
I i"I
I
! , 1
1
1 . 1
I
I :
l
• 1 : I

. : I
I
. .

13. L'esempio è completato dai seguenti periodi:

.. . .. . . ..
HCUl•CI

ltJAQtl llUllAL
1
• •o , •o
u.
iio
7 • ...:• .. •• u .., •• •• •• •• n
I

~) i I: i
1p ~~!ì
'
I i
I ' '
I , I :
I ! I I ' I I
-j , . I ' ! : :
I
P'. r~'. ~9.{~ ) ..: I
I I

H' I I ~ : : 1 ! I: !
I
1 l
i ' '
o • o Il I I
!i
lI
1 I
I
; I I
I i!' .. 1 . : I : i i
I I
~ ; '
1
:

II
I
o • o I
I
tH . I .i' II Ij , i:
i 111 I• i' i i I
I . I
I
1 . ' 1 ! I i I I

f
I
· I I ·
r. 1~. .s:~:c~ ).v.'' I
I '·'·i
o • o '
I
I; I ;
I ...
1
I:; ~ i I
i II ;

I
I O O

' I 1

I : ..
:. II :'
I I'
I
:, 1I
I '
I !! !
I ; !
:i I .~ : I
'j
I
1
I
I
.. ,
' •
I
I

i .
!
I
I I
I
i i i
: i
i
I
i I 1!
- ' I : I
'!° :tt!ovr ; w- ~A L.'D o1 I ~ dLj ~-.~o~ I
I
~- ~:o:H :-i .: I
I '
I
I • o I
i .: : ! : '
j ; :: I .I i
I
I I
.1o :'
;
1 · 11 : i i ;
I I I : 1
; I
' I I : I : '
I 1
-· 1

Se il campo W-SALDO contiene 025368'"'55, quale sarà il


contenuto di W-COM e W-COMl dopo l'esecuzione della MOVE?

W-COM 025368
W-COMl 025368'"'5500

12.8

La cultura è un bene dell'umanità (fantomasping@libero.it)


"'P'ALSI EL l
& lGRUPPO I~
IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

14. Quali delle seguenti descrizioni di campi numerici sono


corrette?

. . .. ..
HOUINCl ~
z
lfl'AOfl llUUAL
1 J •
A
t 1 I
8 , I
u tt 20 ... •• Il Il
"
A. i
oI '
'
o I ..
10
I
'O
:

W-TE HP~
. I
: !

I
l
:
I

p·I(_ 9.9.91 '19 •


'
l
. I '. !
w-. Pr' ~c. P1 e q9"./q 9'.
I
B. i
I

i • . .
I ' i o:o . I !

c.. l ' I2
I .
;o
.. . .
U/-~TA.
! I
·
I
p I C. q({,) .
I i
'I'!° . I ; I I I
[). ltl-ToT ' P.1e ~.9 • 9 9.
: :. .: .I :
; '
E. ,'o lo IV-. , 1I'HP.. I i P1c. 59(8).
l 1 ' !

F. ' • I•o PI C +S '1 { 8.) •


' i' lo

B., c. ed E.

15. Sia 2755 il contenuto in memqria del campo W-TOT-GEN. Si


scriva per ciascuna delle descrizioni sottoindicate il
valore che il campo assume.
' ! 1 lo I
1-r
I i : ; I l I
!
l ' oI o I I '
. l ! '
A. J;, lo
Ji. :o
rt. ~-!O
1
ft:-6€
"' ;
I
1
'
I '
'
:
P1c. 9(4).
6.
. !
,!•10 ~.~ i,c;-r:oT-Gi'J.i I :
P1l. V9{i).
l • o

c. • I ojO
j
'if. i.V-To T-GEH Ptc q99._9. ·
i'JlO : ' I
' , .

ti
I •

D. 440 w-:r, o1'-Gé Ti • I

<fio

A. 2755
B .... 2755
c. 275 ... 5
o. 27 ... 55

12.9

Propne1a 11als1el S p A Le copie ong1nal1 sono contraddistinte dal retino stampato 1n rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
La clausola USAGE

Normalmente i dati sono memorizzati per carattere, uno per


ogni posizione di memoria (byte), ove il carattere viene
rappresentato con una particolare configurazione degli otto
bit.
Il tipo di rappresentazione è convenzionale, e dipende dal
tipo di macchina.
Nella tabella 12.1 è riportata la rappresentazione in codice
EBCDIC, caratteristica degli elaboratori della serie IBM 370
alla quale faremo sempre riferimento nel seguito.

Se il campo W-AGENZIA dell'esempio


.. - . - --
....... •......• ..,,.
1
UOUllfCI

J
iio
. :
.,,:o N
" .. •• ,, . .o .. . . . I · ; ...
-

.. ,

I ·t
... IH µ-!1~~ ~? !~ P Ile I I
I I I

ifi- I I: II I I
II I.
I i I
••

11 "T
... I I ,: I I I l I 1 11 I
I
II

ha il valore AGl, il contenuto esadecimale in memoria è Cl


C7 Fl , corrispondente alla configurazione di bit

1110000011 11000111 1111100011

12.10

La cultura è un bene dell'umanità (fantomasping@libero.it)


-rALSIEL l
& 1 I~
GRUPPO IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

Mentre nelle rappresentazioni dei dati · alfabetici e


alfanumerici ad un carattere corrisponde sempre una
posizione di memoria, i dati numerici possono essere
memorizzati anche in altri mo~i
pack ed in cui ogni cifra è rappresentata in un semibyte
(anziché un byte)
· binario in cui il valore (nella sua interezza) è
rappresentato in un numero di byte sufficienti a
conte?ere il corrispondente valore binario.
Questi due modi di rappresentazione dei dati numerici
consentono un utilizzo più conveniente della memoria e una
riduzione dei tempi di esecuzione de.I le istruzioni1
aritmetiche. 1Sui supporti magnetici esterni (nastri, dischi)
i modi di rappresentazione dei dati sono quelli già indicati
memoria centrale.
Il modo di rappresentazione dei (iatj. viene · indicato nella
descrizione del campo che li ... contieiie, mediante la clausola
USAGE, il cui formato è

DISPLAY
COMPUTATIONAL-3
COMP-3

COMPUTATIONAL
COMP

L'opzione DISPLAY indica la rappresentazione per carattere


(uno per ogni byte).
L'opzione COMPUTATIONAL-3 (O COMP-3) indica la
rappresentazione packed o impaccata.
L'opzione COMPUTATIONAL (o COMP) indica la rappresentazione
binaria.

12.11

Proprietà ltals1el S p.A. Le copie originali sono contradd1st1nte dal retino stampato 1n rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
...•
"91l JllA
Si aunco
~. c:cma , ........u
~Llll ~.
aunco
ccmcs ma:&aID u:1 Il! ~. ,
IW.& mci muxco
CCllIC:Z
m
-
:mtUID
·

--
:DI :DI
nuauz. / ìll&Li
11&%.Z:

__.. .."•• ~
. ll&LE Pm'CRAZ.

I
, ••
J
00

...
•1
O!
1:.0.1....
IJ-1..
ll-1..
--1
-0010
ff
SA
sa
.• . ....
!
11-1.a
11.z.a
11.U
01011001
•INIOIO
elOI IOll .. ....
111
1n
I!
IJ
1!·11~
1!·11~
1!-11 .....
IOll 0010
1011 0011
1011 0100

....,,
l!J-4 •z K" . •101 1100 lii as 1!-11.0..S 1011 0101

, .....
Il..... -0100 SD I 11..s.a 0101 1101

..
I&! 1!-11-0-6 1011 0110
•• 05 1!4..
l!+t
-0101
-0110 ts
SE
SF
•:
...,.. 0101 1110
OIOI 1111 .
lll
114
Il l!-11.0.l
t!-11 ....
1011 Oli I
10111-
'
• •°'OA
I
ffl ll-l..
Il....
-011 1
-1-
.
f'1 '°" I
Il
O.I
0110-
0110-1 ...
IU
"
IA
1!-11 ....
l! ·ll~l ..
1011 1001
1011 1010


Il oa
l!-1 ....
l!-2....
l!..J..I..
-1001
-1010
-1011 "
100 ...."
,6J
6J .....,...
11.o.J•

11 ......
01100010
011011111
01100100
lll

,.,
IU
Il
IC
ID
IJ-ll ~U

IJ-11~ ..
1!-11.0.S.&
1011 1011
1011 "00
1011 1101
Il ac IJ...... -1100 101 11.0.S ..

.....,...
01100101 lto
• IJ.11 ...... 1011 1110

.""
IJ 00 IJ..S .... -1101 102 11-0-M 0110 0110 ltl IP' IJ-11~,.. 1011 liii

.."
M CIE IJ..S .... -1110 IOl

• IJ., .... -1111 104 ........ 0110 0111


01101-
192

.....,
CO IJ~ 1100-

.
ltl Cl A IJ-1 1100-1
IO IJ-11-1 .... -1- ICI! 0.1.a 0110 1001 Cl I IJ.Z 11000010
Il
Il
Il
IJ
11.1 ..
11.z ..
-1-1
-10010
106
IO!
6A IJ-11
~
0110 1'10
0110 1011 ,,. Cl c IJOl 11000011

" I) ll·M -10011 1• fC f. o.u 0110 1100 .., C4 D 12• 11o60100

-..
es IJ.S 11000101
• -
E

.."
14 11..... -10100 I.. ID N.a 0110 1101 1100 0110
JI
u ......
.11..S.. -10101
-10110
110
lii
6E
w
> o.u
0.1.a
0110 1110
0110 1111
1•

"'
C6
Cl
a
"
G
12•
IJ-7 11eoo111

n
" 11-7.. -10111 112 lO ' IJ·ll~ 0111- :IOI C9
H
I
11.a
IJ..
11001-
1100 1001

..
M Il 11.a.. . Cf!Ol 1 - llJ 11 ll·ll.0.1..f 0111-1
IS
" 11.1.... .,
Jll2 CA IJ~.a.. 1100 IOIO

..........
-11001 114 1J ll·ll-0-l..f 01110010 Cl IJ.o.J.l.f 1100 1011

n
IA
Il ..,....
11.z.a.. OOQI 1010
-11011
llS
116
1J
74
11-11....,...
12·11.0.U
0111 0011
0111 0100 .,
,..
cc
C'D
Il........
n~
1100 1100
1100 1101
• ........
-
a
"
IC'
ID
........
-11100
-11101
lll •
lii
"
1S 12-11-0-S..f
11· 11.._....
11111101
0111 0110 ., CF
IJ.o.M..
IJ.o.7.....
1100 1110
1100 1111

JI
a
IE
lf ...,.... -11110
-11111 "' "
IJO
n 1i.11.o.1..f

...
11°114&..
01110111
0111 1000
DO
DI I
Il~
11-1
1101-
1101-1

..• ...
20 11.0.1.a.. 0010-

,."
121 0111 1001 110 DJ lt 11.J 11010010
JJ JI O.I .. 0010-1 IJJ 7A : l.a 0111 IOIO Jll DJ L 11.J 1101 0011
..,
..
Jl 0-1.. 00100010
lM

• J) C»-' 00100011
12J
114 1C
,..
l.a 0111 IOll
•1111100
llJ D4
• 11..S
11010100
1101 0101

-
llJ DS N

J7
•,.
J4
lS
16
~
o..s•
00100!00
00100101
00100110
IJS
12'
lll
7D
7E
7F -- ,.....
0111 1101
01111110
01111111
li•
lU
116
116
D1 ,
.,, •o
DI
o li'
11·7
11.a
1101 0110 .
1101 0111
11011-

• •
•1
J1

Jt
°"'..
0-M
O.I ....
00100111
eo101-
eo101001
IU
IJt
IJO
IO
••
.
12

••
12.0.1.a
Il.o.I
11.o.J
1--
·--1
•-11110
117
11'
lit ..
DA
Il ..
11·11.J....
11·11_,....
1101
1101
1101
1001
1010
1011

..•
eJ
tJ
JA
JI
o.z.a..
O.J.a..
00101010
0010 1011
IJI
IJJ
IJ
4 ·~
IJ-0-4
·-0011
1-0IOO
J20
JJI
DC
DD
12.11.a..·
IJ-11..S....
1101
1101
1180
110)

....,
o.u..
JC'
JD o.s.a..
0010 1100
0010 1101
IJJ
IJ4 "u •, IJ~
11-0-6
·-0101
1-0llO
m
JJJ
~
DI'
IJ·ll ......
IJ·ll·l....
1101 1110
11011111
lE 0...-.. 0010 1110 IJS
"u I 11.0.l 1-0111 2J4 !O o.J.a 1110-

..• JF
JO
JI
0.7....
Il-li.O.I....
I..
0010 1111
0011-
0011-1
IJ6
1n

.,, .
"
•I Il.o.I
Il-
1-1-
1-1001
JJS
JJ•
El
El I
11.0.1..f
o.J
11100001
11100010

.."
IJI IA IJ.o.J.a 1-1010 m u T O.J 11100011
JJ l..f .... 0010 IJ-4»1 1-1011 JJI
••u IJ M 11100100
JJ
...,...
M 0011 0011 1411 IC IJ.._... 1-1100 JJt V o.s 11100101

.
u
u
J4

...
0011 0100 141 ID

.
IJ~.. 1-1101 2JO u • M 11100110

....." ..
JS 0011 OIOI 14J IE IJ.o.M 1-1110 lii !l X 0.7 11100111

,.. ........,....
~ 0011 0110
Jl
... 00110111
Ml
I. .
IF IJ.0.7.a
11·11· 1.a
1-1111
1001-
JJ2
JJJ ,.
u y
z
CM 11101-
1110 1001

..,
001•1- IO ti I IJ-11-1 1001-1 JJ4 IA 1110 1010
,....
..,."
J9 I.... 0011 1001 146 tl k 11·11.Z 10010010 JJS !I · 11.0.J.a.. 1110 1011
,. JA
n u.-
00111010
001 : 1011
tl I 11-11.J 1001 0011 1M EC . 11........ 1110 1100

...• X" ..... 0011 1100


1•
I..

..


ll· ll•
1i.11..s
10010100
10010101
m
UI
!D
!f ··~
11.....-..
1110 1101
1110 1110

,....... __ ,•
JD ~ 0011 1101 ISO 11·11• 10010110 lJf !F 11.0.1.a.. 11101111
~ JE
JI'
.,
.... 11111
oOll
1110

-
1111
UI
IS?
f'1

ll· ll·l
11.11.a
10010111
10011-
J«I PO o
I
o
I
1111-
1111-t

...,...
:141 FI

-. ....
«I
41
4!
4J
IJ.0.1"'
ll.O!A
1 !~
0100-
OIOOIXIOI
0100(010
010011?10
ISJ
u•
us
JS6
.."..,
tA

te
r 11·11..f
IJ.11.z.a
IJ-11.U
11·11.._.
10011001
10011010
1001 1011
11111 1100
J4J
J4J .
144
J4S ,,
n
PJ
P4
,
l

•s
,
2

4
s
1111 0010
1111 0011
1111 0100
1111 0101
• I!.._.. 01000.00 Ul 11· 11..U 1001 1101 :146
,.," • • 1111 0110

,.., ,,,.
4S u.o.s.. 010001)1 UI tf 11·11... 10011110 l., 111 l.0111
• ., ' •'
"r. .. I?~
l!.0.l..
1!.o.M
l!-t.a
OIOOOl ' 0
0100 011 I
0100100(!
0 100 1001
IH
160
161
162
tF
AO
Al
Al. •
IJ. 11.1.a
11.0.1.a
li.O.I
11-0-l
1001 1111
1010-
1010-1
10100010
l•

lSO
.
PA
I

' '
IJ·l l.o.J....
11111-
1111 1001
1111 1010

",. JSI 12-11.o.J..a.t 1111 1011

...
4A I! :.a 01001010 16l Al I Il~ 10100011 2$1 PC IJ. 11 ........ 1111 1100

"n... •«: •< l!..U 0100 1011 1.. A4 11-0-4 10100100 JSl P1> 11·11~ 1111 1101

.
I!.._. 0100 1100 AS Il~ 10100101 n IJ.11.....-.. 1111 1110
,. 4D I I!.$.. OIOO 1101 '"
IM A6 11-0-6 10100110
JJ4
JSS PF IJ-11~, .... 1111 1111

•'"
4~

4~
so
I
a
+ l!..a
l!·l•
I!
0100 1110
1100 LIII
0101-
...'"
lff
Al
Al
A•
7

11.0.l
114&
Il-
10100111
10101-
10101001
•1 SI 1:.......... 0101-1 110 AA 11.o.J.a 10101010

.,•:
..,..
S! IJ..ll~A OIOI 0010 111 Al 11-4»1 10101011
SJ 11-11->"' 0101 0011 172 AC' 11 ...... 10101100
s• l!.JI~ 01010100 111 AD 11.0.s.a 10101101
es
"
S•
1!-11..s.A
1!·11-
01010101
0101 0110
0101 0111
174
115
Af
AF .....,..
11.o.M

u-11.0.1.a
1010 1110
1010 1111
1011-

• "SI l!·ll·l..
01011-
11• 911
IJ.11.0.1 1011-1
1!·114A
"' Il

12.12

La cultura è un bene dell'umanità (fantomasping@libero.it)


"'l"'ALSI EL
l,AUPPO
I~
IAI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzione

Esempio:

ili ;I I I ;
; ::l I i, Ii !1.!l I: L: i ! I '

1-1
! : 1-
Pii :~
I!I I
II II
• j(!
'9. I
: I I
I jI
)~
I
I .I

I
1

l l)5A E Il f DlfI "p. I


; .

1 I
I
1

:
I
J
I
I
I
,
lI !I ! I .
I1
I : .
! I

' • o I
I I
1 iI j I p'III Ì(J.
., '
I
I
I
.
I
/iP >I : :
I
1I
U.S.~
J :
~ , !PI 15.f':L
J • "

l
••
.'f. •.
i !:
• 1;
j1I .

'
'

'
'
I
I ,
'
I

f PI .c. 1.'-9~
I I I . I •

., I
o o I
1. I,: ' 11 II ..
'
!
' I ' ' '
t
"I
(.. MP- 3.
"I
I
..
I
1
i I· ....
, , o II ' !I I I
I I I I I ' '

La descrizione seguente equivale alla precedente:

I I I~ Iì I i I :
I II
I ..
Il ·
'I .
'

I 11I i l! I I. P.1,I !C': .. J ! 1 l I 11


iI;.
I

I I l j Ii I- IJIic,l ! I i 'j! ;, I
'. I ..
' , o I '

I I !i
i_

1 1
.. I 'l .
11 . ! . ! I .
I
' • o
l
j
ll
1 I I ~ ' l .
I
11" L l · ' I
' • o I 1 I'('. I I I I I
I
I
I , ' I I , : '.
' • o j I ;
I .
I I '
I :
I I lIi I : : i

Si noti che:
- la clausola USAGE può essere specificata per campi
elementari (di qualsiasi liv·e llo)
..
- la clausola USAGE può essere specificata anche per un
campo composto. In questo caso si applica a tutti i campi
che lo compongono;
la USAGE del campo composto è comunque intesa DISPLAY

- la USAGE di un campo elementare non può essere in


contrasto con quella del campo composto di appartenenza
(se specificata)
- se la clausola non è specificata la USAGE del campo è
assunta DISPLAY.

16. Per quali dei seguenti campi può essere specificata


l'opzione COMP?
.... "• .. •• .. .. .. .. .. .. •• . ..
llOUINCI

tPAQll llUUA\.
•'
;
o
•• .. ,.
! I °I' 1· t. ~I l W-7TC
1 J •
••
II i i I I II
I I
: I I I

f>.l ~(1.>
I I
I ! :
I l
I I I

A. I I : I
I I I I I

I ·1T
I J. )..'fI i J W
Ti I
I I I
I I I I I l
I
I
I
I I

I
I
I
I
: ~ I

I
I
I !
I
I
: I
I
:
i

lO~~
I I

I
o o
I III i i ! !
I
J I
J
J J
I
:
I I :

s.
I
I : J
P.1c. ~(!) •.
I
I i +1
.I.,.·
I
i 1
I
0
j
-
' I
I
I
I
I
I
I
'
I
'
I
: ! I I
I
I
: I ! II
I I I
I
! i i I :
f>IL 'i/6) .
. I .. I
: I

w.-~P HF
I
;
~i .
J ' I
I I ! I
c.. I
I
I
I I : :

ti. 1·
I
i 'l' I ' . I j
: I I
i
: :
i
I
I o I
!; I I I
iI I
I
I

/).
I
I t j, :o ~·~
... I
(.V-GO r..ro ' i
J
' :
I
I :
p· ,c_ lJ!(4 } .· I

12.13

Propneta ltalsiel s p.A .. Le copie ongmah sono contraddistinte dal retino stampato m rosso Ne e vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
B. e D.

17. Quale delle seguenti descrizioni è corretta?


I ,j •'o ; I I J-.I I I
I
I
I :
' I I I

I: :
~ :!.
I I
;. i ! I
~ I I

II ;I I
I

!i :I:I I:' I
I I ' .

..
I
!
i :I
'
I ,,: '' I

!iI
0

A· I ?1e V5 ~ I OHP.
I
I
i
t

I ", io
,
I
• IO

I I ! IlI !
II
i l
I . ; : ; I' ... '
i Ii
. I !
p" ~: C.o.H:P.!J i~fl OHIJL.
B. ' I 'I, I·1·•• I:i
I , {>_I C..

Ii .I I. I i :
I 1 I 1
I '. I 1 , , ; . . I
c. : ,1, ' : '.o
p
I I ,
I
! '. I i I I 11 11
i
'
' I
I iC.. •. I .
' • o

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Tutte

18. Quale opzione della USAGE può essere omessa?


A. COMP3
B. COMPUTATIONAL
C. DISPLAY

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

c.

19. La rappresentazione dei campi W-SALDO-DB e W-SALDO-CR


dell'esempio seguente è quella •••

,
HOUt:NCf

, • • • ....
CPllO(I llfllUAl

! oi ' ~ o
;
o
. I
,,
I

I
.. 10 ,.
I
11 ,, .. .., .. .. 12 .. •• .. .. "
I
' I I I
I : J I
l I

~1: : I ! ii ' ~·~F i-,3.•. :


IU·T 11..00:
o • Io I '
I
I
I

I
oj e\o ~3: ~-:5.A L.:DO-
• ! :
06 I ! iI II
I
I
I
I
I I
I
I

' I '
P1C.. 9(6) t199. I
I I :
i I

II
I

I : I
0 1 . 10 11 ~3 ~-l5.A t..OD· ~, '
~· ,c. ~/ ,6) ~99.. '
I
I
I I . ! . ' l l ' ' I ; I
' ' ' I
:l , i• I• I I i I
: I '' i I
i
' '

Pack ed

12.14

La cultura è un bene dell'umanità (fantomasping@libero.it)


1-rALSIEL
I """'
I FORMAZIONE
Strutture
GRUPPO IRI FINSIEL per l'evoluzoone

20. Si esamini l'esempio seguente

'I" Ii i :J_! I:-1i j


I i :i:I: 1
'1 I ' II • Io
o

.I I' ' ;
:
I

I II I I Pi " !

I 11 11 Ii
1 , ! ·.
I
I
I
I
I
11 i

I! !
I

I
I
ii I!
'
I ,
I .
' I.
I
i i
I
'
l~
!

I
! ;
I
,9,(& V99 . ! ! i i
I
'
; I

I
i
i
'II
:
I
'
'
I
I
I
I

II
I'
! !
i

'
,J
Quale affermazione è corretta?
A. Poiché la clausola USAGE è omessa, la rapp r esentaz i one
è DISPLAY
B. Il tipo di rappresentazione si desume dall ' opzione
specificata con la clausola USAGE del campo composto
cui appartiene il campo W- TOT-GEN
c. Non è possibile definire la USAGE di campi
indipendenti

A A A A A A A A A A A A A A A A A A A A A A A A A A A AA AA AA

A.

21. Si esamini l'esempio seguente


I I ,1:1• I' I " : I ·' jI 11
I
I I
I
1 j ·! tI I
j I I
I ' I
I
, I

I! :j:f: j I : : 11 ! 1 I I · I ,• -! ' iI. , I : : I


~1.. w. -.H.~ r;., •. I ' ~ ! ! . i . ' !
:I , 1• • j 1 : I : I !I : .i i ! I1: i i ' I
' I
I 1 !I 0 1 ! ~,,. t t,U-.Hll fi;·~~ ~ ! l . P1 e q(f). '
1
I 310 I0 ! t
I 'fi. ' j I I
I . . I
1 •
i
I ,· .:
P1 c ~(~~ ) ..
1 • •
J '1' !O
I
! ! . · ,:3. , 1.JJ-.#~'iG,-lJ.~T , ::
! ' • I I I

!
i
I
Il:
..
' I
i o Io
I ! ; ~~ '.
I
I
i
I
I I.
i ' I
I ' !
I I
~-,HA 6:-~,~~
I ! I
' .
I
I.
I
' II
I
I

I
'' '
'

I :
P1 l: ~10 ) .
II •'
'
I I
I
;

Quale rappresentazione hanno in memoria i camp i W-MAG-COD


e W-MAG-ART
A. Entrambi display
B. Entrambi comp
c. Packed

A.

1 2. 1 5
Propr1eta ltals1el S p.A .. Le copie originali sono contradd1st1nte dal retino stampato 1n rosso Ne e vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Rappresentazione interna dei campi display

Per campi non numerici si può usare solo la rappresentazione


display.

La rappresentazione interna del campo W- NOME

è lol1lol6lclsl

La rappresentazione interna del campo W- COD

Per campi numerici sulla rappresentazione display influisce


anche il segno.

La rappresentazione interna del campo W-CONT


.-
vr I r~,a .
;
1-,
I :r~
I i II
ii ! I. II
I I I
I I I
! I .. I
Il W ·(.01- H;T! I
I I I

: -1 I
i
I ' !
i I\ I I
I . : :
I
P;l .c ~(/) jv.ù I ' !
I
I : iI . L. II ;; II
I
'
'' '
I I
! ' I I . ! : I I
I I

La rappresentazione interna del campo W-TOT

ri ·: I i i I I
I ; I I
i I

~:.1,.:1 rt_;_ .J-: I; ili Jl i


i' li
l
I I I
I :
I
: I . I . i i:'
i I I \:: I ''
I I : :
59(;) V/:J LU e .j~j: . '
:i It I : I
I ! PI c. .I
i ,,
I I
; l . I : 1I I , !
I
I ' I I I
i u~

12.16

La cultura è un bene dell'umanità (fantomasping@libero.it)


...ftLSIEL
lGRUPPO
I~
IRI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzione

La rappresentazione interna del campo W- GRADO

. '
• , I I

'
I \ '

II , •
'

Per campi numerici la zonatura del primo byte di destra


definisce il segno aritmetico, e può assumere uno dei
seguenti valori esadecimali:
F se il campo è definito senza segno (contiene valori
assoluti)
e se il campo è definito con segno e contiene un valore
positivo
o se il campo è definito con segno e contiene un valore
negativo

. •'

22. Si dica per ognuno dei campi dell'esempio che segue,


quante posizioni di memoria sono riservate
I
; I )I' .'. I aJ; ! i ' I
I I
I
o
, ,
~11'""1, !LJ-~O
' . I I ; l

!I' : I I p ,·(. X:(6') • :


iI 'i·
' 1.

o i I
, , j n,, l'
'
I
I i
1 .
I
!
I
I !
' I ,
i
'
~ i
' ' '
; :
I I I II ' I '
I i ,i !.1
~1 W-'GoHi ' II , I I
P /C ~/5).
: ! . . . I I '
I I ! I t I : I I
I I I
P/C 5.9(4).
i I
. I ! .I
I ;
I
I
'
t
I ! I
'
,;,e: s49v 9·q .

W-COM 6 byte
W-CONT 5 byte
W-GIAC 4 byte
W-PERC 4 byte

12.17

Propneta ltnls1el s pA Le copie originali sono contradd1st1nte dal retino stampato 1n rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
23. Si supponga ora che tali campi assumano i seguenti
valori
W-COM )S)S)S)S)S)S
W-CONT 37412
W-GIAC +0412
W-PERC -12"'69

Utilizzando la tabella 12.1 si scriva il contenuto


esadecimale dei quattro campi in memoria

W-COM I I I I I I I I I I I I I
W-CONT I I I I I
W-GIAC
W-PERC

W-COM l4IOl4IOl4IOl4IOl4IOl4IOI
W-CONT IFl3IFl7IFl41FlllFl21
W-GIAC IFIOIFl41FlllCl21
W-PERC IFlllFl2IFl6IDl91

24. Si considerino le seguenti descrizioni del campo W-IMP

u. . .. .. ..I ' .. ..
HOUINCI ~
z
IPAOIJ lllRIAL
o :1
' J • • 7 • ·u 11 20
•• H u
"'
12 IO 72

I:I
j~ : + H ~I i I. Ii !! .111I l lI : ~ I I I I
o ' o
o • o
i I
.I I
:!
' I
r:>/t
119'I . .
! ' I
!' . Il 'j ! I
1
'
I
I .
I Ii : I •' ' '

~ l I ; : J I I I I
iII ' •• .
I

~ I j-'~ Pj L.!I i Il I i
II ·
I
o • o 1
i I I '
i I ! I
- :
il :
I l • j
~ ~
I
-
! ::I
I I , . ! ' I • I ; • , I
, I

i j ; :I • I Pt I:: s;'Ji( 13 ) ~ . ; I
o • o I . ' I .
I ' ' I
t •••

! • o o I I •
I I I I
I .
I • ' ' I : I I
. '
i I
I
I I .
' '-'-
_L_

e si supponga di trasferirvi il valore -815


Quale è il contenuto esadecimale di W-IMP nei due casi?
A. I I
B. I I

12.18

La cultura è un bene dell'umanità (fantomasping@libero.it)


l"'Pft.LSI
I~
EL
GRUPPO IRI FtNSIEL
IFORMAZIONE
Strutture
per I evoluzione

A. IFIBIFlllFISI
B. fFIBIFlllolsf

25 . Quale dei seguenti è un contenuto valido del campo w-


TOTALE ?

A. IFl3IFISIDl7 1
B. IFl7IFl6IFl21
c. fFf SIFl2lclal

I. I I;.
I ! II I! ;I fl I t.I i.
1 . ! :I j.
1
I i III
I
I
II t ' ' I

:: I :i iI I!
1 • o ' I I I'I I. '
Ii : l i ;
1 I '
I I I
o I O
1- i I ' I ~ l ;

' o o I I 1I II

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A. (con valore -3""57) e C. (con·.. valore +5""28)

Per effettuare la conversione in binario si divide per 2 il


numero di partenza riportando nella colonna a s i nistra il
risultato della divisione e nella colonna di destra il
resto.

Si prosegue a questo modo fino ad arrivare allo zero.

12.19

Propneta 1tals1el S p A .. Le copie ong1nal1 sono contradd1st1nte dal retino stampato in rosso. Ne é vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Il numero binario si ottiene a questo punto leggendo i resti
dal basso verso l'alto
123 2
61 1
30 1
15 o
7 1
3 1
1 1
o 1 I oI 1 I 1 I 1 I 1 I oI i Ii I

Considerando le potenze del 2 si verifica subito che questo


numero corrisponde a 123

6 5 4 3 2 l o
1·2 + 1·2 + 1·2 + 1·2 + 0·2 + 1·2 + 1·2 =
64 + 32 + 16 + 8 + 2 + 1 = 123
Il complemento a 1 di 123 è:
I 1111 1111 I lttt I 1111 I

(*) per avere il complemento a 2 bisogna sommare 1:

1111 1111 1111 I +


1 =
1111 1111

che equivale al valore -123

Si vede quindi che nei numeri negativi l'ultimo bit di


sinistra ha valore 1, mentre in quelli positivi ha valore +.

(*) Ricordiamo che l+l in binario equivale a + col riporto


di 1.

12.20

La cultura è un bene dell'umanità (fantomasping@libero.it)


""P'ALSI
lGRUPPO
I "'""
EL I FORMAZIONE
Strutture
IRI FINSIEL per l'evoluzione

Troviamo il valore contenuto nella seguente rappresentazione


binaria:

11111 I lt11 I tilt I 111t I

indica che il numero è negativo, perché •••

il complemento a 1 è

lltl

sommiamo 1 (complemento a 2) per ottenere il valore


assoluto:

lltl
..

da cui: 2 + ..
16 + :
64 +
128 +
1,24 =
1234

che è il valore assoluto di -1234

Vediamo, ~d esempio, qual'è il piu' grande valore binario


che puo' essere contenuto in 2 bytes:

I t 1 1 i 1 1 1 1 1 1 1 1 1 1 1 1
cioè
14 13 12 11 10 9 8 7 6 5 4 3 2 l o
32767 =2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2

quindi possiamo dire che un numero di quattro cifre sarà


sicuramente contenuto in due bytes, mentre non è certo che
un numero di cinque cifre vi sia contenuto

12.21
Proprieta ltals1el s p.A Le copie orig1nah sono contraddistinte dal retino stampato in rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Rappresentazione interna dei campi binari

Si è detto che, se un campo numerico è definito binario


(COMPUTATIONAL), la sua rappresentazione interna è in
binario.
Il numero di byte occupati in memoria dipende dal numero di
cifre definito nella clausola PICTURE, secondo la seguente
tabella:
Cifre Byte
1 : 4 2 (mezza voce)
5 + 9 4 (una voce)
10 + 18 8 (due voci)
Il primo bit di sinistra rappresenta il segno
O per il segno positivo
1 per il segno negativo
Si ricorda che la rappresentazione binaria di un numero
negativo è il complemento a due del valore assoluto, con 1
nel bit del segno.

I due campi:

I do Tfi 1 1 ., I I I

i : ~ -j I Hti-1; I ! i 1l ' iI I1 i i
I I

iI
i
; i I p,·c: 4~q
! : .

i i ,'. .Il .l.


o
I., ...
I' I I' i ..

-:C.:0 T!J I ' '


i
I : . F'tC.'
w
· • · -

. I , • y $~9</
I : 11 ' . I II I I i!.
o I ' ,

I I
i ' J: I I
' o o
I ' . • I
I
I
' I
I 1 I
i '

occupano entrambi mezza voce, con contenuto


I 0000 0000 0111 1011

Il campo

1! :1
l I
:1' : ~~i : ~-iL' .
' I' o I .

occupa mezza voce, con contenuto


1111 I 1111 I 1000 I 0101

12.22

La cultura è un bene dell'umanità (fantomasping@libero.it)


'T"ALSI EL
lGRUPPO
I~
IRI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzione

25. Si scriva il contenuto esadecimale di un campo display


numerico con segno, con valori 12 e -12

I I I I I I I I I I

AAAAA~AAAAAAAAAAAAAAAAAAAAAAAAAAA

27. Si scriva il contenuto binario e esadecimale dei


seguenti campi

. . .. . . .
~ 1 ' . I ' ' ,' . ' I
iI . '
' I 'i 'j° ~) ! : il ~ l I ! i ! I
I T

j I 4 1o oUhi I i I () I I i 11
I I' I I
I I I
i II
I : .
; I
..I
r I C:
: I
:~·~ · :c:o·HP : iv IH... tJE.
. . I
I

' '-f'B .! I . ' I , '

42·0 ! ~ I: I iJ, I i I I I I I
Il 44-io ~ 1 w-· 1'f: 1 I : ! ! 11
1 ; 1 I !iI :I. I I I
: ~· ''
' I
"{fiL 11
1
t I -ùL . ' 11 ' ' . ' .
I P,IC I I ' ,
. .
I :
I I 4-6:0 i i I : i i I ' I
1 ! !I :I I. !I I
:
'
1 '.
I ; I

'
I I .. .
'
'
I '
' ' '
.I.'
; i i 11 .. '

W-IND

W-CONT "' I I
AAAAAAAAAAAAAAAAAAAAAAAAAAAAA

W-IND 0000 0000 0001 0010 101011121


W-CONT 1111 0001 1111 1000 IFlllFIBI

28. Quante posizioni di memoria occupa il campo W-TOTALE?

u.
;
.. .. . . ..
HQUtNCE

,
t ,AOU ~aUlllAL
J • •
o
1 •
:
:o
12
" 10 14
••I J1 ... u .. 00 n

!j •I·I· 1
, J-ioI I
T~o I
' I . ' I '

I! I I I I'I I ! Il
• j
I ' I
I I I '
~1~'. s,9{ (> ) , ~ ~.~~·
I ' 11 I l ' . I ! . I ' I I
• I r !

i "ij~~E
I
I . i : I ; :
i ;
I: I
t
o • o +

.I ..
I ' I
i I i • :
'.
I
Ii:i i Ii i j I l I I I
Ii ,
I I I ' I I
' I
I
I
: i : i

A~AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

4 byte

12.23

Propneta ltals1el s p.A Le copie ong1nall sono contraddistinte dal retino stampato in rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
29. Il campo W-SALDO

contiene
A. 8 cifre binarie
B. la rappresentazione binaria del valore decimale
123456.78

C. 8 cifre in formato EBCDIC

B.

Rappresentazione interna dei campi "packed"


30. Quale opzione deve essere specificata con la clausola
USAGE per descrivere un campo "packed"?
A. COMP
B. DISPLAY
C. COMP-3
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

c.

La rappresentazione interna del campo W-ORE-STRA


' • o II I:. I j' ' ! I Il i ': I
I
I

I~ !
I
' • o I J I I ; ; :
'
'

, 1•
I O

o
I
I
i ' ~l F
! l i
q':": ,
I
I
i '
'
'

La rappresentazione interna del campo W-TEMP

. ~· ..
'f
I I
I I I
!i '

Vtff0-~4J;
I
! i
.: II ..
VR+€+
I I I
: I
I
I 0 I
1

c~H -~: . :
I :
iI s:~;qq
!
1: I IC
.I !l I .!
I ' II I ' ;
. I • , ..
' :
' I "I . I o ,_._ . '
'

I .I : ' I
I :' I ! I
. ... I I .

12.24

La cultura è un bene dell'umanità (fantomasping@libero.it)


l ... ALSI EL
I """'
~,RUPPO IRI FINSIEL
I FORMAZIONE
Strutlure
per !"evoluzione

La rappresentazione interna del campo W- COM

, I ' I
I '

Pertanto il primo semibyte di destra può assumere uno dei 3


seguenti valori esadecimali:
F se il campo è definito senza segno (contiene valori
assoluti)
e se il campo è definito con segno e contiene un valore
positivo
D se il campo è definito con segno e contiene un valore
negativo

31. Q~ante posizioni di memoria occupa un campo "packed"?


A. 1 ogni carattere
B. 1 ogni due caratteri
c. 1 ogni due caratteri, eccetto il primo byte di destra
che contiene un solo carattere e il segno

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

c.

12.25

Proprieta ltalsiel S.p A . Le copte or1ginal1 sono contradd1st1nte dal retino stampato 1n rosso Ne e vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
32. Se il campo seguente

I I ' • o
l l :j Il J
1),
I
I
' I

iI
I

I
I . : 11 !
! ! PI;1c' ; . I
.I ~ ! ' I ! !! :!I
Il
11 ;
I "'"'!
• I ..

' I.
' I
' • o ;i .
.I I.i ' .: i
~ 11 . ~1 - 11 ~ 11
- I I :
:3 I
l . : ' I .
i
' • o
- I .. I (~) !c:o.J, p.
' . 1• , • I
I
;!I I . , I
•Io o I I 11 ! ~ 1 I
' !

contiene il valore -1234, come viene rappresentato tale


valore in memoria?
A. IOlll21314IDI
B. IOlll21314IFI
c. IFl1IFl2IFl3IFl41

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

B.

33. Quale valore corrisponde alla seguente rappresentazione


interna packed?

A. 1234
B. -1234

B.

34. Quale è fra le seguenti, la descrizione corretta del


campo di cui sopra?

, .
HOUlNCl

lf'AQU llHllAL U A

' • 1 •
zo : .
"
,. JO
•• 21 u . . .. •• 12 .. •• .. .. H

A.
I
TI. t ' j~ 5J:• i 11
I I
I I : I ! II . ..
P.1~.
I I

s'.~/~ D..
o.
: i '
I I : I ~ :I '.
I~ .
; I ~
I
i I
I .
I • '
: . '

·+ 1 J[i 1i I
o • o
11 I
I : I I I ! . ; I I • I ...
I,
I I'
I' ' I: I ~ ....
!

r} ,~:
I ..t : I , ~~~p
I
i ' . I I • t
11 ~'3(
)' I •
-~' . '

tif'.' w-I ~ I I.
I
B. O I O
STj ' I I : ! ~ ' i iI 1 '
111
' • • I
' I '
I
Ii i
I
I I . I I
'. I
..
' I
....
~(~ ); : : ~:of{P -. ~.: I : I'II .i
I
I 0 O
I I , I '
c. I: I I ! I
I . l I
~1 . c
- Il

I I I , STJ
I
I 1 0
I 1 f I l '

I ' • o
I I
I
1 :
I " Iil :
I
1
I ! I
I I i I !
!
I
I I

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

B.

12.26

La cultura è un bene dell'umanità (fantomasping@libero.it)


~ ITALSIEL I ~e~1~u~~·oNE
~5G.Ruf'8iR F1Ns~rivano 1 e• 0(lrene rappresentazioni interne del campo
seguente

. i ~-
I -HT+-
. , ~
1_~ .

. . : I.; . . ~

corrispondenti ai seguenti valori


7257"'50
-322"'75

1011121sl1lslolcl
IOIOl312121715IDI

L'occupazione di memoria di un c_ampo "packed" è data da

·.
!l
·. 2 + l per N par i
n° posizioni memoria =
n+l
2 per N dispari
dove n è il numero delle cifre (caratteri 9 nella PICTQRE)
componenti il campo e non il n° di bytes occupati in
memoria.

36. Quante posizioni di memoria occupano i seguenti campi? ·

.· ,1+I. 11 ~ ~
: 1r ·111 I
! i'! · r;,-·1
: !
I I I i TT,
; ... - I I '
. , I
j

'I
I ; I I

I' I I' , ,
: : ,i . I . : ' I I I I : I ..
. I
'I • ~ :
,,. I: .,,~ M
. lI I I ~iHP- .~· ·I I !
I ! I
~ , : ~ ~-1 1
I I '
I' I I ' I I
I' ' I

,. li ! I I I
I : ' I
I .I
: I "
, I I I
; I : I Pi ! I ! I
I
! I ,. • ~ I ! I rri -;1·i I

I!I I
I ; : I • I 1
I
I
I

W-IMPl 5 byte
W-IMP2 9 byte

12.27

Propneta ltals1el S.p.A. Le copie ong1nah sono contradd1st1nte dal retino stampato in rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Si noti che:
- qualunque sia il tipo di rappresentazione, un campo
numerico non può contenere più di 18 cifre decimali
- è conveniente definire i campi soggetti ad operazioni
aritmetiche e di confronto, come campi "packed" o binari:
in tal modo si evitano le conversioni di rappresentazione
al fine di ridurre i tempi di esecuzione delle operazioni
aritmetiche è conveniente altresì definire i campi con
segno
- è conveniente definire i campi binari allineati alla mezza
voce o alla doppia voce utilizzando la clausola SYNC (vedi
paragrafo successivo).

37. Si esamini la seguente descrizione

..
HOUI WCl ""
z
ll'A81:1 llUUAl 8A
1 J • I l I
" "° .. ... IJ .. '° ... .. lJ

o ' o
o • o I II J

o • o I :I' I 'll
o • o
II .
' o o

' ' o
i I 1 l lI
I I I

II :: : II l' I. ' !
r 1 '
, J. I ' ..

iI
' • o

' o o
::I
....___.._,.__..__...__._.~__.__._
:

.__
I
I
T
-
:

Il risultato ottenuto con il seguente periodo

-- :1
' I

~ I I : I I
I I
_' !I i 'I I • I
I I ~ I
_....____..;.__.___............_,~

è uguale a quello ottenuto con i periodi


,,+ iI t
i , ~

..
I I
I
! II , 1• •
, • o
I
! • ' . i
I o i I i!
I I I I
' .
! l I O
I I ' , I
• I
l , . ..
!l II I ii
II • oÌo :
I '

A. Si
B. No

B.

12.28

La cultura è un bene dell'umanità (fantomasping@libero.it)


...ALSIEL I
& lGRUPPO
I~
IAI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

I trasferimenti tra campi numerici con USAGE diversa devono


essere eseguiti a livello elementare.
Anche i trasferimenti tra campi numerici aventi stessa USAGE
(meno che display) devono essere eseguiti a livello
elementare.

La conversione infatti non viene effettuata se il


trasferimento è tra campi composti, perché per tali campi il
trasferimento è sempre alfanumerico.

38. Con riferimento all'esempio precedente, se i campi


W-SALDO- DA e W-SALDO-AV contengono rispettivamente i
valori 350000 e 22000, qual'è il contenuto del campo
W-COM
A. dopo la MOVE tra i campi composti
B. dopo le MOVE tra i campi elementari

A. I I I I I I I I I I I I I ·I I ·I I
B• I I I I I I I I I I I : I . I" ( .,.. ., I I

A. IFl3IFISIFIOIFIOIFlo1clolFlolFl2I
B. IOl3_l ·SlOIOIOIOICIOl~l212IOIOIOICI

La clausola SYNCHRONIZED

Normalmente i campi via via definiti in DATA DIVISION


occupano posizioni contigue di memoria. Ciò non vale invece
per i campi di livello il della WORKING-STORAGE SECTION, i
quali sono allineati alla doppia voce.

12.29
Propneta 1tals1el S p A .. Le copie on91nal 1 sono contradd 1st1nte dal retino stampato in rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
39. Siano definiti i campi seguenti
i I I .
I I .
.
I
I I II
; I L J

I '. '. ,
J I
ì ' ' .
: , 1
I
I I '
!
I I.
I

' ' .
I~ .
• I

.. I :
. I
I

'

Il.
I j

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

W-COMOOO 0231A9 : 0231AB


W-TOT 0231AC : 0231AE
W-ANA-NOME 0231B' + 0231B9
W-ANA-COD 0231BA : 0231BD

Ad eccezione dei livelli ,1, campi della WORKING-STORAGE


SECTION sono dunque allineati al byte.
Le operazioni aritmetiche sui campi binari richiedono
comunque un allineamento adeguato (alla mezza voce ed alla
voce). In mancanza di tale allineamento il compilatore
genera le istruzioni che, in fase di esecuzione,
trasferiscono tali campi in aree di lavoro che hanno il
corretto allineamento.
Se un campo binario è sottoposto quindi a numerose
operazioni aritmetiche, i tempi di elaborazione sono
fortemente ridotti se il campo è allineato. Tale
allineamento si può ottenere direttamente, nella def inlzione
del campo, con la clausola SYNCBRONIZED.
La clausola ha il seguente formato

Tale clausola allinea

· alla mezza voce i campi binari da 1 a 4 cifre


· alla voce i campi binari da 5 a 18 cifre.

12.30

La cultura è un bene dell'umanità (fantomasping@libero.it)


"T"ALSI EL
lGRUPPO I~
I FORMAZIONE
Strutture
IRI FINSIEL per l'evoluzione

Nell'esempio seguente
. . . . I .
Ii I I . I I I
; I
I I
1· '

I
I !
• ' ' ' . I

p1 :C ~s 1 ~· (
4)1 · rniHIP l
I .I I .I II i : I ! !5Y~cl ·r
!
I . • I
. i . .
: I
II ' • I I I ' . ' I

I . 1,s ) ODHP : :s1tic;.:


I · I
p: r ~ . p~ I '

I.I I I I ::i
! '

I
I ' '

il campo W- SALDO ha indirizzo multiplo di due, il campo


W-IMP ha indirizzo multiplo di 4.

Gli allineamenti alla mezza voce o alla voce, causati dalla


SYNC, possono provocare •salti' di bytes, per cui la memoria
assegnata non risulta più contigua, ma tra un campo e
l'altro si possono avere bytes non assegnati, i cosiddetti
slack bytes.

I campi dell'esempio seguente


. ' . .. I , ..
'!' .I i:lI ! ' .
l :
I I
: !· 1 11· I. I I
' . I
II
i I
I
I
I! : I • '

l JJ I
o 1
) I O
~1i j ~lt'. 01~IAJ,-•
I

' II I I: I, I iI
I

I ·I•• I: 3· I I
f>111c Xlxlx:. i i I I Ii I I: I .. '
j ~ I
I

e .p f ~I qo,t11P I 15')
~1I
3 ~-lck>
li'' I j: . I I·I "li
)' I ti(. •
I
4'l
, I 19(5 I '
j I j 1

I I J ' •

!' I I
I I I

44.o
IiI I I j \ i II I I1 I I:I I !i .
4~ e :· j
: I I I I I I I I I 1 · ·:i· I. . i I I ' I
'.I i I! . I
I

possono essere rappr~sentat-i in memoria nel modo seguente


., W-COMl l X I W-COM2
o .1 2 3 4 5· 6 7 8

Il byte co~tra~segnato con " X " i uno slack byte.

E' necessario tener conto di tali bytes quando si deve


determinare la lunghezza del campo composto; ad esempio la
lunghezza del record.

Per tale motivo è preferibile definire COMP SYNC soltanto i


campi indipendenti per evitare errori nel calcolo
dell'occupazione di memoria (a livello 77 o ~l).

40. Nell'esempio seguente

. . ..I •• . I ' I ..
SIOUINCl i-
Z
IPAQU llUUAL 8 -. ;•
1 J 4 I l I 'U Je 20 H
I "I N 11
•• .. 72
I
I i
~1 !d I
1~~~
I
I I :
I I
.i i I !"I I
l ; .:
i
I .'
I
I
; ; I I I I I
I I ' '
\ I' .I i : : J i;' II i r :

11 I
. ·1 I i I i
I I l!!

I
I
.s•
I
I
P:1(.
I . . I ~'C5
. .
I I
~ I! t.0 )1 p j
I
. I I
I j
/svncj.I
I ' j I
:
II
!'
I I
' j : i l - _; ! I I I : I

12.31

Proprietà ltalsiel S.p.A. Le copie originali sono contraddistinte dal retino stampato 1n rosso. Ne è vietata la nproduz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
se l'indirizzo di W-COM è 00212A, qual' è l'indirizzo
di W-IMP ?

00213,. L'indirizzo del byte consecutivo a W-COM è 00212E =


00212A + 4 ; per allineare W-IMP il compilatore
inserisce 2 slack bytes 'saltando' all'indirizzo
002130 = 00212E + 2.

Riepilogo

La seguente tabella indica il tipo di rappresentazione in


memoria di un dato a seconda dell'opzione specificata con la
clausola USAGE.

TIPO DI CAMPO ALFABETICO


NUMERICO E
USAGE ALFANUMERICO
Una cifra per ogni Un carattere
byte. Se è stato per ogni
DISPLAY specificato il segno, byte
la zonatura del primo
byte di destra contiene
il segno.
Una cifra binaria per
ogni bit ad eccezione
del primo bit di
sinistra riservato al
COMPUTATIONAL segno.
(COMP) Il campo può occupare
2, 4 o 8 byte a seconda
del numero di cifre che
compongono il valore
decimale.
Due cifre decimali per
ogni byte ad eccezione
del primo byte di
COMPUTATIONAL-3 destra che contiene una
(COMP-3) sola cifra (se è stato
specificato il segno
questo è indicato nel
semibyte di destra).

12.32

La cultura è un bene dell'umanità (fantomasping@libero.it)


"Pft.LSI
lGRUPPO
I "'"""
EL I FORMAZIONE
Strutture
IRI FINSIEL per l'evoluzione

Concludendo, il valore di un campo dipende:

· dal suo contenuto (configurazione di bit)


· dalla sua descrizione (PICTURE) (alfanumerica, numerica
intero con/senza segno, numerica con cifre decimali
con/senza segno)

· dalla sua rappresentazione interna (USAGE) (display,


binaria, packed)

47. Sia I Fl31 Dl41 il contenuto (esadecimale) di un campo


di due byte. Si associ a ciascuna delle seguenti
definizioni del campo, il suo valore.
,-T..-1T
I ' • o
1 I - ·- I 1JTIT(T J I f I i : ·:- ~ ~~ 11 I : 111
I 11 ! ! : .. I ! 1
jJiWL
' • o 1
11 1 J
11 . I
A. Mo
I
' • o pi(; ~ .
-
i '.~I ~(.i xrx .i I , I i I' II I! I'
), l ; I ' - ~o! ()iC J~:~1 . I II ;
' o o . - .
B. i I I I

~~1~n
·i:>:r ( 1
' !
I I Lt~
1 ' ' ' o

c. I
' •.. o
.! 11 ..
·. I·'P11~l
PII ! w~ ~~iHP •
I !I !
I

r 1 H+~
..
H.101>!l:
I

. I -~ · I- .-
i >1 I I

~9,~ I
' • o 11 I ·. :!
D. ' o o KOIDO 1! .. IHLP -12. ' I I
I
1 'I i
I
-
' ' o I "
' I lJ l J1 I
I I I j, I I 1

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A. 3M

B. -34

c. -3116

D. Nessuno

12.33

Propneta ltalsiel S.p.A .. Le copie orig1nal1 sono contraddistinte dal retino stampato in rosso . Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
La cultura è un bene dell'umanità (fantomasping@libero.it)
....ALSIEL
lGRUPPO
,....,_
I FORMAZIONE
Strutture
IAI FINSI EL per 1·evoluzoone

Capitolo 13

13.0

Proprietà ltals1el S p A . Le copie ong1nall sono contraddistinte dal retino stampato 1n rosso Ne è vietata la r1produz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
La cultura è un bene dell'umanità (fantomasping@libero.it)
"T'ALSI EL I
& lGRUPPO
I~
IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

L'ISTRUZIONE IF

LE CONDIZIONI

In un diagramma a blocchi il simbolo

indica che in quel punto del programma l'azione da


intraprendere viene determinata in base al verificarsi o
meno di una condizione.
In COBOL molte istruzioni comportano l'esame di una
condizione; fra queste sono state già esaminate la

READ· ••••• AT END •••

WRITE •••• INVALID KEY

L'istruzione IF provoca 'l'analisi di una condizione.

L'azione da intraprendere al momento dalla sua esecuzione


dipende dal ·risultato ~ell'esame della condizione stessa.

Si esamini . l'esempio seguente:

.. .. .. . .. .. .. .. .
llQUlNCl
io ·.<
, J
'""ou llUUAL U A
• ' .,,
'" ,. 20 •• u
•• •• ,,

I !1HJ ~L~~ !IEblcA~ ~ I


I I I, 1
j , I j
Ii I' I ' I1.
-!I~I J.iJ
o ' o
1 I I I
II I
j"
o • o

·IHi
I

I
o • o

O I O
:UI
I : '
~é;~f ~4
I
li (
I II
_[,.l ~ -~ 1 ~-
I
~ .~LI
I
' I
.A\1
. I
-tM~
;i ' i i ! i '~Il I
I
:I
I

L'istruzione IF comporta l'esame della condizione FLAG = 1.


Se FLAG è uguale ad 1 la condizione è verificata (ovvero la
condizione è vera) e il programma cede il controllo alla
routine INIZIO. Al contrario, se FLAG è diverso da 1 la
condizione non si è verificata, ovvero la condizione è falsa
e l'esecuzione del programma continua in sequenza.

13.1

Proprieta ltalsiel s p.A .. Le copie originali sono contraddistinte dal retino stampato in rosso Ne è vietata la r1produz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
Il diagramma che segue rappresenta l'istruzione IF

falsa vera

La condizione esaminata dall'istruzione IF può essere una:

- condizione di relazione

- condizione di segno

- condizione "nome di condizione"

- condizione di classe

Condizione di relazione

La condizione di relazione consiste nel confronto di due


operandi.

Il formato è il seguente:

nome di campo nome di campo


costante operatore di relazione costante
espressione espressione
aritmetica aritmetica

Si esamini l'esempio seguente

I . '
I I
I j 1 ' :

I 11 I~
I, , I
1
1 !' :'

i ii I I
1 j:

I due operandi sono costituiti rispettivamente dal campo W-


CONT e dalla costante immediata 100.

L'operatore di relazione è costituito dalla parola LESS

13.2

La cultura è un bene dell'umanità (fantomasping@libero.it)


....
lGRUPPOftLSIEL
I ,......,
IRI FINSIEL
I
FORMAZIONE
Strutture
per l'evoluzione

Nelle condizioni di relazione i due operandi possono essere


confrontati per mezzo di uno dei seguenti operatori:

OPERATORE DI RELAZIONE SIGNIFICATO


GREATER THAN > maggiore
NOT GREATER THAN NOT> , non maggiore
LESS THAN < minore
NOT LESS THAN NOT<1 non minore
EOUAL TO = uguale
NOT EQUAL TO NOT=ì non uguale

Si noti che:
- possono essere utilizzati lndif ferentemente come operatori
di relazione le parole COBOL o i segni di relazione (1)
- un campo può .essere .confrontato con un altro campo, con
una costante, cqn una espressione aritmetica (cioè con il
risultato 9ell'espressione)
- un'espressione aritmetica può essere confrontata con un
campo, una costante o un'altra espressione aritmetica
- una costante può essere confrontata con un campo,
un'espressione aritmetica, ma non può essere confrontata
con un'altra costante.

(1) Tuttavia, è consigliabile utilizzare le parole COBOL.

13.3

Propneta ltalsrel S.p.A Le copre orig1nal1 sono contradd1st1nte dal retino stampato rn rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Si esamini l'esempio seguente

In A. sono posti a confronto due campi


In B. sono posti a confronto un campo e una costante
numerica

In c. sono posti a confronto un campo e un'espressione


aritmetica.

1. Quali dei periodi seguenti sono corretti?


alOUH•CI

., .
IPAGll llUllAL U A
' ••o
..:
z
o
:1
: 11 ,. 20 .. . u .. .., .. •• u . . .. . 11

--
, o

o • o
~3j u. -k: l 1--ç o~
'-- - - - -- -
__ eIC-
. - ~
q J) '- · -- -- ,_ --- -·-- -
r-- - - -- .-
I
._ ....
o • o
-- ~

-- -
-
_ u - t:~ I-~ n1
1-- ' -

--- - -- ;p I(. .
I~ j
4j) .1-

-
- -- - . '- -
- -- - -.
.
- ,_ - , _,_
o • o
-- · I
~! - _,_ - - -
I O O
:• j
-
u -- ..,_,._ I - Cb -
- '~ '-
- ~
·-
A. EG U~L - LI. - ~l I - tf~ ,_ -
I

I
,

4
0

0 l fi1
1
I
- -

f
-
B. l
'-
o!i NDT :.i. : !( l I -- t{)~
1-

it~ ·-r
I I 0
i/ 'Cl I - .. .
I
' • o ,_
c... , o o :I i:I I - IO le
I-

~ lJ, - l<JL I -- IH Al lR I. I
1 1 o : I I I I I

A.

2. I campi ORE e CONT assumono rispettivamente i valori 27 e


16; si determini se le seguenti condizioni sono vere o
false

A. ORE GREATER THAN CONT

B. CONT NOT EQUAL TO ORE

C. CONT < 15

13.4

La cultura è un bene dell'umanità (fantomasping@libero.it)


...ALSI EL
lGRUPPO
I~
IRI FINSI EL
I FORMAZIONE
Strutture
per l'evoluzione

A. Vera
B. Vera
C. Falsa

3. Si esamini l'esempio che segue

~
: ~
"~~
. ~1 ~
1 : ~
-- ~l~
l ~- -~
-- ~.
_ ~~
- ~~~
1----~
, ~~~-

I :-;: ' I;i. "u -Hii~~ L~>~ H'' - -- 1 -- "


I :-; : i
11- ~ '- PiE'RIFI'.>~~ . ._~ lf ~ 1~ -k:I ~ E~!MIA l7~~r ~r - 9911-~~ 'Hlli ~ -IU.

Le seguenti affermazioni sono corrette?


A. la condizione da verificare è la relazione W-MATR
maggiore di 100
B. la condizione da verificare è la relazione W-MATR
minore di 100
c. se W-MATR è uguale a 10(,) . ·vi.ene eseguita la perform
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A. No

B. Si'

C. No

Condizione di segno
La condizione di segno determina se il valore algebrico di
un campo numerico o di un'espressione aritmetica è (o non
è):

- positivo
- negativo
- uguale a zero.
Il formato è il seguente:
POSITIVE
nome di campo IS [NOT ] NEGATIVE
espressione aritmetica ZERO

Il campo in esame deve essere definito con segno.

13.5

Proprieta ltals1el S p A Le copie ongrnalr sono contraddrstrnte dal retino stampato rn rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Si esamini l' esempio seguente:
~..--.--.-r-r"T""T"""T"-:-~"""T""T-r-r-T.-r-ri-rT.--r-.r~~~..-.-.--.---.--.--.--,-,-,-~- -~ ~

:,~: ~li 1 ~-1tF


li • o :f
~ ·-~·- · - ~·-·-
-~ ~ - +. - f-- ~· ~- ·- -+- -
PI I(
i
..: , ....... ....._~ .........~ - i..-i-- ·•- - 1- - -
.. o o :•
:•

Il campo W-IMP può assumere un valore positivo, negativo o


uguale a ze ro . Viene eseguita l'istruzione MOVE solo se il
valore è positivo.

4. L'esempio seguente è corretto?

. . ..
llOUlNCl ~
z
.,...au fSUUAL 8A : •
t J • • 1 I ' 11 M 20 tt 21 J2 H ~ ~ 41 12 IO 72

- --
-
- -
l1
- I- .

I I

No, non si può verificare la condizione perché il campo è


definito senza segno

5. Si consideri l'esempio seguente:

.. ,. JJ
lU-il 1~ ,. ~~J. LEl' ITl
~ Il 1 .! I 1 1~ 1
' .. 1o I
I I 1
I I! i 11
I
I 11 I
. I . I

~~ i ~-,~ fi '5j ~
. I i
PiI !C.: ~ i I 11
I I
I
I iI
' • o
II .i I I

I ' l J_
J lli I
I

I :1 F 11 [
I -I I
. I I :

Ii
' o o
I

~~ H~I lt1E ·I·:.I


~ i
I
, , o
: , I J-k~ i I I
II
,
I '!
I '
'
! I i I II I
I ·!
j I '
'
I
' • o
-1- J :IJFj
i 11 I t i I I
l';
li j 111
I

I I I I: I
II ; I t :

' I• o i :I 11 ' ' I I I I I I , I I I


I I
: ' ;
I

Se al momento dell'esecuzione il campo W-CART ha valore zero


quale condiz i one si è verificata?

Nessuna

13.6

La cultura è un bene dell'umanità (fantomasping@libero.it)


1-rALSI
I """
GRUPPO IRI FINSIEL
EL I FORMAZIONE
Strutture
per !"evoluzione

6. Le istruzioni seguenti si equivalgono?


1 I O

fL > o o l-
i
> ' o • j _.
~· > • o
> • o I I!

Si', in effetti la condizione di segno ZERO è una condizione


di relazione tra il contenuto del campo e il valore zero

7. L'esempio seguente è corretto?

ti°
• o o ,
11
il -
--
J "o
- - - I ! ~. 11I 11tJ J,(I~!~ j
II
I! I ~l
I
· 11 i
4l l0
-~~ -
,,:' J
i' I
µ- rT I I
I I
il PO
:+ [
- ~1· TI Vé .I ..-
i I 1- l -I I!
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

No, il campo W-TIPO non è numerico con segno

Condizione "nome di condizione"

La condizione "nome di condizione", determina se il valore


assunto da un campo è uguale al valore o ad uno dei valori
assegnati al nome di conaizione associato al campo.
Il formato è il seguente:
nome di condizione

13.7

Propne1à 11als1el S p.A Le copie originali sono con1radd1st1nte dal retino stampato 1n rosso Ne è vietala la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Si consideri l'esempio seguente:
2
..
llOUIWCI

~PAOI~ lfllUA~ ~ : : 1~ 1e 20 14 21 J2 JI <IO M 41 12 Il IO .. 71

Ii 1

viene esaminata la condizione W-CAR-SPECIALE: se cioè,


ilvalore assunto dal campo W-CAR è uno dei caratteri
associati al nome di condizione W-CAR-SPECIALE.

E'evidente che la condizione "nome di condizione" rende


più semplice l'analisi quando questa, utilizzando la con-
dizione di relazione, si sviluppa in una serie di analisi
di condizione.

La condizione dell'esempio infatti può essere scritta in


modo equivalente come segue:

I :·
• • o

•• o
·1 i I' I
I I
I
Il I l •
I I
I:
I'1
' o o
I 11 I I:
I

t '
I

I . II . I ! Jj !
l 1
j l !
' ' o
I.I I I I I!
I

l I l Ll I
1
' • o 1 i . ' .
' • o 1 ! I L
I

8. Si consideri il seguente esempio:

''·1· 1T, ii[ 1! 1


.1 . ••
i
.
I
I I
: i • : ' j' I ' 1'
> o o I
I ·' I I

;4 .
I ' I
18 I I l !I
> ' o

I: I : . ,
> • o
> • o

• o o
il :! iifl ·1Ii I! :
1 ! 11 : 11 ·1
11
I

I I
j
J

I
!
.


!..
1' •

I
I

' •

I '

A. I nomi di condizione sono •••

B. La condizione esaminata è •••

C. Quale valore deve assumere il campo W-CODICE affinché


la condizione sia vera?

13.8

La cultura è un bene dell'umanità (fantomasping@libero.it)


l "'l'"ALSI
I -""'
EL I FORMAZIONE
Strutture
GRUPPO RI FINSIEL per l'evoluzoone

A. W-PARI e W-DISPARI
B. W-DISPARI
c. 1, 3, s, 7 o 9

Condizione di classe

La condizione di classe (o di tipo) determina se il campo è


(o non è) numerico o alfabetico.
Il formato è il seguente:
NVMERIC
nome di campo IS [~] ALPHABETIC

9. Quale delle seguenti affermazioni è corretta?


A. Un campo è alfabetico se composto da caratteri
alfabetici e/o dal carattere spazio
B. Un ·campo è numerico se compos.to da caratteri numerici
C. Un campo è alfanumerico se composto da un qualunque
insieme di caratteri

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Tutte

Nello schema che segue, per ogni tipo di campo, sono


indicati i test ammessi

Tipo di campo Test ammessi

Il L A 1 [ ~] ALPHABETI~

AN I [ ~] NUMERI~
[ NOT] ALPHABETI~

N [ ~] NUMERI~
-

Si consiglia di utilizzare il test sulla nul,'!lericita , . ( "numeric")


solo sui campi elementari,essendo il test sui campi composti
condizionato dal tipo di rappresentazione dei campi che li
compongono.

13.9

Proprietà 1tals1el S.p.A Le copie ong1nal1 sono contraddistinte dal retino stampato in rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Nei seguenti esempi
a1ou..c1
••MM I
' a •
MIAAAl

.
,.:
8A :e
·u .. .. .. .. .. .. .. .. .. ..
1 ·•
" .. 11

~1
i
~-~o 111
I
f I (. IJI ( 3) • I
...
•• o

...
I
I

A. HU~ E l~ I c.
' ' . lf ~ -[(.0111
Pc'R.ftU
T Horr
IJ l<-~i,~ IEltlRo~~ Tt~t~

8. ..... IF u -li011T 14 '0IT fl L f' I~ ft B~ T I <.


' fE~ l flDRH ~8--i--~~~~RE 11 1~~~

in A. si esamina se il contenuto del campo W-CONT non è


numerico, se cioè contiene anche un solo carattere
non numerico.
In B. si esamina se il contenuto del campo W-CONT non è
alfabetico, se cioè contiene anche un solo
carattere numerico o diverso dai caratteri
alfabetici e dal carattere spazio.

10. Quale delle seguenti condizioni è errata?

L. I I l •.
: 11
I .
I
I ; . L~ I
' . I
'
'
~ .
: - .1. ·- . .. ... - .
.
- -
'
I

.'
t
+--
I
~
-: I ·1-- -;-
-4~
• I
.t-· ..-...-- -·._..,_ '
~
i ·•
•..J .
'
H
I
T
~ --4.;·
I o
-r- I ·! ... f -· '
i : ! I ! I i I I l

................................
A.

Si noti che:
- il campo analizzato può essere anche composto e pertanto
di tipo alfanumerico
- la condizione di classe è utilizzata generalmente nel
controllo dei dati di input al programma (ad esempio
iniziati su nastro dall'esterno) per verificare che i dati
che si prevedono numerici siano effettivamente numerici
- il campo analizzato deve avere USAGE DISPLAY o COMP-3.

13.10

La cultura è un bene dell'umanità (fantomasping@libero.it)


.....ALSI EL
lGRUPPO
I~
IRI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzione

L'istruzione IF

L'istruzione IF determina l'esame di una condi zi one.


L'istruzione ha più formati:

formato 1
IF condizione proposizione imperativa
formato 2
condizione proposizione imperat iva
proposizione imperativa
formato 3
IF condizione HEXT SENTENCE ELSE proposizione
imperativa

Con il formato 1 se la condizione è ve ri ficata v iene


eseguita la proposizione imperativa (o l e proposizioni
imperative) fino al termine del periodo; se , al cont rario,
la condizione non è verificata l'eaecuzione - del programma
riprende al periodo succe••ivo.

Si esaminino gli esempi seguenti

. .. .
I '
...
I i. I
11 !I
A. I I '

I 1 I I II
I : I i:
Ii
1 ·

II 11I 11
I :I
I
Ii I!
I.,:
I
' " w
I

6. I 1 1<.1
I ·I i~ I: I
I ' 'I
I

'~
1 I I •
' '
. . .
I 4
iI
I! I
I
I-'" I.
1
I

. I I
I,:
'1.1. I I

in A. se il campo W-TOT non è numerico vi ene eseguita


l'istruzione MOVE. L'esecuzione procede comunque con
l'istruzione in riga 009080.
In B. se il campo W-TOT è negativo vie ne eseguita
l'istruzione · MOVE e l'istruzione di r iga 009160 .

13.ll

Proprietà 1tals1el S.p.A Le copie orig1nal1 sono contradd1st1nte dal retino stampato 1n rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
11. Si esamini l'esempio seguente
, ,, -;- ' ·.
+i· I
I
I : I I I

I
' I
I : I I I I
I
I II
'
' !"I" I
''
'I.,. I

I II !'
I : ' I I
'
I
I

·i+
I I
i I ' ' ' I
I
I

ii
r
I I j I '
I I
I I I I : I
I ! I I '
I ! : I' i II : I '
:
I
I
I
• o o

.' . I I ' II
I
'
I ! : I
I
;

I : I I
:
I i
I
'
I I '
I "'..~ I' I
I
! I
I
';.,.
I i :
I
I
I I
I
i ' I ~

'
'
I I' I I' ' !
I I

' I
I
'
I
i I ' I
i '

i
I .. u
I I
i II II I I'
I
I I I I I ! I I I '
• :"'I " I I i '
I i I
'
'

A. Quali istruzioni vengono eseguite se la condizione è


verificata?
B. Quali se la condizione è falsa?

A. L' istruzione di riga 009260


B. Le istruzioni di riga 009320 009360

Con il formato 2 dell'istruzione IF l'istruzione o le


istruzioni che seguono la condizione e precedono la parola
ELSE vengono eseguite se si verifica la condizione; al
contrarlo l'istruzione o le istruzioni comprese tra la
parola ELSE e il termine del periodo vengono eseguite se la
condizione non è verificata.

Si esamini l'esempio seguente:

. " .. .
i Il I' I
II iI i ! I~ I ! I
I
1 '
I
' I I Ii ~ !! I'
! ! ~ I Ii !
11

Ij I
se si verifica la condizione di uguaglianza tra i campi w-
TOT e W-COMODO viene eseguita l'istruzione in riga 002060;
l'istruzione in riga 002100 viene eseguita solo se la
condizione non è verificata; l'istruzione di riga 002120
viene eseguita in entrambi i casi.

13.12

La cultura è un bene dell'umanità (fantomasping@libero.it)


l .....
I~
"'LSI EL
GRUPPO IRI FINSIEL
I FORMAZIONE
Struuure
per !"evoluzione

12. Si scrivano le istruzioni COBOL relative al seguente


diagramma a blocchi:

CODICE < A

B - - - > MEM A ----> MEM

C - > COMODO

I I I ;II i

lii II iI j· iI I
I
I I I ! I
i !
I

i
lo I ' I I I
I ' I
' ' i I

I' I
I
I
I . oo
I
:'
l I O
!
' I I
I
I
I : I
I
I
I
I
'
I I i I I
'

Ii I I I It .:;.I !i 1 ! !I I'
I I
I
I
I . I I I I' I' I
! I i I
I
I
l I ! I I I'
I I : ' I ' I
! I I I ~ !
II
I I
:
I
I I I I ' I
I
.-

'i•lo .
; . !
I
I I i , J ij
I

"o io
'

l .F
. ! ' i .fl
i ;L'E SI~
i! I I /j •:
. . ,I': o
iI
. . I
I
-fl.Eff
, • o ELSI '
..I · j
I I
7 I
I
O
. ..I
, :• o :H_O\f.E
. '
.
I
i I i ·..L

13.13

Proprietà ltals1el S p A . Le copie originali sono contraddistinte dal retino stampato 1n rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Con il formato 3 dell'istruzione IF
IF condizione NEXT SENTENCE ELSE proposizione imperativa
se la condizione è verificata, il controllo è ceduto
all'istruzione del periodo successivo (NEXT SENTENCE).
Se la condizione non è verificata vengono eseguite le
istruzioni comprese tra la parola ELSE e la fine del
periodo.

Si esamini l'esempio seguente:


; '
I
I
I
!
I
! '
i I ! I
I
I I
' i i ' '
: ;
I
' i
I
I : I' : i ' I I !
' I i ' I l
I I ! I I I I I '
' i : i
I
I
'
I
' ! !
l'
!I
; I
i I
! I i
: ' i
I ! I I II !
'
I

I
I
'
I
I
I
' '

se il campo W-RIGHE è uguale a 15 viene eseguita


l'istruzione in riga 008420; se al contrario W-RIGHE è
diverso da 15 viene eseguita l'istruzione in riga 008400 e
successivamente l'istruzione in riga 008420.

13. Si scrivano le istruzioni COBOL relative al seguente


diagramma a blocchi utilizzando il formato 3
dell'istruzione IF

lw-TIPO = li

W-TOT
~> W-RIGA-TOT

W-TIPO ~>
W-COMODO

13.14

La cultura è un bene dell'umanità (fantomasping@libero.it)


-rALSI EL I
& 1 I"'"'
GRUPPO IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzoone

~
I
r ~l · ' ·--!T I
: , '· o ~ I' 'I II
I I
I! I i! ~
I' I I
I I
I
i
'
I
I
I
11 !
I
I
I'
I !; I :
I :
-rr
I , '.
''
- -

'
' '
i
I
:
!
'
!
I

I
I I
I

I I •(o o 1 I : 1 I I I I I I I ' I '


I I
I I
I

l I :
I I I II III I i

I I I !' II '
: '
I
I I I I ! ' '

I
I
II - I ' I i
I I : !
I I
I
' lI
I I'' I I I
II
I
I
I
I I
i
i I
I
' ! :
I '
I ' ~
I
I ; i ' ' '
' ' I
... . .... . . .......

1
llOUlNCl

t fl'AO tl llUUAL
>•
A
•7•
.,:
z
8 !I
·12 ,, 20 2• 21 u H •o . •• 12 .. I
••; I
•• .. 72

I
I
iI I i
'
I
I

I I , ! I
' I I ; I I '' '
' I I
r ' ' I I
, I
I I I I '
I: I

---- ~~-~ -

14. Si utilizzino ora, per la stessa codifica i formati l e


2 dell'istruzione IF
0 I 4 0

""1'·
ol1 o
I
' i · 1 ·1·
I I • i, 1°
' I ' ~ • I•
t:.'o
' ' '+oIi
: I Jo o
. :i:I:
:;! :i:!: I I
I I ,I o!•

. I
• j•}
t I
I j ! . I : ! !! ! ' I 1

: I .!·I. : ;tf, 1 ~-:r1 Po EG°u~L · -{ H~r ' I


I
I , I, Io
, ! o Io . . ' ' HO,V_E . ~- r;o:T ~-:R I(;~ -Tor'. :r.o·
I ' : I
1 'HOVE ,
: . ! i
w- r . 1 Po. .. iITo
. ;
µ.i- cp.H9 oo.
I '

, : · 1o
.I
' I
I 1
'
1' 1 o
I I I
~
I I Il '
. I 1
:
I

~
1
' ' !,: ·
i I! :1if: ,. ~-):1 ~~ I Hc?T. .E~_l)A~ i"{ .: ':.
I . , , , '. I

I , ~o I o
I

i
) I?
: I
lo
1 1
~. 1 ! , ~oYE ; ~-rio.r !T"P. w-r tG-fl _-n1r ' i

I I >i' jO
il ~~~ IE : . ! . : . ! I. I'.! .. : ' . I

I!
I ;

I I
I
·!'I"
>1' 10 ;I I
: I

H P.\l.f. 1·
' ~Ex'T . ~ O(f:€H C.f ..
~- T/ f>p I in: ' !))_-':O ~p l>O.
• IO lo 'I i: I .. !I
I
! I I I
.'
I iI I I
' : I
'

I
I
I
' '
I

13.15
Propneta ltals1el S p.A . Le copie orig1nah sono contradd1sl1nte dal retino stampato in rosso Ne e vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
L'istruzione IF è spesso utilizzata per controllare
l'esecuzione ripetitiva di una parte di programma.
Si esamini il seguente diagramma a blocchi:

Muovi l
10 in W-CONT

Muovi W-CONT in
W-RIGA-CONT
20 Scrivi STAMPA!
da W-RIGA
Somma 1 a W-CONT
Se W-CONT è >
di 15 •••

CONT > 15

30

La codifica in COBOL del diagramma è:

• '. .. . ..
llOUINCl

CPAOIJ llUttAl u.~


z
o
:•
." •• .. .. ..
1~r i',. ~~I -~
' J • 20 •• 21 u •• " •• n

{I
II .I ,i
I .
I ;;! '

rr1~ 1
o
I
I !. • I : I I
I : . I
! '' I
; I ' I
I i I I I I
IJ
•Il
l· I :
{;- I H12..I
11 .
l il :. .H ;OiV~I I ~'
. I , j
'
I :
I
I
I
'

'
'
I
' '
I I : I
i
I I
'I
!
!
I I I
I
I '
'' i !
I

.T
o o I ; I ' . ' ' ' I I I ~ ' I I I : I I
I
I I
I -!e OHT1. I . I' : ' :' i
!I I I
' !
I I
ii i I i !I :

' 'I° ..i-'P,. ~~+


I'
II .
' o o
!ii I
I I
I i l i : .I I : I I '
I ..
! I I
I I
I
!
I
'
I
:
I
:
I
I

iI
I
'I ' I
I
I

I~O ; W-
I
.
I I '
I I I I
/ IG!LO
I ! ~ i I I I ! I • '
I ; l I I : ' : I : ' ! I

i i; ~:o\!~ i ~- K:QNT II I i
I '
I: ' • o i I I ; '
'. ! I 1 1 ' i , ' I
'
I
.I
. , I !
~16'.A - 'co11 T.:
; I ' I
II ' i
: :1: '" i.tJR:I Lç i ~ ' M . I
I , '
: i
I I . '
'
I I I I I I I I
' :
' I

' I'
' '
.. p~: I
' I
~A!Mr I, I ; .oHi W- ~·~A•
I
i i '
: .... i I
I I ·I
' o o !I ~. I I
! l' ' I ' I
'IT : ·
I I I
I I
~ I:
I
I . I , ,
I
I I
I I
: I : I
T:o ; W-;c.o :
I • ' I
I !
At>D t'tT : II
I
' • o , I .1 I ! I '
:~
I
. I . .. , .: i : I '' I I
I
iI' • I ,
i
I
'I ' I
j1Jri I w-à> ~r ! tfor'
I , · I : I . I ! '
'i'l° ' I ;
i : : I' i
!
i' '
T.
I I I
i I
I 1· ;
:: j I ' '
~E 11:r~~ ~~ '
!
: :
i ' '
I i
! i
I
I
I
I
I I
I !
A:~~~ ~-~ IC.LO . .
1 • I
I ! i : ' I I ' lI
I

T.
' o o I . I I
I I
I
: I I
'
' I'
.
I •
re)
II I
I
. 0'! I ~
, I
I
I
!
l ' :
I
'

'~ 6
• o
i .." I.' I ; .
. 11
I '
I i I !iI
I
I
'
I ' i '
i I I
:
I
: I l
II I
!l1
! I

~~~ PJ~r1:·!E .x.•..


I
o I ' : II
I : 11
' '' ' i '
I
: I

:) I '1• o I
I
I I : I
I I
I • o o :Ex11 •
I I I

I
'
I
' i I
'
'I 'I II'
I I '

13.16

La cultura è un bene dell'umanità (fantomasping@libero.it)


....ALSIEL l
& lGRUPPO I~
IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

L'istruzione IF controlla l'iterazione all'interno del


programma: il controllo viene ceduto al paragrafo Al-990-EX
quando il campo W-CONT assume un valore maggiore di 15.

15. Con quale dei due periodi seguenti può essere sostituito
l'esame della condizione dell'esempio precedente?

.. . ..
llOUINCI ~
z
(PAQrl (HtUAl
' J4 .,.
3A .,,
:o
40 IO ... .. 72

A. ~~'o
o ,. o
' j i II i
l;
I ! l I
I iI
i I·
I I
I I
,! 1 I!
I: i! I
:l'l
l

·j· i : t •
I
iI
I :
I j
. I
o - I : I I l' .I I
I i ! ' i
I' .I
I,

I:
I J :
O I O
I i I I
I :!I I:
I ', ' I
I , I I '
' !
I Io o
I :
I
I i! I
I
I
I !
'
I:, Ii1 , I ,
I I i I I,
i
i I
I i, I"
.:,I. ~ ' .1 I
I ,
I : I
I
'
I l ; i
i !I
'
I
II !
B. 1J•1o _ l i I li i I . , I! I! i'
I
I I : :
' I
I I
, j, .o
I

·j. o • .j
!
:JlI .
, I ,
I
'
I
I
:
I
I
I , !
,' I I :

I
I
II
I
I
!
I
;

'lo o ' : I I
' ''

! I
I

1 ; II
' ' o
: (io! I : ' ! ! I i : I I

Con entrambi .··

I CONFRONTI
In una condizione . di relazione gli operandi possono essere
campi, costanti o ~spressioni aritmetiche.

16. Quali .d ei seguenti esempi sono errati?

'
. o : I
I i
I I

A. I
I Ii ' •o
o
-- - ~

! : ;
I 'I
: i
I
I
I
'
' I

B. i
; ' !
--- _,
J o o w-~ f>.E.s:i -:- I
~
I ;
'
.'
o
J
: ; I i
c. I
I
J o
I
I J
•o I ;i :
:~,,
I
w-
I

D. I I
t F1 .Do ---- I
II : I ! I
I
I
I ' ; i !

I
E.. i I
I
I
I
1 I
i
I
: II
--- - -
; I
j I
F.

E.

13.17

Proprietà Jtalsiel S.p.A .. Le copie orig1nal1 sono contraddistinte dal retino stampato in rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
L'istruzione IF, nell'analisi di una condizione di
relazione, effettua il confronto (1) tra:
- due campi
- un campo e una costante.

Confronto tra operandi numerici

Se gli operandi sono numerici viene eseguito il confronto


algebrico a prescindere dalla:

- presenza del segno nella PICTURE

- USAGE utilizzata nella definizione del campo


- lunghezza del campo.

Nell'esempio che segue tutti i periodi sono corretti.

1
llQUI NCl

I P'AQ[I llU'tlA L
J 4 I l
~
z
8 IA ..
." " 20 .. 21 .. •• 12 .. •• •• ..
Il : :I: I . .
I
I
I
I ;
i I: ; :
i ! 1·
0

0
~DHP - ·~.
cot{P .'
' I
I ! I l ! ~
1·10o
lI II i
i ! '.°!o I l
ì ;
j

A. !I ; . • • 'IT I

I I
I
I
' i
:i :
I

I j 116;0 '
'' I'
'B. : I ' I• .• :i
c.
I ,l+ I '
. I
I i
;
! li I

o. , ~ . Io
, 1• o
I !

(1) Nel caso in cui !'operando o gli operandi sono


espressioni aritmetiche l'effettivo operando è sempre un
campo poiché l'espressione viene risolta prima
dell'analisi della condizione.

13.18

La cultura è un bene dell'umanità (fantomasping@libero.it)


l "T"ALSI
I "'"'
EL
GRUPPO IRI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzione

17. Se il contenuto dei campi è il seguente:

W-TOT 80

W-PARZ -130

W-PERC 20"'50

le condizioni dell'esempio sono vere o false?


AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A. Vera
B. Falsa
c. Vera
D. Falsa

Si noti che:
- i campi definiti senza segno sono considerati positivi
- se gli oper4ndi non hanno la st~ssa USAGE, prima di essere
confrontati assumono automaticamente la stessa
rappresentazione interna. Pertanto, è conveniente, al fine
di ridurre i tempi di elaborazione, che gli operandi siano
definiti con la stessa USAGE"
- se gli operandi sono di lunghezza diversa:
il confronto è effettuato per la lunghezza del campo più
lungo
· il campo più corto viene assunto automaticamente dalla
lunghezza dell'altro campo con riempimento di zeri non
significativi.

18. Quale esempio tra i seguenti è corretto?

..
llOUlfllCl ""

,,AGII flUUAL 8" A


1 J 4 e l I
•• JI .. Il H •o .. 1J

.. : f ' i lI
I

o f'• r·o I ~· 1~ ·
I • ~

qM . 1VA
. • • I
.. ' i
o I ' !UE' ~;
1

ol o
1 p·, '=1 s~'(s) 1v LuE: S~J!J.
I

O I O P1:c· 1,(;s) ! ,VI+ Lu.E; ~5~ I I'


I. • , I '
, I

i! !
• o o I '
II I
I 'I I
I . I I I
I I I
• , o
I; j ! 1' • 1
I i : ! j l
II ;I I I, ·' : I I
.' .!
I :
f\.. ''
• I
o
O
I I

I
I I
, I
I I I . ; i
. ' I '
: I I
'
.
:
I :
; 11
I '
I
I'

o I
I I I 0
I

I:
I
I ! l ! ' I '
I I1 ! : '
I
I I I I I I

o. I ! , o o i I : ! !I I I.
! ! I I I I
I
t
I
I

i~ :
I ' ' I ;
I I I
I
I I I ' I ! I

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

13.19

Propr·eta ltals1el S p.A Le copie onginal1 sono contraddistinte dal retino stampato 1n rosso Ne e vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Entrambi: l'esecuzione del confronto in B. richiede tuttavia
un tempo di elaborazione maggiore

19. Quale paragrafo viene eseguito al termine di ognuno dei


confronti precedenti?

A. ML-990-FINE.

B. ML-050-TRAT.

Confronto tra operandi non numerici


Gli operandi di una condizione di relazione possono essere
costituiti anche da campi non numerici come nell'esempio che
segue:

. '
' o o
iI :, i ~i; I
I
' <
I
II
.. I

II I: !i II !! II I. I: I11! I I!
11 1
' • o I
P: t l~ I. , I .
i I
I
' • o
I Pii t.' I. I '

I iii I

il
I
• • o I : I: , 1
.I I

-frr ,r- I
I I •

i
I
, I
•• o I
~L I I I
I!!
I I , . ,
11
..I.
I

I ' I 1 I I I ; I I 1 ! I

13.20

La cultura è un bene dell'umanità (fantomasping@libero.it)


....ALSI EL
lGRUPPO
I"""'
IAI FINSIEL
I
FORMAZIONE
Strutture
per l'evoluzione

Generalmente operandi non numerici sono posti in relazione


per determinare se il loro contenuto è uguale, come
nell'esempio.

Il confronto viene effettuato da sinistra a destra,


carattere per carattere e la condizione è verificata se ogni
coppia di caratteri risulta uguale.

Talvolta, tuttavia, si vuole determinare anche quale è il


"maggiore" o il "minore" fra due campi come nell'esempio
seguente

I I,I ' !
-J1til lZ :
I

II II :, 1 I !' i' I
1 '
I
' • •
I

i l : i1I I :

Anche in questo caso il confronto viene effettuato da


sinistra a destra carattere per carattere. Al verificarsi
della prima disuguaglianza, risulta minore il carattere che
ha valore binario minore: i confronti vengono effettuati
infatti facendo riferimento all'ordine (Collating Sequence)
del set dei caratteri EBCDIC (vedi tabella in Fig. 12.1).
Nella tabella si nota che, ad esempio, il valore binario
corrispondente al carattere . spazio è minore del valore
binario corrispondente al . caratt~re '•', '<', ecc ••• ,
pertanto il carattere spazio è "minore" del carattere ' . ' ,
'<', ecc.

Si supponga che i due campi dell'esempio che segue


contengano rispettivamente i valori AAA e AZZ.

-r I I I I

l lI i ~ i
I '
, '. •io I I 1! '

. . ''. •1· t t • 1: ~
.
'
I
I

1


l

j : '. .
; I

) o o I I I II ' I
!:I i I' ..
l ~ I
) 1 10
'. I : 11 : I I • I

A.
'

, '. ' io
I

.:il ~ V:IP. I I I I I

I I :I .' ;I I I •
j !
II I i'
) • 'o I
. I I I I , . I I
B. ' l • IO I :T]~
• OIO
I 1 I
1 I I
-~ !
!I: 1 I!

La prima condizione non è verificata in quanto il secondo


carattere dei campi è diverso. Il confronto a questo punto
termina e l'esecuzione del programma procede in sequenza.

Anche la seconda condizione è falsa.

Il secondo carattere del campo W-DESCR è, infatti, minore


del corrispondente carattere del campo W-VIA, pertanto il
confronto termina e il campo W-DESCR risulta "minore" del
campo W-VIA.

13.21

Proprieta 1tals1el S p.A Le copie or191nal1 sono contradd1st1nte dal retino stampato 1n rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
20. Si esamini l'esempio seguente:

~1' : .I~
I1 I'
I! i I I ·1 ;
I '

t
i>(. 111 I 1
xx. !I I 'i
1 '
I
; .

I
!
I
I
! ' o o
: . I
I
I. ! '.

I I ! l
.: I ;.
I
I
I I
! ;
J

I'
.
' I ' .
I
~

'
I
I I ; l ! I i'' • l • ••

i I 'l'Io ! ..
I

I I! . ' l I '
i .. !! ' ' ' , 11 ! I ~ •

' •lo
I . .I .: i l ! I
II : I '
' ' ' I '

I i · •loi
I ; :
0 I / I
I ~ 1 1
!' ·
I
I~
I '
>o l o
I '
:;i . i Il i
I :

I
1' i !, ,
• I '

se il contenuto dei campi W-CAP e W-COD è ABC e CBA


rispettivamente, quale delle seguenti affermazioni è
corretta?
A. E' verificata la prima condizione e pertanto è ceduto
il controllo al paragrafo A2-030-TRATT.
B. E' verificata la seconda condizione e pertanto viene
eseguita la MOVE
C. Non è verificata nessuna condizione e l'esecuzione
continua in .sequenza

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

c.

21. Se il primo carattere di un campo è numerico, il campo è


considerato:
A. maggiore di uno che inizia con un carattere
alfabetico
B. minore di uno che inizia con un carattere alfabetico
C. maggiore di uno che inizia con un carattere spazio
D. minore di uno che inizia con un carattere spazio

A. e C.

13.22

La cultura è un bene dell'umanità (fantomasping@libero.it)


....ALSI EL
I"""
liRUPPO IAI FINSIEL
I
FORMAZIONE
Strutture
per l'evoluzione

Se in un confronto gli operandi non numer i c i sono di


lunghezza diversa
il confronto è effettuato per la lunghezza del campo pi ù
lungo

il campo più corto è infatti assunto di lunghezza par i al


campo più lungo e viene · riempito a destra di · caratteri
spazio.

22. Per ogni coppia di valori elencati, si determini il


valore "maggiore"

A. 123
XYZ123
B. COD
CODICE

C. CAN-GO
CANADA

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A. 123

B. CODICE

C. CANADA

23. Quale condizione viene soddisfatta al t ermine de i


confronti dell'esempio che segue?

'
i
' I > 1• I
I
I
i !
p·, ~ i<. ( 3ì VLVE 1
A6
1

: '!T p·,c_ xJ 5) :vA u t 1


e·c.

1

. I :i:
"' •
1
: I
i,U_i EK~R E
A. "1·· 1
o
I
I
I
iI
: '>t;I+•j•
I 11
' I
! '. I ::
~i[NERE '. I
I

B• I I
!
! I : I I
i , I I '
I i i ! '

I 'I •I•
!
II 'o l1
1 I I t
1 ' I!
! !
I! i•
I I
1 l i I +o : I I ! I '

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

B.

13 . 23

Propneta 11als1el S p.A Le copie on91nail sono contraddistinte dal retino stampato 1n rosso Ne é vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
24. Per quale motivo i campi precedenti sono considerati
uguali?

In un confronto alfanumerico tra campi di lunghezza diversa,


il campo più corto assume automaticamente la lunghezza del
campo più lungo; i caratteri che lo riempiono a destra sono
caratteri spazio.

25. La condizione seguente è verificata?

.
&lOUl NCl ~
z
(PAO(J IHlltAL 8A :I
t J 4 I 1 I ' 12 11 20 24 21 JJ JI ~ " 48 11
•• ... .. 1J

1
1·l1 : : :
l I I
o • o i
O I

' o o
O
l
il
' ' o
' • o - il j 1
' • o

• I O
-
I
11' I
\
I
1

AAAAAAAAAAAAAAAAAAAAAAAAAAAAA

No.
Dopo l'azzeramento infatti il campo W-TEST assume in
memoria il valore

mentre la costante •o• assume nel confronto il valore

26. Si scriva l'istruzione in modo che la condizione sia


vera.

I I I !i!
I ' I ! j : i I l !' II
I
I
.I II I
I ! I I ii. I
I
i
I
11
I I
I
'
I
~ I
II

I .
!
I! I 111 I1 I , II I ! 1 I
1 1 1
11
I 1 I'
I , , 11
lI I
, I
,,i
; : I I Ii I I 1
·- . ·--· -····

I'
111
I
,::
1 ' • o
I
I I
i if!
I

II·i.; I I
I '
I I

I . :
I

!I ,l± :: 11 I
I
. i i
I ! '

13.24

La cultura è un bene dell'umanità (fantomasping@libero.it)


l ... ""LSI EL
I....._ I FORMAZIONE
Strutture
3RUPPO IAI FINSIEL per l'evoluzione

oppure
i
I
Il t

: I I 1 11 I iI
I !I I I
I I
I
1
11
I 1 I I I
I
t
I I
I I

E' consigliabile la prima soluzione.


La costante figurativa, infatti, in una condizione di
relazione assume automaticamente la lunghezza del campo con
cui è in relazione.

27. Si esamini l'esempio seguente

o!' 1·
oI• o
l ' :
I
I
o:'I°
OjI O
:i
I

I
' o o
I
'
I
. i

I

i
ii
I :

' '

quale tra le seguentì affermazioni è errata?


A. La costante figurativa SPACES è assunta
automaticamente pari ad un campo di 133 caratteri
uguali a ~
B. Il primo confronto è possibile
c. La costante figurativa HIGH-VALUE non corrisponde a
un carattere del set grafico
D. Alla costante figurativa HIGH-VALUE · corrisponde il
massimo valore nella "Collating Sequence"
E. Il secondo confronto non è possibile

E.

13.25

Proprietà ltals1el S p.A Le copie orig1nall sono contraddistinte dal retino stampato 1n rosso Ne è vietata la r1produz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
28. Il carattere di riempimento a destra, nei confronti tra
operandi non numerici di diversa lunghezza è:
A. il carattere O
B. il carattere spazio

B.

13.26

La cultura è un bene dell'umanità (fantomasping@libero.it)


l3AI"T"ALSI
I ,...._ EL I FORMAZIONE
Strutture
'P' IAI FINSIEL per !"evoluzione

Capitolo 14

14.0

Proprietà ltals1el S p A Le copie originali sono contraddistinte dal retino stampato 1n rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
La cultura è un bene dell'umanità (fantomasping@libero.it)
...ALSI EL
lGRUPPO I~
IRI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzione

LE ISTRUZIONI GO TO, STOP e DISPLAY


L'istruzione GOTO

L'istruzione GO TO consente di interrompere la normale


sequenza delle istruzioni cedendo il controllo ad un altro
punto del programma.

Il formato più semplice dell'istruzione è il seguente:

nome di procedura
Nome di procedura è il nome del paragrafo cui viene ceduto
il controllo all'atto della esecuzione dell'istruzione.
L'istruzione GO TO con questo formato è un'istruzione
imperativa di salto incondizionato al paragrafo indicato.

Si esamini l'esempio seguente:


I
. ' ; ! : I I
i '
i i
. .. I I l
I '

~
I ,.
. ' I
!
I .
:
I :
I'
i :
: I :
.
I
II I
:l ff. \f ffD . .
t I ' !
I
I
I

w-·F F:- Ari Ap .•


' !
' I
I
: J ' • I •
i
' -H l&H- V~LUE
iJ-A Hfi6. ..
:
'. I I

'
:

,..
' I>
:
to

' ;.
' • o
' e lo
' o o
J 7 io

L'esecuzione del paragrafo ML-010-LEGGI comporta la lettura


di un record dell'archivio ANAG e la scrittura di un record
ideQtico sull'archivio PROSP. L'istruzione

:
rd : HL~ ~-i!;-·Li66-:1 •
0 '
. I ','!
> 1 lo .. .Go. :
' I
• , o 10 ' o I

fa si che il paragrafo ML-010-LEGGI venga eseguito tante


volte quanti sono i record dell'archivio ANAG.

14.1

Proprietà l!alsiel s p.A Le copie ong1nali sono contradd1st1nte dal retino stampato 1n rosso. Ne é vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Si noti che:

- il paragrafo specificato nell'istruzione GO TO può


seguire, precedere o essere il paragrafo stesso in
esecuzione
- l'istruzione GO TO consente di realizzare una funzione
ripetitiva senza dover riscrivere più volte le stesse
istruzioni.

1. Si completi l'esempio seguente in modo da poter leggere e


scrivere tutto l'archivio ORDINI

zo
lfOUfNCI

IPAQU ll llUAl u. :
• .. .. .. .. . . . ,,
'
I
J •
o,,,.• .I 1 I

' "
I
11

.' . lJ
, ' I
lO

I l l . I . . '
li u

'
•• 12

I
IO

' ' I
l •i. f. EH
I
;
!I
I

~EAt> . rr:o w-o.f?. ()I H I ....+7 I


I 0~
O 1 NI .I IIJN
1
D I : I

I
I

.i
·i+
o • !o
I
!I
'
I I I I
I
I Ho'V.é
I
I ·ff
. ' I QH-.11
. . Ii I l i .
I ,
flL IJ E i j~O

' I I I
W- FF,-0 R.01
'
.N
'
I •
I . ! '
: ''

I
;
I I Ii
I
!
'

' I o 1• I :l.f W-F~ -O~D iùr 1 l 't'l 1 : ~ :Q UflL Hl6 H- VA ... U[ : I

I
I
I
',,i o ~.t,r € i isriAlù ~~ '. ff.O'H w-
, . OR.O I "41 !• .
;
'
1 .. !o
I
i .i iI '
i
. : I I
I '
! L
' '

' • o

" 0 1° HL-~1,,-(: IC.LO .: .


' o o
, ' ~o

' • o
:
' • o

' • .o
l ' o o
) , o
I '.
J • o

2. Quanti salti sono previsti nell'esempio seguente?


-
zo
u. . . . .. . .. .. ..
HOUU•Ct

IPAGll kHflltAl I

' J •
• 1 I
" 11 10 li u 12 00 11

, :o
.
o
I ! : I

:
o
I
o HL-·
;
1.6U.
'. . ~
~
I
o .' • o
'
i I
;
o • 'o (lEIW flH ~~ 11tTo w- fmAG AT [H D
' o o HOVE Hl r;_H-V llLUf ro LV- FF-~ f'IAG.

.' .
' o I
' IF llJ- F:F - flHA G: . .N OT ~QV;l L H I (rH- V4LUé
' • o &o ITO HL - -I <#.
' '. o '
I
,oo 1h:- 9~ ,_;: l!ff .
,
' •
14.2

La cultura è un bene dell'umanità (fantomasping@libero.it)


l....ALSIEL I
& I~
.ilUPPO IAI FINSIEL
FORMAZIONE
S1rut1ure
per !"evoluzione

A. Un salto al paragrafo ML-100


B. Tanti salti al paragrafo ML-100 quanti sono i record
del file ANAG.

B.

3. Nell'esempio seguente, quale è la sequenza di esecuzione


dei paragrafi, se l'archivio DATI è composto di 3 record?

..
---+ .. ~-- -~ -

-·-i
I

- ~--:
I
-~-
- .,
-:--r ·
.

~-~-

ML-010, ML-020, ML-020, ML-020, ML-030

14.3

Propneta ltals1el S p A . Le copie onginalr sono contraddrstinte dal retino stampato in rosso Ne e vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
L'istruzione STOP
L ' istruzione STOP arresta l'esecuzione del programma.
Il formato dell ' istruzione è il seguente

L'istruzione provoca l'arresto definitivo del programma ed


ed il controllo viene ceduto al sistema operativo.

Nel seguente esempio

I O O I ' I .. : I
! I :
I
I ,
' , o M.L- ~~f>-~ 1.rJ.f. I
' Ii I . ,,.
) o

' • o :cl 0·5 E. ii ri~ . i 1


I
' I I
I ' : I I
i I
. .
C~OSE ORt)1tl/ ·.: . :
I I
'
I
; I .. l .! j·i , ! I
i
'
:
·1 ! !
I I I
'
• o o
• o
:sTo'p ! e'uN.: .
I

I i
I
I : l I! ! I ; . : i II 1I :
: , I I I I
'
I I ' j I I I
; I : ' I '
I

il paragrafo ML-990-FINE contiene le ultime operazioni del


programma: chiusura degli archivi ed arresto della
esecuzione.

Si noti che :
- l'istruzione STOP RUN deve essere l ' ultima istruzione
esegui ta dal programma e non necessariamente l'ultima
istruzi one scritta, pertanto se fa parte di una sequenza
d i istruz i oni imperative deve essere l'ultima di esse
- tutti i f iles devono essere chiusi prima dell'esecuzione
della STOP RUN
- è consigl i abile che il programma abbia un'unica istruzione
STOP RUN.

14.4

La cultura è un bene dell'umanità (fantomasping@libero.it)


"T"ALSI EL
lGRUPPOIRI I~
FINSIEL
I FORMAZIONE
Strutture
per l'evoluZtone

24. Quale dei due seguenti esempi è corretto?

o!': o i
A. O ' 'O
'
~L-~3(i5<L EGGI . I I
I
o • •o
I

I O I
I
~ O R-·EA.
. I I wro ltT END
' o o Hl ;
H·V FILi.JE 'fO w- f-Ho V,
I 7 I0 I
16+' -V.19
..
' • o IF tWV" ("
' -~~ -L
1 e 10
, o o
, , o

~- ' • o

' • o
HL-?3f1-:Lé"-1 .
' • o R.~D Ho~ AT f.Hb
l
: :
0 I0

i :
Hov 1))- F-
' ' !o
'
' • o
.. IF Hl 1-1- LU
J

• o fo
e 10
I .

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A.

14.S

Propr1eta ltals1el S p A Le copie originai! sono contradd1st1nte dal retino stampato in rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
5. Si scriva il programma CREANAS che (vedi Fig. 14.1) legge
il file su nastro ORDINI e genera un file su disco
ORDNEW. Per ogni record letto in input si genera un
record su disco in output che contiene le stesse
informazioni del file di input.

Fig. 14.1

8 j,
CREANAS

Il file ORDINI dovrà avere fattore di bloccaggio 20 ed


etichette standard.

Il file ORDNEW ha fattore di bloccaggio 30 ed etichetle


standard.

. u. .. .. .. .. ..
HOUINC[
io
I ,
IPAQ( J ISf"JIAl
• 1 I
I
u .. 10 ,. 11 ,, ,. 4() u •o 11

~~ o ' o I t>EHT I F"I CATt ~H DI \Il b I Ot • ..


• • o
.S~tP ~
n • o
P!WGR.AH- ID. c.RfR rlRS.
o • n EléC T ..
' o
.. o tHVI RoNH E.HT DIVI StpN •
, ..
I ' 7 0

..
SI< f f 3
I tf PÙT-ovrrrv1
.SK/ Pf1
I

5tC TION.
' • o

' ' n F t L-E-c.o.HfR,O L •


SE.LE CT O~C>I Ml IAS5t GH ro UT-S -OR.Cl uu.
..
' o n

''
' , SELEK.T PfeD>-1 [W !hS~I k;-N rro l>A-~ -oRCl Nrw. '

. .
'

'.. • o EJfc T
~T~ l>I V ISID H.
. '

, .
, o o
SktP 3 .' . . ..
' FILE 5f.c T.IDH. . . . . . ..
l 4 I O
, ..
1 •• FD Of?.C>1 Hl
...
' ' n LABE L R-E c.o~o 5Tfl !HD.Ali D
BLDC I( c..om-~ Jt/S ~0 R.éc O/lDS.

~
410
440
~i.. DR.l> I N I-i .. Ptc. )( ( 8~ ) .
. . ..
1-60
-
- - ... .. .........

14.6

La cultura è un bene dell'umanità (fantomasping@libero.it)


'T"ALSIEL I
& lGRUPPO
I """"
IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

1
HOUINCl

t,AOll IHAIAL
) 4
A
I 1 I
~
z
8 I

" •• 20 .. •• 12 .. •o . .. '2

I i
:
I
I t ;
I I I
I
!

, I

.; 'I°
:::1:
' • o
1
I
o 10
: '
I

J.' lo
3 • ,o

J :• 10
I '
J i' :o
1
• O jO

142 .0
<JJ'f :o
~ilo

.. .. .
~

..
HOUl•CI

l PAO U IHUAL A 8"' .,,


:I
,.
l J 4 I 1 I
I I
20 21 •• 12 IO

I : ~E.A D 1
. 'Di>, l>~~l 11 1ttrio
1

l. ,'. :l Ho VE ..., G.H'-. lvA L..~E :i


I .
!.
I f:F
I 11.J. ·F:F . ,o·~:o
I
I
~ 1 ' t-Jo r E QU li~
I
1
li I .6,., - v'i L Vf
I :

I
:
..
l ' Io i I · · tfr.i r ~sp1trpfl. ~ ,
' • Io
I ;' ~LSF ' ' . ' I. '' ' :
' 1. 1o
, I 1j . ' .j P.ER.fb~H. :A_C)·~~?-~tJOTO . Tttttu )lq-qq~-vvoro-fA'.
'!'II o I I 1 I I I I

H.L:-·~:i~+ E~fH
:
' to; o .: ! : :
o
'' ' I . ' ' ' I • • • • •

>I • o
t
Wll1!:= : pRDHE~{ f~Olf w-0RD1 H I.
. I
' I • Io

'
I
I I0 I I RE.AD : oR~·, ~·I " utro IJJ-ORD IN/ AT (14/)
o lo
', I i ; M .OY~ : t(qrf4:-.VAL.,E ~o w-FF-oeJ)1 H• •·
>I O
1
: . I I I • • I . . • . . . . . .

l:·10 ! : :f.F. i ~- .FF-oR()IH.1 tfOT [{)V~L ~16#-~ALvlE


'!•10 ! 1 ,! l , Go. · r:o, HL.-f'il. !-L EC.Gt •
' • o I
i
H·L--ltfl tJ-if I 'l ii .
I
• . o. o

ltrz o C.LOSE"' ()R.[)1HI.


-.~~o CLD.S E oi.'ir>NEU..
~60 ' s'To:P R.tJlj. ·

14.7

Propne1a ltals1el S p A . Le copie ong1nal1 sono contraddistinte dal retino stampato in rosso Ne è v1et<1ta la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
L'istruzione DISPLAY

L'istruzione DISPLAY consente di inviare, sulla stampante


standard di sistema, messaggi utili nelle prove dei
programmi, messaggi di errore, statistiche sui dati
elaborati al termine dell'esecuzione del programma ecc.
Il formato più semplice dell'istruzione è

costante! costante2 ]
DISPLAY nome di campol [ nome di campo2

Gli operandi dell'istruzione possono essere costanti


numeriche e/o non numeriche e/o campi definiti nella DATA
DIVISION.

L'istruzione stampa il e/o i valori rappresentati dagli


operandi r ichiamati dall'istruzione stessa.

Si esamini l'esempio seguente

'
HOUINCl

lf'AGfJ flUUAL
J • I
u.
~
z
o
1 I
..
' 12 Il JO •• JI ,, H 40 .. •• 12 . IO •• . "
' I •I' l. I ' .
.
'
: ! I I I
!
l
: i · ~ T ~.'fi W-l'E
. Til
~I
' '
' '
' I'
I I '' i ; 1
I

P.' e:. ~(~) 11/IL VE_


i
{5tf~ ~~ I

I
i
I

o • o !
I
i
'

I
o
I
•I•
I :
' I

.D. I ~p lllY
I !

I
. !
'io7 •: ~E lOfU LéT r 1 =
.' ' I
LL -LfT T I . ' I
I
I'
' o' o

L'istruzione DISPLAY provoca la stampa dei due valori

TOT. RECORD LETTI = 15000

Nell'esempio seguente l'istruzione provoca la stampa di due


righe, una per ogni DISPLAY

I . I• · -~

...
>I o !
' ! I • :
: '
' • 'o
1•1 lo
I
,
'
'
.DI SP LflY 1ÙÙ? k>~t· . '
, 'f I~'{. 'LS ~ CiJl o tlE
D1~p L Il'/
''
~ '
P~o GRl1 I I I I ..I ::1'.:.1 :...
H
f::.l_l_J·

14.8

La cultura è un bene dell'umanità (fantomasping@libero.it)


I
& l ...ALSIEL
......
GRUPPO IRI FINSIEL
FORMAZIONE
Str utture
per l'evol u21 one

Si noti che:

- pur eseguendo un'operazione di output, l'istruzione


DISPLAY non richiede la descrizione del file, la sua
apertura e la sua chiusura
- i campi richiamati dalla DISPLAY possono essere elementari
o composti
ogni DISPLAY provoca l'avanzamento della carta di una riga
e la stampa a partire dall'inizio di questa per una
lunghezza massima pari a 120 caratteri. Se i valori da
stampare hanno lunghezza inferiore le posizioni eccedenti
vengono riempite di spazi

- se i valori da stampare con la stessa istruzione DISPLAY


superano i 120 caratteri la parte eccedente è stampata
sulla riga successiva

- se l'istruzione richiama più operandi non vengono inseriti


caratteri spazio tra un valore e l'altro

- dal momento che è stampato solo il contenuto dei campi è


consigliabile far precedere la . stampa del valore da una
descrizione mediante una costante non numerica

- il DISPLAY di una costante figurativa provoca la stampa di


un solo carattere corrispondente

-il volume di dati stampati con l'istruzione DISPLAY deve


essere il più possibile limitato per evitare di
appesantire il sistema.

6. I campi W-TOTl e W-TOT2 contengono rispettivamente i


valori 995000 e 215000. Quale è . il risultato della
seguente istruzione?

' o o
. ' . I
-f.{ Pie. q (6 } .
~~
' ' 10 u..i-~o
' • o
I

'
2 t IO
w-r:0 r.t
I
Pjc '}(6) .
: I
- , l jO
I
D.1.5.P u~.Y ~-r D.T ;-I ' .. ~T,J.
l.v-T
' o o '
- _..
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

995000215000

14.9

Propneta ltals1el S p A Le copie ong1nall sono contradd1st1nte dal retino stampato in rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
7. L'esempio seguente è corretto?
-
l I' o '
I
:
J, 4 I O
rJ;{ W-AN A. '
'
;
f/>,3, IAJ- ~N ~- .c:o D ' p I C. '1(6)
'
l ~ 6 !o :
He1
I
' :
..
~~ r: I L.L ER.. )\~3~ )
• o W-A~ ~-HO PIC
.
l
I'
. I ' '
o o : '
I
' P1C X .f/. ~). '
I
'li O I
I ' . ..
' ' :D1s;f' /...~'/ w- ~~i}: .
4;41 '0
· ·~- lq~A .
; I
I
I '
t~ I) i I
'
I

Si'

8. Quante righe vengono stampate con l'istruzione


dell'esempio?
A. 1

B. 2

B.

L'ISTRUZIONE PERFORM
Da notare che:
- per richiamare una routine occorre indicare il suo punto
di entrata (NOME DI PROCEDURA 1) ed il suo punto di uscita
(NOME DI PROCEDURA 2)
- in fase di esecuzione dell'istruzione PERFORM ••• THRU •••
· il controllo passa alla prima istruzione specificata nel
paragrafo PROCEDURA l • I
· viene eseguita la routine fino all'esecuzione
dell'ultima istruzione del paragrafo PROCEDURA 2
il controllo passa all'istruzione successiva alla
PERFORM
- le istruzioni GO TO all'interno dei paragrafi di u11a
routine possono trasferire il controllo solo a paragratl
della routine stessa
- una routine può contenere a sua volta il richiamo ad
un'altra routine

14.10

La cultura è un bene dell'umanità (fantomasping@libero.it)


.....
liRUr ALSI EL
• ......_
•o IRI FINSIEL ·
IFORMAZIONE
Strutture
per l"evoluzoone

L'ISTRUZIONE EXIT
L'istruzione EXIT specificata nel paragrafo PROCEDURA 2
rappresenta il punto di chiusura di una routine
· formato
EXIT.
Da notare che:
· l'istruzione deve essere l'unica nel paragrafo
· bisogna utilizzare sempre l'istruzione EXIT come punto di
uscita

L'ISTRUZIONE PERFORM
L'esecuzione di un programma procede, normalmente, in
sequenza da un'istruzione all'altra nell'ordine in cui
queste ultime sono scritte.
L'istruzione GO TO, come si è visto, provoca un salto
incondizionato ad un altro paragrafo del programma.

In questo capitolo viene illustrato l'uso dell'istruzione


PERFORM che permette di alterare, temporaneamente, l'ordine
sequenziale di esecuzione, per eseguire una "routine"
interna al programma.
Il formato più semplice dell'istruzione PERFORM è il
seguente:
PERFORM nome di procedural nome di procedura2
Dal formato si nota che richiamare una - routine significa
richiamare i corrispondenti paragrafi che devono essere
eseguiti, e precisamente il paragrafo procedural fino (THRU)
al paragrafo procedura2.

Si esamini l'esempio seguente

~
1 ..,...-ir-~~t ~·-~..-~
:: ,~!·!·1
. . •.• !:.. ~., -:·-L~
. .• . . J- -~~ ... .•.L~u
' .... o 'F.:1é~
-1 "'L~~1:Iu&i~:
_J • 1- ..
l'f o.~ ~ , 1_~
w
. •. .
.,· : :·-f 11.:
I.O. .L.Irl ~-
~ - .. __.. -

: _;1-:
..
· ;:1 '.. ~ !' :I •I 1• : :. ~: . ~ .•I..
.
'1 ... -! .J - •
'·I

• • • • •
·

• · · • •

...
.
~:t:
. . •··:
1• 1•
·:··-~?
~-1-~-ri
I . I I . I
a-i~- :. .:.
.., TI :: -·' '"'. !f~T ~r.:c
. •
rt&IT~
I
1
:F' : 1 1~'°-.1t}A
a

,.,
" rit RJ"f1~1-ZoM'T':.4 &.t-=-clA1
. . .. . . ; . ·- . .. ., .,- _.. ' ' : . ' ., . -1.,1·'I
I I • •
-'.&l:
• • '

L'istruzione PERFORM, in questo caso, richiama l'esecuzione


della routine CONTROLLO-DATA. Come si nota dai diagrammi
indicati in figura 14.2, la routine CONTROLLO-DATA, che
viene richiamata in due punti del programma CONTOl, è
composta da più paragrafi. .
Pertanto, nel richiamo della routine sono specificati il
primo paragrafo Al-010-CONTROLLO-DATA e l'ultimo paragrafo
Al-100-CONTROLLO-DATA-EX.

14.ll

Propr1eta 1ta1s1el S p A . Le copie originali sono contradd1st1nte dal retino stampato in rosso Ne é vietata la r 1 produz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
Fig. 14.2

,_______PONTÌDATAI _.

CONTROLLO-DATA

NUMERICO 10 ......__ ___, NUMERICO

ERRORE

100 ____ _..

14.12

La cultura è un bene dell'umanità (fantomasping@libero.it)


.... "'LSIEL I
& l,RUPPO
I """'
IAI FINSIEL
FORMAZIONE
Strutture
per revolu21one

Si noti che:
- il richiamo della routine, consiste nell'indicazione del
suo punto di entrata (nome di procedura!) e del suo punto
di uscita (nome di procedura2)
- se è specificato nome di procedura2, il rientro avviene
dopo l'esecuzione dell'ultima istruzione del paragrafo
procedura2
- le istruzioni GO TO all'interno dei paragrafi di una
routine, possono trasferire il controllo solo a paragrafi
della routine stessa
- l'ultima istruzione dell'ultimo paragrafo non può essere
una GO TO
- una routine può contenere a sua volta il richiamo di
un'altra routine.

1. Al termine delle funzioni richiamate con una PERFORM, il


controllo è ceduto
A. alla proposizione che segue la PERFORM
B. al paragrafo successivo·... a quello che contiene la
PERFORM
I C. al periodo successivo a quello che contiene la PERFORM

A.

2. L'esecuzione dell'istruzione
,,. : I
- -·- -
'
.
'
• o 'P'rfÙ ofiH Id- 1:~r1
. . '
I

1H R.U fH-- ~~.


I •• o

provoca:
A. l'esecuzione del paragrafo Al-010 fino al paragrafo
Al-030
B. l'esecuzione dei paragrafi Al-010 e Al-030
C. l'esecuzione del paragrafo Al-10
AAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A.

14.13

Propr1eta ltals1el S p.A Le copie originali sono contraddistinte dal retino stampato in rosso. Ne e vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
L'istruzione EXIT

Quando una routine prevede più vie che non si ricongiungono,


il paragrafo procedura2 nella PERFORM deve contenere
l'istruzione EXIT che "chiude" la routine.
L'istruzione EXIT, il cui formato è il seguente /
EXIT
deve essere l'unica istruzione del paragrafo. . /

Si esamini l'esempio seguente

o • o

' o o

' ' o
' • o

' • o
: I' ! : :
' • o
: I ; :
' o o ' '
: :
, , o
:
' • o
:
I '
' '
; '
, ..
, • o

' o o
' i i
!
:
i
I :
! I
! ; ;
) , o I I i '
I
: ! ' :
l • o I
! II ; : I
J • o
! '
I ' ; ;'
I1-1iI ~ !
I
, • o I '
I I
• o o
:: . ; l I I ! I I ' ; I i i I ' I I
i iI
' t I I
I
i . , ,
f 1 II i :'
I !I i iI J 11
, • , , I , , 1 i , ~ I , I , ; , , ,
I I I i ~ : I I

Al-~~~-c~"~Ro~~o-~~TA·!X.
. , . • . . . ~~ , . : .. , , .. I I , I j
I
l
11
,
I i I
I

La routine dell'esempio prevede due vie di esecuzione. Per


entrambe l ' uscita della routine è il paragrafo Al-990-
CONTROLLO-DATA-EX.

Si noti che :
- l ' istruzione EXIT rappresenta il punto di ricongiungimento
delle d i verse vie che possono essere seguite in una
routine. Pertanto tutte le vie devono trasferire il
controllo al paragrafo che contiene la EXIT
- l ' istruzione EXIT deve essere l'unica istruzione del
paragrafo
- l'istruzione ha effetto solo se è già stata eseguita la
PERFORM, altrimenti il controllo viene ceduto al paragrafo
successivo.

14 . 14

La cultura è un bene dell'umanità (fantomasping@libero.it)


"'W"ALSI EL
lGRUPPO I~
IRI FINSI EL
I FORMAZIONE
Strutture
per l'evoluzione

3. L'esempio seguente è corretto?


- i '
-
I
t I 1 10 I ' I I I

:
<
' i,+

iI o
:!
.' I . :I .
PE.flf
,.
K>RN.
1

I
1,

I
:,

• I
1


A2·-
f
I
rJ.././j. -~~Ha '"· .
I : '
AZ. ''i~
.
UU.f~ 1'0-
I
0(,

, :•!o I I t I I

, .' 1· A.t-. fl-t~.-{-


I
~Ht> l b, •.
' e 10 I
!
J I 0 !0 HO"VE ' W- e.o D IJ'1
.0. I
w- C OD ,- OUT. I

J ,o ; I

3J, o
i
IF' w-:a,
'
O-O{;
I
T : .E Q IJltL
I u: ~o
' • o I
I
' t;.o ro ~~- ·'I 9,_
- c ~H61 o-Ex.
ADD w lo""' 'TO w-
~Am IO •
.
• ,o C:...OD-
' •I. '
! '
I
12 :e !
A2- 99~·- ·c. IH1S1 o- t:/.
' ' I

~4;<> •· 1
4-{o • • . I IEX I T •

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Si'

4. L'esempio seguente è corretto?


HOUfNCf
zo
u.'
IPAGU llUUAL
' • • • . ..,• .. 20 ,. ,. ,, . •• .. .. u .. IO . . "
' i
!
Tj°
O' • O
I! ' ' j

PE. ~.f o'li~


I
'
(\, __ ... o _P_1A 1 Hi-v. A1- toPI A .
.:.E)(
: '
I
O J 6 10
I I
,,
I
I ;
o 1t n I
I
'
' ·o !o A1:-c..of 1iii.
' I
t I 1 10
: ..
• o REt10 o~ DI H.1
'
w- OR. OtHf rr'o
A1 El- D
.
'

. ...
"o
;
t\OVt Hl 6H·V ALVE '"'
To w- FF-0 RD.
-
I
1 o •n IF W-ff -ORO HO r E QoJ111L t-1\ 6K- \I 111..v E
, ' 1o k;-0 ro ~9- (. OP1 A
.
1 ' 'O

, • o
i
u.ie1 v- r o R.OHE i»i FR.Ot{ w- 0 ~ C> I t< 1
' • n
4~-coi1 f. • € )(.
.
J o n
é.)( 17
' , o
I . n
- - -

No

14.15

Proprietà ltals1el S p.A .. Le copie orig1nal1 sono contradd1st1nte dal retino stampato in rosso. Ne è vietata la ~1produz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
5. Quale delle seguenti affermazioni è errata?
A. se la routine richiamata dalla PERFORM contiene
l'istruzione EXIT, la PERFORM deve essere scritta
specificando nome di procedura! e nome di procedura2
B. se la fine della routine è raggiunta da più di una
via, essa deve essere costituita da un paragrafo che
contiene solo l'istruzione EXIT

C. una routine può contenere più istruzioni EXIT

Nessuna

6. Una routine è composta dai paragrafi Al-010-PAR1,Al-020-


PAR2 e Al-030-PAR3. Si scriva la proposizione necessaria
per richiamarla in modo che al termine dell'esecuzione
della routine, il controllo sia ceduto alle istruzioni
seguenti la proposizione stessa.

: I '
i :
I
I : I : '
l
I
! I . .
i
:
i
II i
I I
I
!
:
II I I
'
j
I I !
I
I
I
! I
I

I
I
I
i
: : '. , . ' ' .
i I

'

, ! e; lo
. I :
' • o P·E.fu o ~H A1- '»~ :,_ flJ~1 TH f,tl ~1- 9' 3<1-P ~R.~.
• o •o

I
I

L'opzione UNTIL

Con l'opzione UNTIL dell'istruzione PERFORM si può


richiedere l'esecuzione ripetitiva di una routine, fino al
verificarsi di una condizione.
Il formato è il seguente
PERFORM nome di procedura! (THRU nome di procedura2)
UNTIL condizione
La routine è eseguita n volte finché la condizione
specificata dall'opzione UNTIL è verificata.
Al verificarsi della condizione, il controllo è trasferito
alla proposizione che segue l'istruzione PERFORM.
Se la condizione è già verificata al momento della
esecuzione della PERFORM, la routine non viene eseguita.

14.16

La cultura è un bene dell'umanità (fantomasping@libero.it)


"'ll'"'ALSI EL
lGRUPPO
I~
IRI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzione

Si esamini l'esempio seguente:

In esso si richiede l'esecuzione della routine fino al


verificarsi della condizione ·W-CONT maggiore di 100000.
La condizione in questo caso è posta in modo che la routine
sia eseguita almeno una volta.

7. Affinché la routine precedente sia eseguita una sola


volta quale valore deve assumere il campo W-ORD-IMP ?

Un valore maggiore di 100000

14.17

Proprietà ltals1el S p A Le copie orig1nal1 sono contradd1st1nte dal retino stampato 1n rosso. Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


8. Si esamini l'esempio seguente:
O. ' 'O I

M<>v(
..' I TO W- 1:1ù»1 IC.f.
! • . . .
• I !
• I ' I • !
o' . ' o KL..- ds,,--;1 RA7J ,' '
Ì I
I:0lO !
I

, 10'
I
l 'f !
• • o

' .t 'O

t: \o I PE ~F ORii
I
, 'o o I
, , .o Hl- 9t/l-F ,·,;i.
, . 'o
. I
I
I . '
' • o
I '

' ' o !-i-?~ ;_


-t- ~ -~.
3 O 'O

3 ' 'o /t : w-l>Atr.A .(w-:1 '1f~.·~E"), EllVAL


Go tlo A2-~2.?-I ,.,O, :
·Hov:e : w- oo'-rJ. ;ct.u- ,·,;i> 1e!) To IJJ- R 1(;.A- DA'rll •
A:~-i21-;1H·O. :; :: . .
! AC>D -1 h°'ic::>' lv·-:, IJ DI .CF.
~.- .CJ.9~ -:e ~~-ffX. •'.
'. '.; 'f::Xl .i • : . . .
e si riscrivano i periodi di programma utilizzando la
PERFORM UNTIL

' ... :o
! I
I
) ; I i 0
I
' ' • lo '
I
I
'
1 1o 'lo

l 1 •O

J:.!"
, ,t n

• o o

HOUl•CI

IPAQU JlaUHAL
, > .. •
~
a
8 A
1 •
,,• .. •• •• H
"
.. .. •• . .. .. ..
°!' 1· .' l . I .
o l • 1• HOVt ; '...i 1t> ~-: 1 ~DI .CE· .:
i
+1·· ' I ; : I
I :
!I
•I• •
I I
~l~ ~ 5'- -J ~lif1 •· i ;
' I I •
. I
l l

:piJ.~· ,.: ~i- ~r".p


I t ' O •O
I .
1 i t f' '. o • I • • ' '
C;'1R. TfHU
t • 1o : I
' I
I ,1 lo
I '
I I IO

14.18

La cultura è un bene dell'umanità (fantomasping@libero.it)


..."'LSI EL
lGRUPPO
I~
IRI FINSIEL
l FORMAZIONE
Strutture
per l'evoluzoone

Conclusioni
- è consigliabile scrivere il programma in modo tale che
tutte le funzioni che devono essere eseguite più volte o
in più punti, siano organizzate in routine e richiamate
quindi con l'istruzione PERFORM
- le routine devono comparire alla fine del programma
è necessario (per standard -ITALSIEL) specificare sempre il
punto di entrata e di uscita
- è necessario infine utilizzare sempre l'istruzione EXIT
come punto di uscita.

1 4.19

Proprieta ltalsiel s p A. Le copie ong1nal1 sono contradd1st1nte dal retino stampato ,n rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
STANDARDS FORMALI
COMPOSIZIONE GRAfICA DI UN PRQGBAMMA COBOL
- ogni division eve essere preceduta da una scheda EJECT e
seguita da una scheda SKIP3
- ogni section deve essere preceduta da una scheda SKIP3 e
seguita da una SKIPl /
- le clausole select devono essere elencate in ordine
alfabetico nell'ambito dell'environment diviaion
- nella clausola select, per standard interno, il nome
interno ed esterno del file coincidonq
I I
--...-~--- · ·---
T S.SI
:I,
H TO VT- L I •
!
T EI :s~ l l H O, Lt. •
I I ! I
Sl.Ll: cl ~01 "'' "'
' To'I i.l> I I ,
•I ZA TI 1ol'fI .S I r4
S' I~ . DYH,A/114.
D KEY IS ~ IHJ-~!Y
:!s TU~ IS W'-fS-DR IHI.
I '

SE.LE T
---+-- --· -

COMMENTI
- le principali istruzioni di un programma e le varie labels
dovrebbero essere precedute da commenti esplicativi sulle
funzioni da esse svolte

14.20

La cultura è un bene dell'umanità (fantomasping@libero.it)


l ...."'LSI EL
I"""
GRUPPO IRI FINSIEL
I FORMAZIONE
Strullure
per l'evoluzoone

NOMI IN FO

- nome del file (citato nel testo didattico) (es. ANACLI)

- nome del record composto dal nome del file con un l finale
(es. ANACLil)

- nome della struttura del record in WORKING-STORAGE SECTION


con W davanti al nome del file (es. W-ANACLI)

- i nomi dei sottocampi del record in WORKING-STORAGE hanno


come radice il nome del record stesso e devono
essere significativi (es. W-ANACLI-NOME).

- - -- - . - - -·-- ----
Modulo di progr11mm•uione in Cobol

...uG.........

......,.......... 1u•l

,....... ......
••OUt.•CI

. . .. .. . .. .. .. ., .. .. I ..
'.
ou.
o • ,, •u •u .,
' I
" '"' -
.. .
..
,,
~I _L f-: 1s Ef 111oili
i I i ' I
I , I
II
!
1
,,
I ' I I
,,
J,I
" 1 I
. l, : I J
' : I I

I'
I
·- . . !
I
~. A.~f
;
! I :
.. ,, i; . : !. I
I I I
I
I
:
I I I ·,
...I ·! ' i
I
I I

.. .. ~.., AN!tC. L!1!1


I
f> I~ >t(Bf'D•
'
. ,. :
: . I I
I. I
I
I
I

; f I : I I

~ù:r 10 tt .. I ! I I
I .. " W.oR X' :tid- ~~o;~ l-'\6E I '' '
' .. .
' , I
': •
' I
II ' : :
i I I

.
!
:
I" " ,i _..\1./-~t' ~LI I
' I

:
.... 9$~ : kt~~H ~CLI -HoH E P1 c. !X(.Z~ Y.
... - ~ :
e.3· '. ~~14 ·lfll "9C L. I ·CDC '/OHL
I
I
Dj' V<(~f ).
.. I
I I
~CLI - , ,. f IO~TI . i I I ' .

. ..
.. I
I
~5 ~-A~ ~~1'.I
~s . lt',-~(i
IOiTI -LOR ()O
- 'l'H'f ~~TI -T("''
-.•Jie P Ile 9( 15) ICOHP -~.
Pie. 9( l,g) roHP . 3 •
... .. I
I
I
~~· • I

I
~
I
.. I

I I
' .. I

.. .. ~i COL. OHI'//. E-"9 I


. ,, .. '63 C.DL OHHE 12 -..f~ I
~ COLO HtfE:
~' - f 1 : I
- - ··- ·- - -·
;
I I : ' ' i I

IiI
I I

II
I
: ; II I
:
' ' ' I I
I I
i : I I :
'

14.21

Propr1eta ltals1e1 S p A. Le copie ong1nah sono contraddistinte dal retino stampato in rosso Ne é vietata la nproduz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
NOMI IN WORKING-STORAGE

Si devono scegliere dei nomi di campo significativi della


funzione del campo stesso.

Tutti i sottocampi di uno stesso campo devono avere come


prefisso il nome del campo cui appartengono.

Questa regola e' valida a meno che cio' non infici la


leggibilita' dell'intero nome

Es:
01 W-ORDINI.
03 W-ORDINI-CHIAVE PIC X(6).
03 W-ORDINI-PERC.
05 W-ORDINI-PERC-SPESE PIC 99.
05 W-ORDINI-PERC-COSTO PIC 99.

14.22

La cultura è un bene dell'umanità (fantomasping@libero.it)


l "T"ft.LSI
I~
EL
,AUPPO IAI FINSIEL
I
FORMAZIONE
Slrutture
per I 'evoluZ1one

LIVELLI

- per codificare i livelli si devono usare i numeri dispari

:~
I'
TT"T
I

..
~
·- r: , H .
'
i .., +++
_L~ :
"'f • • • ! !

,' ...
I ' O' I
- . - ..
~
I I
-~J_+
'
-· ;

J 11 . •
' : . - ·-· L
..-1 - I - .
J I 4 •• I I I

si devono usare numeri dispari per utilizzare i pari per


eventuali inserimenti

- il livello 77 COL. 8-9

dopo il numero di livello si devono lasciare almeno due


spazi

14.23

Proprreta ltals1el S p A . Le copie on91nal1 sono contradd1st1nte dal retino stampato 1n rosso . Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
NOMI DELLE LABELS

- devono essere del tipo: ?1


-~
XY-MMM-AA • •• A

• XY VALE ML PER LA MAIN LINE


Al,Bl, ••• ,Zl PER LE ROUTINES DEL 1° LIVELLO
RICHIAMATE DALLA MAIN LINE
AN,BN, ••• , ZN PER LE ROUTINES GENERALIZZATE
RICHIAMATE NEL LIVELLO
IMMEDIATAMENTE PRECEDENTE
RA,RB, ••• ,RZ PER LE ROUTINES GENERALIZZATE
RICHIAMATE IN PIO' PUNTI DEL
PROGRAMMA, ANCHE IN DIVERSI
LIVELLI
~
• MMM numero di blocco dell'organigramma WARNIER . ~l primo
livello
.AA •• • A NOME MNEMONICO ESPLICATIVO

- le labels usate nel programma devono coincidere, almeno


nella parte XY-MMM, con quelle usate nel diagramma a
blocchi WARNIER

- la label non deve essere seguita da istruzioni sulla


stessa riga

; .
,__

14 . 24

La cultura è un bene dell'umanità (fantomasping@libero.it)


l ...ALSI EL
I~
GRUPPO IRI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzione

COSTANTI

- e' consigliabile non usare il trattino di continuazione

LINEE DI MINQTAZIONE

- si deve codificare una sola istruzione per ogni riga di


mi nutazione

BLOCCAGGIO

- si consiglia di indicare in FD la clausola


BLOCK CONTAINS + RECORDS
in modo da considerare come bloccaggio quello indicato
nelle schede JCL, questo per evitare di ricompilare il
programma nel caso in cui si voglia modificare tale
parametro.

OPEN/CLOSE

- e• preferibile codificare un'istruzione separata di open,


o di close, per ogn~ file da elaborare
Es.:
H- ·-

. . .. . ..zo' ..
aauua•ct

I
...~··> ........... "
..
_.,..::+..:.+:-----:.:....--.,..:;:,....,..._ _..............................,.....,............__...=-__,.""'"----.------.--..-·--,,-•"- - r!!- - - ~ -- .. •• !L
i....:...-.......

I !I I: ' . !
. q~~,,
! : :I
l :l'i foT ~,~ d.• ' I ' ' '
I
'
I

I ••'••
oPEtf i1( ~ , i
;
I
~.o I (I I :•
~T~ 11 PA .•
I
DPf.Ji '()U TP\li
:

- inoltre e' consigliabile far eseguire una open solo quando


effettivamente e' necessario aprire 11 file

14.25

· Proprieta 1tals1e1 S pA . Le copie onginal1 sono contradd1st1nte dal retino stampato 1n rosso. Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
READ,,, INTQ E WBITE,,, FROM
- e' obbligatorio l'uso delle istruzioni

I
---- - ·---- -~-~

fef('D ~; -, -'·,
. , I
I rtT
. l '
'
Ff.OH
' ' I
I I

I ' .

- SVANTAGGI:
• queste istruzioni comportano un'ulteriore istruzione di
MOVE, implicita, la quale trasferisce dati dall'area di
I/O alla WORK AREA (e viceversa)

- VANTAGGI:
• consentono la dlsponibilita' del record logico anche
dopo l'esecuzione dell'operazione di I/O.
Questa disponibilita' si perderebbe senza usare le
opzioni INTO... polche' l'effettuazione di una
operazione di I/O comporta lo spostamento di un indice
che punta al record logico nell'ambito di quello fisico.
Bisogna quindi dare in FD una descrizione sommaria del
record tale da determinare la lunghezza e la posizione
della chiave (per VSAM), ed invece descrivere
completamente il record in WORKING-STORAGE.

llOUINCI ~
a
o
12···-·~...!·;µ·:~·.....!..·~µ.~~:_ __!!~•---,..!!..,__,_.,.u\r""T""i,....,.C,~-r:.----r---.=~,.:;----r=---·~----.-:;:._- · · -·. ~ -...:=.--..:::••;....
, - -:.:.i

'W-0
: '
I :
tj3
~3 OW' 3.
~3. :

14.26

La cultura è un bene dell'umanità (fantomasping@libero.it)


l"'PALSIEL
I~
GRUPPO IRI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzione

CONTATORI DI I/O

- devono essere definiti per riportare il numero di


operazioni di I/O effettuate su ogni archivio gestito a
programma
- devono essere evidenziati a fine elaborazione
· ARCHIVI DI INPUT NO RECORDS LETTI

ARCHIVI DI I/O NO RECORDS LETTI


Il
" CANCELLATI
Il
" INSERITI
" Il
AGGIORNATI
· ARCHIVI DI OUTPUT NO RECORDS SCRITTI
(ESCLUSE STAMPE)
· ARCHIVI DI STAMPA NO PAGINE SCRITTE o
NO RIGHE STAMPATE

INIZIALIZZAZIONE DEI CAHPI

E' opportuno inizializzare ai . valqi:-i di inizio elaborazione


i campi di WORKING-STORAGE con 1 1 .a usilio della clausola
VALUE

OPERAZIONI CONDIZIONATE

- le istruzioni imperative che si eseguono condizionatamente


vanno scritte sfalsate rispetto all'istruzione di
condizionamento stessa.

1touuu:t •~
tf'AVlt t•t•IA'
I J 4 a.
o
'°I ' A

-· - - .. -
-
TH V Ai-~ ·SAL O-E •

14.27

Proprieta l!als1el S p A Le copie orig1nal1 sono contraddistinte dal retino stampato in rosso Ne e vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
CONTROLLI

I controll i si suddividono in diversi gruppi.


1. Control li di numericita'
Devono essere eseguiti per quei campi definiti numerici
ed il cui contenuto proviene da un file non controllato
alla creazione (es. file& su nastro di provenienza
esterna al e.E.O.)
2. Controlli di indice
Devono essere eseguiti controlli sul valore massimo di
ciascun indice usato a programma, per evitare di superare
il limite dell'area da esaminare (es. sfondamento di
tabelle ecc ••• • )
3. Control li dei codici di ritorno in caso di chiamate a
routine esterne
Devono essere eseguiti per ciascuna routine esterna che
passa dei codici di ritorno.
Questi devono essere testati in tutte le combinazioni
possibi li ed in ordine di probabilita•. Fra le
combinazioni possibili si deve considerare anche quella
che la routine esterna passi un codice errato.
Es.:

Valori del codice di ritorno W-COD-RIT sono


t con probabilità 70\
1 con probabilità 20\
2 con probabilità 10\

Il cont r ollo sarà così eseguito:

.. -;-r;
, ! I : ' I , . ' I

I .
I ' F!I :I !.: I '

' • I

' ' I
' '

.I
HRV f~ -'E. l i Pi.E-~~.

14.28

La cultura è un bene dell'umanità (fantomasping@libero.it)


l "T"ALSI
I~
EL I FORMAZIONE
Strutture
,RUPPO IRI FINSIEL per l'evoluzione

4. Controllo dei possibili valori


Se un campo puo• assumere più valori si devono testare
tutti e non accettare l'ultimo per esclusione in quanto
il campo potrebbe contenere un valore errato .
Es.
Il campo W-COD-RIT puo• assumere i valori 10, 20 e 30 .
Un test del tipo:

t; . . '
... .\ .f ..
•I , •
: I ;

.. . i ;:i ; I ~ """ ' ;


• "EJ( • ..

,.:· ~ i
:
! • ! . •
:, ~
....
.. :
'
· . .. . . .' . .
· EX ..
. . ..
...
• 1 •

.... . ; tHhl
. i :
.- .E.x •
.' . . .. : I ' . .' . . . .

e• errato in quanto il programma esegue l'ul tima perform


per tutti i valori di W-COD-RIT diversi da 10 e 20 e
quindi non solo per uguale a 30. ·
Una corretta gestione di questo test è:

' .. l ; : , ~f: :w-'e'ob:_;~,. ~ ! ~:ci.ii~'-. : : ~.~ ! .


j ,i
I
.
. •

..
'
I ! 'o
'•
. :
t''
i ' ..p
~"f ICrf
• I •
~.
'
- ~ .
i .

w-"' o~ - "I -r: : : ll_Q.vA ~ . : 1.;, .


• I ' ' ' . ' • ' • ' ' . - - - ·- • t '

...
; I .

:;> f. ~f' o AH •._ • _ .• . ~ . • • • . . • · .


>

' ..
I O

'f · · a• . ~-c.o~· -t\.


.

e·q vA ~- ·
I

'

,
'
.... .
J ••
' . . ·' f
PE~fD~~ At-~~A~~c
. .... . .. ~ ~" A~-1 ~AT TO·f >t ,

...
,_ I :
I , . : : . .
'

14.29

Proprietà ltals1el S p.A. Le copie ong1nah sono contraddistinte dal retino stampato 1n rosso Ne e vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
5. Controllo di eventi logici (riguardo al JCL)
Ciascun programma BATCH puo' condizionare l'esecuzione di
STEPS successivi, impostando un CONDITION-CODE, a fronte
del verificarsi di eventi logici.

Es.:

se non si vuole eseguire lo STEP2• a fronte di certi


risultati ottenuti nel programma E8910104 bisognera'
codificare le seguenti istruzioni:

......... t ... ..... ..


l I
I . .. .... .
II. ..... ,, ... .... .... •• 1.... " u ,,, , . ~ - ,, • , . . . . . ,.,
I I
u ... . .. - ., .. .., - • • • , •• •• • -
!
. . . . . . . . . . .. . , 1.... "'" •• Mo., ..... - •• • I
I
. . .... - . , .... "' , • • , , , •• 1• , . ,, , . ,. -

I I
V( 'f jq 1~ ~lf ::'.'.L~ : ~ 1s ~~~ r~~f;~IA ~~';~11 ·" llll ,~) •lt•llLJ'
I
/I/I! ill'H' ~~~~ ~· ~1El~l~11 I Hi'1i

. I

t:~~ ~· 2r ··~- "'"' _.... ,. :~. ..~~~~ .,.,, .!~. ~m··:·11111



1 I

-- -- - -- - -------
. ..,...... . ...
uouuu:t
tPM..tl
I I
r~,
~
o
1 • .. '
•• I• .. I "
.. ... .. .. ,, .. - .. .. . !:..
•• "I· .. '
i !
'
. ..A:~' . '
., . ' I

#')
I Df:HTi 1F t
~·fr ' ' I
Il I YI I
. I
~~~~: '1· ,O.I
' Il
I ~~i~~ ~ 1 . !' .' l
•I •

... : ~
I
' ' I
"
I V I•
;
I
.

..
'
I ,
I
. .
:
I

I
I
I
I ,
I

.'
I::
11 i ; ! i i i'
'
I '
I
.. 1P~.0 l.Eop~ lf"!. '' ,I ' :
1
I '
ID I IV'.l i~
. I , . ! I ; J'.ON•I I i
I:i I : i: I '
....
" '
I : : .,
I I
' . I '
i I :i
I
' i

t·rr ror 1i
I I
'
. I: ' : !
I . i : :
'
'
I
~ .,
~PY~ : ~~ , .7'.IG
I .
. 'Rf
' .
I '
I

l I II
I I

I I
I
I
II .'
I
I ' '
I wl •• I
; ;
I ' I i : I
I
I
' '' ' I I I I I .
I
I ' '
' ' .. I I I I • ' I • ' ' ' I
'

14.30

La cultura è un bene dell'umanità (fantomasping@libero.it)


ITALSIEL
GRUPPO IAI FINSI EL
I~~~t':'u~~IONE
per l'evoluzione
ISTRUZIONE COMPUTE

Si devono osservare alcune precauzioni nell'uso di questa


istruzione

- tutti i campi che si usano in una compute devono avere lo


stesso numero di decimali per evitare errori di
arrotondamento
- assicurarsi che il numeratore sia maggiore del
denominatore, quando cio' sia possibile. Questo perché la
COMPUTE, nei suoi calcoli, usa un campo di comodo con 6
cifre decimali, quindi piu' il risultato e • minore di 1,
maggiore errore si ha nell'arrotondamento •
••• ISTRUZIONE COMPUTE

Es.:
A+ B
TOT = * 100
C + D + E

Le istruzioni che si possono usare sono:


1. COMPUTE TOT= ((A+ B)/(C + D + E))*lOO
2. COMPUTE TOT = (A + B)* 100 / (C + D + E)
L'istruzione da usare e' la 2. in quanto la 1. puo'
provocare errore di arrotondamento nel calcolo della
frazione.

14.31

Proprieta llals1el S P A Le copie oro91nall sono contraddistinte dal retino stampato m rosso Ne e vietata m riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
La cultura è un bene dell'umanità (fantomasping@libero.it)
·& .... I~ALSIEL I FORMAZIONE
Strutture
GRUPPO IRI FINSIEL per l'evoluzione

Capitolo 15

15.0

Proprie1a •1a,s1el S p A Le copie orig1nal1 sono contradd1s1lnte dal retino stampato 1n rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


La cultura è un bene dell'umanità (fantomasping@libero.it)
l ....ALSI EL
I""""
GRUPPO IRI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzione

LE ISTRUZIONI ARITMETICHE
Il linguaggio mette a disposizione le istruzioni:
- ADD SUBTRACT MULTIPLY e DIVIDE che eseguono le quattro
operazioni aritmetiche rispettivamente di somma,
sottrazione, moltiplicazione e divisione
- COMPUTE che calcola il risultato di un'espressione
eseguendo una o più operazioni.
In questo capitolo sono illustrate le cinque istruzioni
indicate.
Le istruzioni ADD SUBTRACT MULTIPLY e DIVIDE hanno formati
simili e sono soggette a regole analoghe, anche se non
identiche.

L'istruzione ADD

L'istruzione ADD esegue la somma algebrica di due o più


operandi numerici e la memorizzazione del risultato.
L'istruzione ha due formati: .
Formato 1
nome di campo! [nome di campo2 ]
costante! costante2 ••• TO nome di campo m
[ROUNDED]
[nome di campo n[ROUNDED] ] ···[ON SIZE ERROR proposizione]
imperativa
Formato 2
nome di campo! nome di campo2 nome di campo3 ]
ADD costante! costante2 [ costante3 •••
GIVING nome di campo n [ROUNDED] [ON SIZE ERROR proposizione]
imperativa
Nel formato 1, il valore del campo che precede (o i valori
dei campi che precedono} la parola TO
- è sommato (o sono sommati} al valore del campo che segue
(o ai valori dei campi che seguono} la parola TO
- il risultato è memorizzato nel campo che segue (o nei
campi che seguono) la parola TO

15.1
Proprietà ltalsiel s p.A Le copie onginal1 sono contradd1st1nte dal retino stampato in rosso . Ne e vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


1. Si esaminino gli esempi seguenti e si determinino i
risultati di ogni operazione di somma

I :~:1: 't.;:.J: ·:;11::


t.J- R!O
]Til i il!: ::II ::i p', (.
iI
I .
I
V Prl tJ E 1 O
I
I

CD~·f •
.
r
I
,
:
'I

! I;' : ,:j.
'
1
o
-..,y
r .1'1
u).:~;"
' .nu '
0>
l)'-t' I
1

'
!
: ; I
I I ! ,
I
1
1 1"·•!
I I

! J
.' iI IP I C. ~ f:lLù l 2O Ct'HP.
I

I , , . ,. :r~ ~-!'D ~~. : !: I ; I! I i ' I


p 1'c.' VAc..:tJE ~ 4 O : COHP1,1
: , • ° ° 1. + w-~o oq 1 : : 1 I 1 . 1 1 p I c. VA.L ;U E . ~ c.,o /'P ,
:
11
' , ,o i I ! ! Ii ii :i . Ii I ;
II I : ;
11
i iI
'I.I I·• I,
II :.: 1
i ; I I ' I ' ' I
.. : ' I '1 •
j .. "
I I, ' •

,4, , , , ,. 1. ! Ì ~D.D1 f'i-~ ~D-1 , j1j-O, ~-~o. P:LJ • ' :


I

' : . 1o I' ' I I I I I i; I I ' i I ' j i


B-1---'~·~i·~i·~-;~~A~·o~·o_'-+-4~~~~=+--;-·-4~;r:~:o~'+-w___;-~...;+::-o·~o1~;~·1--~i--~+-~+-~+-~+-~+-~+-~'-+~---1
1 I I ! l! I I I ! I I

1 ,
. A.c·c:
' .
w-11 cc.., W-Aoo2· W:-~ Db3. To w-lloo4-. .1
I I I :! i ; , I I

A. W-ADD2 30
B. W-ADDl 110
C. W-ADD4 -10

Nel formato 2, i valori dei campi che precedono la parola


GIVING sono sommat~ tra loro e il risultato è trasferito nel
campo che segue la parola GIVING.

Di seguito sono scritte, secondo il formato 2


dell'istruzione ADD, le operazioni di somma dell'esempio
precedente.

llOUfNCf

IPAO ll IH JllAl
t J a I
~
z
81 IA ,,•
. , I
•• . .. ..
, ,, H ... .. •• u . •• •• .
A. AD D ur-,A qt> '1 . ul-A OP.l G.1 VI MG w- AD D4.
I

B- o' . o 6-l V I H6- W- At>t>4.


' I I I 0 0

c._ ~-A D
:b:l w-~1>0·3 · IJ-t10D4
__ _
I 1 '0

' ._
I I • 0
:_L_~~~~~~~-

2. Si determini il valore assunto dai campi interessati al


termine di ognuna delle tre operazioni precedenti

15.2

La cultura è un bene dell'umanità (fantomasping@libero.it)


"T"ALSI
I"'"""IRI FINSIELEL
lGRUPPO I FORMAZIONE
Strutture
per l'evoluzione

A. W-ADDl 10 W-ADD2 20 W-ADD4 30

B. W-ADDl 10 W-ADD4 110

C. W-ADDl 10 W-ADD2 20 W-ADD3 -40 W-ADD4 -10

Si noti che:

- nel formato 1 il campo (o i campi) destinato a contenere


il valore finale è un addendo. Pertanto, al termine
dell'esecuzione dell'istruzione non è più disponibile il
valore originario del campo (o dei campi)

- nel formato 2 il campo destinato a contenere il valore


finale non è un addendo
in entrambi i formati, i campi e le costanti devono essere
numerici

3. Si scrivano, utilizzando la ADD, due proposizioni in cui


si sommano il contenuto dei campi W7S0Ml e · W-SOM2. Nel
primo caso il risultato deve essere tras.ferito nel campo
W-SOM3.
. .
- ~.lT :.,1 1 ! TTT I
lTI
n-·- ; , o
,•o
I 1-
r: .r: \ I I t
11
I i !I
I ~
jj1
II:
I ,•o : ·1
I II I 1I !
I • oo I I I I I
1 1 1 1
11
I ! i 11 I '
! i '. ;
I I; I I
t I ! I , I :I I1 Ii l
I 11 11 ; :
11.
I II
I ii I
I

I ! , . i. I
11
I 1 I . !· ; .1 I
.1 I 1 1 I I I 1 '
I 11 '
: i

--------~-----~------------------

' I ' : , ...


' oIo . ! . ~t>D: l.U- 5o.H1 . W- $ci t1.2 .G.I v IN~ LV- S.o H3 •
, ' o

' t 'n

4. Quale degli esempi seguenti è errato?

, • ;o
, ' o :o
: ' .
' ' 'o ' ~.P .D: w- .sio~· ~ TO LU- 5:.Dlf GI I/I H
) ' . to

' o . ADD w- 50H To ~ ri.


I • 'o -.

Entrambi

15.3
Proprietà ltalsiel s p.A Le copie orig1nah sono contraddistinte dal reti no stampato 1n rosso. Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


L'opzione ROUNDED
Si esamini l'esempio seguente
•tO UUfC.l

IPAOll llUUAL
1 , .. 1
i-
Z
871A I
' 12 11 20 u .. .. •• 12 .. IO .. .. u

! tI °I' 1°
o ~ • Io P 1C Sf:tt:tlf \t'I
.' I I.
CDHP-.3 •.
. '' I
I
I
I I :
I

I: I
P.1.c s9(3 Y ; (JDJÙ -3· .'. I
l I ·1· . O I O
t I I
I ,
.
:I
'

', I I
• o o
• .
:I
I '
I • l' Io

Se il risultato della somma ha una cifra decimale significa-


tiva, questa viene persa. Se ad esempio il risultato della
somma è 10A9 il campo W- ADD2 al termine dell'esecuzione
contiene il valore 10.

L'opzione ROUNDED consente di ottenere l'arrotondamento


automatico del risultato (nel caso dell'esempio 11 anziché
10).
Infatti quando l'opzione ROUNDED è specificata, la cifra
meno significativa intera o decimale del campo destinato a
contenere il risultato dell'operazione viene incrementata di
1, se la cifra decimale più significativa della parte
eccedente è maggiore o uguale a 5.

5. Si esamini l'esempio seguente

.·I• '
.. . . .
I

I
1 I t ,O
I
i
~':( w-T O 1
";.' . w- To .l .
I :
I 1
p I c..
P1 C
s'{ 3 )V'/
) V~~
S9 ( 3
e.o HP·- 3 .
COH P-3 rv " .L
I 11 I 0
. . .
I ' '

.
0 I0
: '
''
• 'o floc> w- oT.J :~P:~ GI VIHG tJ, • ~oT-l
,' • ;o

quale valore contiene il campo W-TOTl al termine


dell'esecuzione della ADD?

15.4

La cultura è un bene dell'umanità (fantomasping@libero.it)


l ....ALSIEL I
& I~
GRUPPO IRI FtNSIEL
FORMAZIONE
Strutture
per l'evoluzione

6. Se al contrario si utilizza l'opzione ROUNDED

:
.. . ::IJ . I , . .. 1

~~~
' j1 /0 I I I ' ' I
I I : . !

.: i "AO I w-:r io:-r;i,


'

. w- TOT-f
I

,I . GI
I
I o~o I ~1 _Ht; R.O OHC> E D • . I

. , __ -
I • I
! I
I ' • I •
I I
I ; !
!' :o I
3
'., I
I I i

il campo W- TOTl al termine della ADD contiene il


valore •••

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

225"'3

7. Supponendo che i campi W-CONTl e W-CONT2 dei periodi


seguenti contengano rispettivamente i valori 200 e 95"'70,
si determini il risultato delle due istruzioni seguenti

lfQUU• Cl

.. .. .. .
~

I PAQ (I llUl lAl ....


z
o I
.. ,. ... .,
' •• • ao •• "
21 IO
' I
" JO
"
•1' I o
! .. I
I I : I
1t ! w'-·cb ~r1 : !
. ! 1 ! I J I I
1
I l I
I
I I I
. .. .. I
: I
·I I f>:1i SS.(4 ). C o -~P1 • ~
I I

~~ .',,•' I tt:r,t i I I . ' '


I
I II : i !' I
I I :1:1: Ul-Oo •.:.··! I I />IC S,CJ ~~ ~,, ~ oH.f>: . I I

'
o' · 10 I I I
I
'
!
I
I I I I
I
l

.I !; I I l,.ll-( OHTJ, i . cotiT i


I :
, , o :o : '
! : : :
!

'
I
d 1: 0 I
.A.01>; :ro ~- et>VN OEO • I
I ' 14;o : '
I

:
,j,:o ~[)O
' '
UJ-( O~T,t
'

:-:.-1s ..11 f'O w- co,.ff 1 ~ ov Hl> E O•


I
ti I . o
-- '

A. W-CONTl 296
B. W-CONTl 311

Si noti che:
- l'opzione non ha significato se nella memorizzazione del
risultato non c'è troncamento di cifre decimali
- l'opzione, come si vedrà, può essere specificata anche per
le istruzioni SUBTRACT, MULTIPLY, DIVIDE e COMPUTE.

15.5
Propr-e•a 11als1el S p A Le copie originai sono contraddistinte dal retino stampato 1n rosso Ne è vietata la nproduz1one

La cultura è un bene dell'umanità (fantomasping@libero.it)


L'opzione ON SIZE ERROR
Si esamini l'esempio seguente e si supponga che al momento
dell'esecuzione i campi W-CAMPOl e W-CAMP02 contengano
rispettivamente i valori 5200 e 4900.

I
7 I 0 )0 I I

,l'io
I

. '
!
I I
I

!
i
: I

!i IJJ- CA hPo1 : I f> I '- '$9 { ) oHP.


.
:+
' • o

>
I
I O
':fl: w-:C:A HPO~ I
' I · '
I

I
:
'
I

i ' :
!
:
I
:
:
Pie .sq ( 4) coHf

3 I O IO
' '
. I I I I I

o -<.FJH P.ot
3'

'
...
"o
I
--
·A.I>~
- ~
IAJ-C AHl>O ~
'
I I
;

Eseguita l ' istruzione il campo W-CAMP02 contiene il valore


0100 anziché 10100.
Nella memorizzazione del risultato è stata troncata la cifra
più significativa.

L'opzione ON SIZE ERROR provoca il controllo automatico del


verificarsi della condizione di overflow. L'opzione ha il
seguente formato
ON SIZE ERROR proposizione imperativa

Specificando l'opzione nell'esempio precedente

) t fii . o

3 I1 o
:
.. o ' o

'f.l.0 D 1 s p LA y 1
• ., Ellt o R.E w-c HPo -I
44:0 ' ' 1 SP AY r.:.,· 1 LII - e RH P
46 'o

il risultato della somma, prima di essere memorizzato nel


campo W-CAMP02 viene analizzato per controllare se provoca o
meno l a condizione di overflow.
In questo caso, poiché si verifica la condizione di
overflow, non viene eseguita la memorizzazione del risultato
nel campo W-CAMP02 mentre viene evidenziato l'errore con un
display.

15.6

La cultura è un bene dell'umanità (fantomasping@libero.it)


....ALSI EL
lGRUPPOI~
IRI FINSIEL
I FORMAZIONE
Struuure
per l'evoluzione

Si noti che:

- se non è specificata l'opzione ON SIZE ERROR , in caso d i


errore di overflow l'errore non è rilevato e l ' esecuzione
del programma continua, con risultati finali, errati

- la clausola può essere spec i ficata oltre che con


l'istruzione ADD, con la SUBTRACT, MULTIPLY , DIVIDE e
COMPUTE

- la clausola ON SIZE ERROR è opzionale; se specificata,


l'istruzione si trasforma in una istruzione di condizione

- si consiglia di definire i campi riceventi in maniera atta


a contenere i risultati e di utilizzare l'opzione ON SIZE
ERROR per rilevare la presenza di eventuali errori n ei
dati

- la divisione per O provoca sempre un errore di overflow


che genera ABEND a programma

8 . Nel caso esista un errore di ov~rflow e sia specif i cata


l'opzione ON SIZE ERROR il · risultato viene memor i zzato?

A. Si

B. No

B.

9. Si determini il contenuto dei campi W- TOTl, W-TOT2 e W-


TOT3 al termine della ADD nell'ipotesi che prima
dell'esecuzione dell'istruzione essi contengano
rispettivamente i valori 20000 55000 e 30000

.. . .. .. .. .. .. . .
HQUlNCl ~

t ..AOU
1 J '
lll RIAL

O, 1 IO
I
"8 A
1 I
I
tJ .. 20 J2 ., IO
"
:
: '
I
o.• '•o
l tt t.V-T;o li-{
' I

;
I
P.1l s,(s} l p J.f P- :L
i

I o 1 10
rf w-:ro r.i !' Pl l 59U ) l ott P- 3.
' ' '
o . • 1o
~+. Ul_- .~O TJ '
P1c ~-'.< 5) (. oHP- 3. :
' lo;o
' : .,. • j I

.
..' !' o
. 1.
AO.D
l

;
W-1" or-i
, I
~- T~T~ UJ - T oT3
•o
,o I o
I P~R.:r o_
R.H
o o
'

Il contenuto dei 3 campi non è modificato

15 . 7
Proprietà ltalsiel s p.A Le copie onginal1 sono contraddistinte dal retino stampato in rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


L'istruzione SUBTRACT

L'istruzione SUBTRACT esegue la sottrazione algebrica di due


o più operandi e la memorizzazione del risultato.
L'istruzione ha due formati

Formato 1

nome di campol [nome di campo2]


SUBTRACT costante! costante2

FROM nome di campo m [aoUNDED ]

nome di campo m [aoUNDEo] ••• [oN SIZE ERROR proposizione]


imperativa

Formato 2

nome di campol [nome di campo2 ]


SUBTRACT costante! costante2 •••

nome di campo m
costante m GIVING nome di campo n
[ROUNDED) [ON SIZE ERROR proposizione imperativa)

Nel formato 1 il valore del campo che precede (o la somma


algebrica dei valori dei campi che precedono) la parola
FROM:

è sottratto al valore del campo che segue (o ai valori dei


campi che seguono) la parola FROM

il risultato è memorizzato nel campo che segue (o nei


campi che seguono) la parola FROM.

15.8

La cultura è un bene dell'umanità (fantomasping@libero.it)


l....ALSI EL
I""""
I FORMAZIONE
Strutture
RUPPO IRI FINSIEL per l'evoluzione

10. Si esaminino gli esempi seguenti e si determinino i


risultati
' I I
I 1 I1 ; Ii p I C. VA LV E I C.() Hf:- ~.
! I
(.offi-3 .·
1 I

f 1 I l f IC VA_ LI[;_
I ' I
Pie Vf+L() t; lo H·P·-3 •· ..
I·.
I f(c. VA ltlf': CO~!<- 3 ..
II I I

I
1

'

I I
R, i i ; iFR~H · IAl.-11002.
' I Ii I . t i
B. ! i
I I . '
I F,ROH I W-AO D3.

C. I 14 .l ~O I
I
,5J8T
. .
R/J-CT
.. ,
5 FR. o~ '
1 1
I 44 10 I j ! I I ; I I

' 4t k> I ; I : : j
I
I 1
I
' I i I •

A. W-ADD2 -20
B. W-ADD3 70 . ...
..
C. W-ADD3 15

Nel formato 2 la somma algebrica dei valori dei campi che


precedono .-la parol~ · FROM è sottratta algebricamente al
valore del . eampo- che segue la parola FROM e precede 19
parola GIVING; il risultato della sottrazione è memorizzato
nel campo che segue la parola GIVING.

Di seguito sono scritte secondo il formato 2 dell'istruzione


SUBTRACT le operazioni di sottrazione dell'esempio
precedente

u. .. .. .. .
&IQUI MCI
io
ll'AGll l&UUAI.

' l •
• 1 I
I

" .. JO ,. ,. ,, ,. ..,
" 10
"
fi. ' ..
o .. "

' • o
5US I (UK UJ - ~[)()--j -{10 02 '1 .111 G

B. ' • o .::iUBT fK DD 3
' o o

c. ' ' ' W6T ACT DD1 0'2 5 RoH w- 1'3 6f u.J- I -rq'.

15.9
Proprietà ltalsiel S.p.A Le copie originali sono contradd1st1nte dal retino stampato 1n rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


11. Si determini il valore assunto da ogni campo richiamato,
al termine di ognuna delle tre sottrazioni dell'esempio

A. W-ADDl 50 W-ADD2 30 W-TOT4 -20


B. W-ADD2 30 W-ADD3 100 W-TOT4 70

C. W-ADDl 50 W-ADD2 30 W-ADD3 100 W-TOT4 15

12. Quale dei seguenti esempi è errato?

1 • u

51.JBT R.~·,;;
I '
Ft • ' o u

' ' o I I I

B. • o
1

.suiT ~flcT -I A' 1411 F ~H w -.c OMV- 1 UI- e o.1t"qi .R. o·.v°HI> G.D •
,' • o
1
1
I i ' . . .' : : '
" : I !
e ,
:
• o
I
s'u:6T RACT
:i .
W- lO N7 ~· F {lOH.. ~ ·rp1 I • . . I : : '
i : ; i.lt(:l
1 1
' I I '
I
!
;;:Rp~' ~~~ i ~1 v;1~6 I ~ ~0:~1~: . 1:
J o o I
'
o. I
'
, :o I I
II :I :s.va,r W-clol-fl1 :
!
i I I I
I I
!
'
i I
; !

J' 4 o ' I I I I ' 1

' '-----''--'--'--L~-
I
' . - -----"-

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

c.

15.10

La cultura è un bene dell'umanità (fantomasping@libero.it)


'T'"ALSI
lGRUPPO
I ""'
IRI FINSIEL
EL I FORMAZIONE
Strutture
per l'evoluzoone

k'istruzione MULTIPLY /

L'istruzione MULTIPLY calcola e memorizza il prodotto


algebrico di due operandi.
L'istruzione ha due formati
Formato 1
nome di campol
MULTIPLY costante BY nome di campo2 [ROUNDED)

[ON SIZE ERROR proposizione imperativa)

Formato 2
nome di campol nome di campo2
MULTIPLY costante! BY costante2 GIVING nome di
campo3
[ROUNDED) [ON SIZE ERROR prop~~izione imperativa)

Nel formato 1 il valore di campol (o della costante) è


moltiplicato per il valore di campo2. Il risultato è
memorizzato in campo2.

13. Si esaminino gli esempi seguenti e si determinino i


risultati

. . • z, . . .. . .. .. .. .. ..
HOUINCI

lPAGll llUUAl
)

0 I 0
o
u • I

" .. 20 u •• 12 10 ,,
u • o
+! lli~QT h p 1'- ~' 1') VII LV€' -i; ~o 111' - 3.
o • o 'f.~ W-P~ I) ti t> I e ':>~( 5} VA LIJE !5p~ C.OH P- 3.

tt W-1 HP Pie ~ 'n> . v.ci LIJE "o ftP - ~ .


'
u • •

• u "
I
I
.
I

.. "
'I'

A. HULT I PL'I (µ - ~TA (H W - 'f ~VII.


...
B. •• u MVL T 1fL Y ~ 61 w-p ~VH,
I U u

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A. W-PRUN 25000

B. W-PRUN 12500

15.11
Propneta ltals1el s p.A. Le copie ong1nal1 sono contraddistinte dal retino stampato 1n rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Nel formato 2 il valore di campol (o della costantel) è
moltiplicato per il valore di campo2 (o della costante2). Il
risultato è memorizzato in campo3.

Di seguito sono scritte secondo il formato 2 dell'istruzione


MULTIPLY le operazioni di moltiplicazione dell'esempio
precedente

' ' u

' • u
' .
A. ' • o HlJL T IPLY w- Q'fA .B 't w-P RII H 61V I 116 W-1 HP. I

, • o
..
!:> . J o u tt .U.LT IP!- y s 61 cu·P '(< I)>( 6-1 I; /!(~ w- I ~· p' ,
J

J
'


o
o
.. .. ..

14. Si determini il valore assunto dai campi richiamati al


termine di ogni MULTIPLY dell'esempio

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A. W-QTA 10 W-PRUN 2500 W-IMP 25000


B. W-PRUN 2500 W-IMP 12500

15. Quale dei seguenti esempi è errato?

,
llQUINCl

t PAGU l lOlllAL
> •
u

o
u.
i
o
1 • •
11 .. JO ,. ,. ,, H
•• .. .. ., .. •• .. . "
fT. • • o
Hu~T I PL)' w- lfffl 's'/ ~'~ :
u • o
.
B. .. . u
HULT I P.L't 'S{J 8'/ l).J- PIl VH G-1 VI H6 ~- I Il f f_bll H OEO
' o o

e. ' ' u HÙL T 1PL'/ LU- ~T..+ W- P'RVH G-1 VlliG IU- I HP.
• o
- '
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A. e C.

15.12

La cultura è un bene dell'umanità (fantomasping@libero.it)


l..."'LSI EL
I """
I FORMAZIONE
Strutture
GRUPPO IRI FINSIEL per l'evoluzione

L'istruzione DIVIDE

L'istruzione DIVIDE calcola e memorizza il quoziente


algebrico di due operandi.
L'istruzione ha due formati:

Formato 1 \ \ J, • )y·c
nome di campol
_f\· J-";..•.L
L,'

DIVIDE costante INTO nome di campo2 [ROUNDED]

[ON SIZE ERROR proposizione imperativa)

Formato 2 ~··J.<r. ,
nome di campol INTO nome di campo2
DIVIDE costantel BY costante2 GIVING nome di
I campo3

[ROUNDEDJ [REMAINDER nome di campo4)

[ON SIZE ERROR proposizione imperativa)

Nel formato 1 il valore del dividendo (nome di campo2) è


diviso per il valore del divisore (nome di campol o
costante). Il quoziente è memo.~izzato in campo2 .

16. Si esaminino gli esempi seguenti e si determinino i


risultati

' • o

•• u

' o o PI<:. 59(


' ' o p I c. 9(
' • o l c.. 9(
f IC 5~(
'
'
..
Q u

A.
B.
' ' o
, • o

' • o
Pl,V I Df.

DI\/ l I>E
-P
6
-
-I H
"" r.P.
' • u

• o o

A. W-IMP 50
B. W-IMP 83333

15.13
Proprieta 1tals1el S p.A Le copie originali sono contradd1st1nte dal retino stampato in rosso . Ne é vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Nel formato 2 il valore del dividendo (nome di campo2 o
costante2) è diviso per il valore del divisore (nome di
campo! o costante!), il quoziente è memorizzato in nome di
campo3 e il resto, opzionalmente, in nome di campo4.

Di seguito sono scritte secondo il formato 2 dell'istruzione


DIVIDE le operazioni di divisione dell'esempio precedente

1 , .•
SlOUlflllCl

if'AGll ISUlllAl u •

u ~·
1 I

io
io
I
12 .. ,. ,. 21 ., •• •• .. .. u

'
. 10 .. . 12

.
I
I ! ' ' 1

A. o o i '
{)I VI DE LÙ-·P~ IN rfo µJ-1 t4 r 6 1,V,IM G u. -pT~ I
' ' i l
o.• o
I ~Er :H IANCf (i Ll -.R.f.~ Tp. : : I I
o • 'o i ! I I

..
w-6n A
I
' :
B. ' o o
i
.l> I V I lr>E ~ I Mfo W-1 HP r;.1 .v1 HG :~ ~ 1:Hit JiP:cR I.V- ~t57
• r •
o.
o ;
' '

17. Si determini il valore assunto dai campi richiamati al


termine di ognuna delle due divisioni dell'esempio

A. W-PR 10000 W-IMP 500000 W-QTA 50 W-RESTO O


B. W-IMP 500000 W-QTA 83333 W-RESTO 2

Si noti che:
- nel formato 2 la parola BY inverte il divisore con il
dividendo rispetto alla parola INTO

- nel formato 2 la memorizzazione del resto è opzionale

18. Quale dei seguenti esempi è errato?

' • o

A. ' • u
. '
DI \/I DE 'f ,l BY ~ I V I,. G
' o o

~. ' ' o J) I VI {)E


' • o
c. ' • o t> I V l DI -f)
Bt - \ HP
1 I O
... .. .

B. e C.

15.14

La cultura è un bene dell'umanità (fantomasping@libero.it)


...ALSI EL
lGRUPPO
I~
IRI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzione

Le espressioni aritmetiche e l'istruzione COMPUTE /

19 . Quale è il significato dei seguenti simboli:

A. **
B. I
c. &

A A A A A A A A A A A A A A A A A A A A A A A A A A A A A AA AA

A. simbolo di elevamento a potenza


B. simbolo di divisione
C. simbolo non compreso nel set di caratteri COBOL

Si è visto che il COBOL prevede cinque operatori aritmetici:


+ Operatore di somma
Operatore di sottrazione
* Operatore di moltiplicazione
·..
/ Operatore di divisione
** Operatore di elevamento a potenza

Gli operatori aritmetici sono utilizzati nelle espressioni


algebriche in cui si devono risolvere una o più operazioni.
L'istruzione COMPUTE calcola il risultato di un 'espressione
e lo memorizza in un campo .
Il formato più semplice dell'istruzione COMPUTE è il
seguente
COMPUTE nome di campo = espressione aritmetica
dove nome di campo è il campo destinato a contenere il
risultato dell'espressione aritmetica.
L'espressione è composta da:
- nomi di campi numerici
- costanti numeriche
- operatori aritmetici

15.15
Propne1a 1tals1el S p A Le copie ong1nali sono contradd1st1nte dal retino stampato 1n rosso Ne e vietala la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


20. Si esaminino gli esempi seguenti
3 o o I I I
I
I I : I I
I

~~ '
I I
3 o ' I I I

: ! ! I ' . i I :
co~p
I

U!t: w-·1 HP - w- ~TA rr- UJ- p'(i.


.
o
3 ' .
; i

... ' i
I

.) 3 o
I I
I

i
I
• .o Ii I
c·okP VTé l,(f-·1 ~iP : w- QTA ~ :W- Pll I -l_PI
.
3
.. i . • i .
l o o I I

Nei periodi di riga 020340 e 020380 sono presenti oltre


ai nomi dei campi la costante ••• e gli operatori •••

100

+ * I

21. · Si esamini l'esempio seguente

o ' 'I j o
I II I I I I ' ' ' I I • ' I I
I ; . I
'' b I, 1 II
I I I
i
I
1 I
:cp~I r1ur1( u-,e it- w-:c .· : .. !J -o •U(:J ,_ ~li
j ·; . I i I j
1 o\ 4 !O
! i, IJl· A :- , 5 'I i I! i i
o • o - - I .. ' li': • ' 11 i I I
I '
I

Il periodo contiene in forma codificata l'espressione:

A. W-A = W-B + w-c X w-o 3 - 27


5
B. W-A = W-B+W-C X w-o3 -27
5
c. W-A = W-B + w-c X W-D X 3- 27
5

A.

15.16

La cultura è un bene dell'umanità (fantomasping@libero.it)


'T"ALSIEL I
& lGRUPPO
I """
IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

Nella risoluzione delle espressioni valgono le regole


algebriche

22. Pertanto, se gli operandi richiamati nell'esempio


precedente assumono i seguenti valori

W-B 10

w-c 20

W-D 3

quale valore assumerà il campo W-A al termine


dell'esecuzione della COMPUTE ?

A. 130

B. 91
c. 70

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

B.

Si noti che:

- il risultato della espressione dipende dall'ordine con cui


vengono eseguite le operazioni. La COMPUTE esegue
nell'ordine:

le operazioni di elevamento a potenza


· le operazioni di moltiplicazione e divisione
· le operazioni di somma e sottrazione

le parentesi alterano l'ordine normale di esecuzione delle


operazioni e specificano quello con cui si vuole che le
operazioni siano eseguite

- le espressioni contenute tra parentesi sono sempre risolte


per prime

- ad una parentesi aperta deve corrispondere sempre una


parentesi chiusa
- se un'espressione contiene più parentesi, vengono risolte
per prime le operazioni contenute tra le parentesi più
interne.

15.17

Propr età ltals1el S p.A Le copie ong1nah sono contradd1st1nte dal retino stampato n rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


23. Si esaminino gli esempi seguenti e si determini il
risultato di ogni espressione nell'ipotesi che prima di
ogni COMPUTE gli operandi assumano i seguenti valori
W-B 30

w-c 6

W-D 3

oI • I o i I I ! j
! I :
J t
' I
'I
,c.;o~:p u:r~: µ.i•~
' ' UJ- ;(. ,,,.
A. !: I ·- l
I
I
'
I:
l I
I
~
: I +

' , o
• . . .. I I I I I o j : i
B. I I ' 0 ' ' c :o HP uT,E w-("l w-c. I -D. ' I
'
I
'
'

;I
I I I I

' • o ' '


I . i
I
~-
I • I ' '
' i
c. ' • o .
' ;
COll lfrr
.
W- i- \ w.-C> + -le.
. I I\
I
I '
, o • I ' I I i ; I
..l..-..- J- -...L-

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A. 48
B. 60

c. 144

24. Si esamini la seguente espressione

W-A = W-B + w-c 3 (W-A + 1)


- W-D

e si scriva il periodo COBOL necessario alla risoluzione


dell'espressione.
, ; 4 1°0
:
I

"o
,' i

. ,' 1·
o IO
I I

'
I

I ! .
I

I I I

15.18

La cultura è un bene dell'umanità (fantomasping@libero.it)


"'T"ALSI EL
lGRUPPO
I~
I FORMAZIONE
Strutture
IRI FINSIEL per !"evoluzione

Si noti che poiché due operatori aritmetici non possono


essere contigui il divisore -W-D deve essere racchiuso tra
parentesi

Il formato completo dell'istruzione COMPUTE è il seguente

nome di campo2

COMPUTE nome di campol[ROUNDED]= costante

espressione aritmetica

[ON SIZE ERROR proposizione imperativa]

Si noti che:

- oltre a risolvere un'espressione, l'istruzione assegna a


un campo (nome di campol) il valore di un altro campo
(nome di campo2) o di una costante
- come gli operandi delle espressioni aritmetiche, campo2 e
la costante devono essere numerici

- con la COMPUTE si può richiedere l'arrotondamento del


risultato finale (opzione ROUNDED) e il controllo
dell'overflow del risultato finale (opzione ON SIZE
ERROR).

Si esaminino gli esempi seguenti


o o
J
-'·
Il. i : : L0!1:P OT :E· UJ-T OT.1 ~ ~- r.orl
' .o
..
J

, o
ei. Ju ' .
~ ' c.:o·t\·f ù~.E w.-1 OT:l ; -1;e e-~p'.

.•
J u

c. o o (o.HHl1 ..~ w-1 or-i =-· w-T01.l -t w-Tol 3.

I •
. I .

- - .- --

In A. l'istruzione COMPUTE assegna al campo W-TOTl il


valore del campo W-TOT2.

In B. l'istruzione COMPUTE assegna al campo W-TOT2 il


valore 10000.

In c. l'istruzione COMPUTE assegna al campo W-TOTl il


risultato della somma dei campi W- TOT2 e W-TOT3.

15.19
Propneta ltalsiel s p A .. Le copie originali sono contraddistinte dal retino stampato 1n rosso. Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Negli esempi A. e B. l'istruzione COMPUTE e s egue la sola
funzione di MOVE mentre nell'esempio C. viene risolta
l'espressione e quindi trasferito il risultato nel campo
W-TOTl.

zo
.. .. ..
llOUINCl

41"A011 llll..AL u •

I
u ,. 40 .
•• ., •• ••
1 l • 1 •

I
20 >• >• l2 li
"
I
o ' o

. I' . ' I
I I
. ..
· - OT{.
I
i
I
:
I I
l I
I ! I

A. u o
~o'. H.P L11 .E. 1.0~ = IJJ.- ,T,O I~ - W-1 I ; I I II ; I
i

B.
o "o
o

I I
..
0 +0
'
i
I
;
I
C~H.P
I

I
l>Tf
'
LV-T OT~ = L.U- '-o-•
I .1 .< ~~ liip + {u -1
'
6. ·-
! I
l,'):.
I
i
I l
I I .I i
I I . :
c.. '

:c..oHP l(f( U>-T oT1 = ~~~ , i i


' .•
I I
' o I I :
I

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A. Il campo destinato a contenere il risultato non può


essere una costante immediata
C. Tra W-TOTl e il simbolo = manca uno spazio

La precisione nei calcoli aritmetici


In una serie di operazioni aritmetiche, nell'ambito della
stessa istruzione COMPUTE, la precisione, cioè l'esattezza
dei risultati intermedi, determina la precisione di ogni
successiva operazione.

La precisione ottenuta nelle operazioni aritmetiche varia da


una casa costruttrice all'altra.
Gli elaboratori della linea 370 riservano per i risultati
intermedi aree di memoria che possono contenere valori
composti al massimo da 30 cifre e, nelle normali
applicazioni di tipo commerciale, ciò non costituisce mai
una limitazione.

Si deve tuttavia rilevare che il risultato intermedio


contiene anche le cifre decimali solo se gli operandi sono
definiti con cifre decimali o hanno cifre decimali (se
costanti immediate); mentre talvolta il risultato di una
divisione può essere frazionario anche se gli operandi sono
interi come nell'esempio seguente:

15.20

La cultura è un bene dell'umanità (fantomasping@libero.it)


....."'LSIEL I
& lGRUPPO
~
I
IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

Il campo W-TOT al termine dell'esecuzione della COMPUTE


contiene il valore O anziché 3.

La divisione 2/4 porta ad un risultato intermedio senza


cifre decimali e pertanto ' anziché 0.5.
La precisione del risultato finale dipende quindi
dall'utente.
Di seguito è indicato il periodo, analogo al precedente che
tuttavia genera un risultato corretto.

·1:::1 1•. co~rb I w-+T ~I ' f; t r·~·I


i .. 1· .. 1· . · 1 .. · 1 . · 1 · j · •· I • . . . 1

E' consigliabile infatti, quando è possibile, eseguire la


divisione come l'ultima operazione della serie.

Concludendo l'esame relativo alle operazioni aritmetiche si


noti che:
- le funzioni delle istruzioni ADD SUBTRACT MULTIPLY e
DIVIDE sono svolte dalla COMPUTE. Con la COMPUTE tuttavia:

· non si ottiene la memorizzazione del resto di una


divisione
· non si controllano gli eventuali errori di precisione se
l'espressione da risolvere è composta da più di una
operazione

nelle operazioni aritmetiche l'allineamento al punto


decimale è automatico

- gli operandi possono avere anche USAGE diversa,


l'istruzione, tuttavia, è più veloce se gli operandi sono
omogenei (packed o binari) (vedi cap. 17)

- l'opzione ON SIZE ERROR trasforma le istruzioni ADD ,


SUBTRACT, MULTIPLY, DIVIDE e COMPUTE da imperative in
istruzioni di condizione.
Al verificarsi dell'errore di overflow, i nfatti, il
risultato non è memorizzato nel campo destinato a
contenerlo

il valore degli operandi al termine dell'istruzione rimane


immutato:
nella COMPUTE
· nella ADD, SUBTRACT, ecc. (se si utilizza il formato 2
di ogni istruzione).

15.21
Propr•eta Jtals1el S p A Le copie originai sono contradd1st1nte dal retino stampato in rosso. Ne è v1eta:a la riproduz1ol'e

La cultura è un bene dell'umanità (fantomasping@libero.it)


26. In quale dei seguenti periodi al termine dell'istruzione
aritmetica si è perso il valore originario di un
operando?
a , o I I : I I I I
' I
' I ' I I I

.
I

I i 1 i
I
I ! I
i ' : : ' I ! I I I I
i I I
II I I
A o .. o
I ·A..IDo', '' ~-.A
I
T.o ..UI- ~
I
I
II
I I
I I :
I ! :
I I ; I
' : I I I
! I I
.' i
i '
II
• . I I
I o;. o I I
:
; 'I i : : - I
w- A! Fio ti' ;
I
5. o •o s:u·sr ~11cr ~I; (>, ~I \I.I fi ~. i
~ -ie:.: I
I
i I
;
I
I i
'. i I I
I
l ;
1 ' 0 10 I I
: ' ! i l : , ;
c.
I

~µ~j I P,L 'j


I
! t
.1pf µ -A.•. I
~~ ; I i'
I
'I' o I I

I II ' I
I
' i
I
I I ! I !
i I i I ' I
' : !
I I 4 10
: ' ' I
! !
-8 !
.. ...
I

A :un o i ; : ;
D. 'I• o
' •o
l
I ! .J:>.1,v.1 IDE: µ,- l.t ' ' I
'' '
;

I
I I '
I
'
I
I I
I
'

A., C. e D.

27. Utilizzando il formato 2 delle istruzioni ADD, SUBTRACT,


ecc. si ri scriva il seguente periodo
I , !o I o
--..-""T'"'T-,--.,.-,- -
+ I - I -·~-,·-~-~---.----..-..---.....---...-.,-
,

' '
: i
'I> ì o
,
! I
. ,
i I I ' : i' I : i. :. I. :· I
: I! : o' 1
! ' I : I '
,I , : I I '

1~ . ~ l~°".<:: ;.+ ~ -p
I . , , /, . .
1 · ' :· 1° 1 i ~HP ult; w-1 01 :~ O:l1,1>E 1> ·- w- 6
1 I
1
,
1
• , :
1
1
'--~
' ~'~
"~'o..u..•
i ~---'-'-'_.._
1
___._'_ _._1_ _.__
' __.__ _..__ __,__ __.__,__.__1 1
1

, o o
• I

, o
I

,, ,
' i ''
.
o
, o
' :

.•
J o
o o

> I U
-'
• o o fH> t> UJ-(;. TD W-D llH Dt.D. '
J
' o
, • o 0 '1 V I DE ,! .I~ -8 ED.
, • o

•• o I
I
H~!,-: 1 1:rl.y w- I .v I NG T ~ llHI:>
~- ' I '
• o o

Come si nota questa soluzione garantisce una maggior


precisione del risultato e un miglior controllo dell'errore
di overf low

15.22

La cultura è un bene dell'umanità (fantomasping@libero.it)


1-rALSIEL I
& I""'"'
GRUPPO IAI FINSIEL
FORMAZIONE
Strutture
per l'evoluZtone

28. Quale delle due ADD seguenti richiede maggio r tempo di


elaborazione?
llQUINCl
z
.
...o I •
~

.. ,. .. ., . .. .
..• ••
IPAGU l&UUAL

' J •
, o
1
" 11 20 24 J2 40 10
"
:
' i
A. " o APD U{·A Tp 1)1- ~.
• • u

B. " • o
' " o
Aci> W.-ll 1>1- e G I .VI NG Ll -701 . !

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

B.

29. Si determini il risultato di ognuna delle seguenti


istruzioni, nell'ipotesi che prima di ogni istruzione i
campi assumano i seguenti valori

W-1 40 W-2 -20 W-3 90 W-4 O

1 •' (I

'

' .. :nft
• u UJ--f
i.o- .z, .. .
p I(;. s gcsD l. Otf P- ~-
p I C. ~~(5") coHP- B.

'

' • u ':/1 3 : .. ?1c ~~(5~ e oHP- 3.


~ o u :t':( w-q f' I C i.S~( 5 ). CDHP- 3.

A. .. .
, J '
I
I

At>D U>--\ w- i 1 o' I). _,.


,. '
B. J • • sua.T ~Rcr w-4 Fil o u u.. -.t .
.J fj o

c. u s ·1 i8ì iR.Aci w--f w~ F~oH w-3 e;. I V I Jj G !.(. -4 •


.
, J

, .,
o. w-1
.>

, ..
• 11 HULT lfLY f>Y w -~ t;/ V I 1/6 ~-3.

E.. • u u PI V I l>~ ~-~ I HVO .! -I {i ~ I lii 116 "-"-3 RE I H llN D t- L IJJ-4 •


4lo
F. 44 i) CO HP \JTE w-c:i Ro VHf)E o = w--1 + w- ft *' w-1 V 3. ~.
•H ~

---------------------------------
A. W-3 110
B. W-2 -60

c. W-4 70
D. W-3 -800
E. W-3 5 W-4 10

F. W-4 -227

15.23
Proprietà ltals1el S p A . Le copie ong1nah sono contradd1st1nte dal retino stampato in rosso Ne e v•etata la r·produz1one

La cultura è un bene dell'umanità (fantomasping@libero.it)


30. Quale formato permette di mantenere invariati i valori
iniziali dei campi che intervengono durante una
operazione di ADD, SUBTRACT , MULTIPLY e DIVIDE ?
A. Formato 1
B. Formato 2

B.

15.24

La cultura è un bene dell'umanità (fantomasping@libero.it)


l'"P'ALSIEL I
& I """'
GRUPPO IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

Capitolo 16

.. ··.

16.0

Propr-e•a ltals1el S p A Le copie origina, sono contraddistinte dal retino stampato in rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
La cultura è un bene dell'umanità (fantomasping@libero.it)
....ALSIEL I
& lliAUPPO
I """'
IAI FINSIEL
FORMAZIONE
Strutture
per !"evoluzione

DESCRIZIONE DEI CAMPI DI STAMPA


Si è visto che la clausola PICTURE:
- determina la lunghezza in caratteri del campo
- determina il tipo (o classe), se cioè il campo è:
· alfanumerico
Il · alfabetico
· numerico

1. Quali caratteri possono comparire nella PICTURE di campi


A. alfanumerici
Il B. alfabetici
C. numerici

A. X

B. A
C. 9, S, V

Nella descrizione di un record di un file di stampa ,


tuttavia, si possono definire altri campi: i cosiddetti
campi di "editing" o di stampa. Tali campi si differenziano
da quelli esaminati fino ad ora in quanto nella loro
descrizione (PICTURE) oltre a specificare la lunghezza e il
tipo, si specificano caratteri (diversi da 9 e X) che
provocano una manipolazione automatica del dato che deve
essere stampato ("editing") rendendone più chiara e semplice
la lettura.
Un campo numerico, ad esempio, può essere stampato
eliminando gli zeri non significativi o inserendo dei punti
e delle virgole per separare le migliaia e i dec i mali.

16.1
Propneta 1tals1el S p A Le copie originali sono contradd1st1nte dal retino stampato in rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Si supponga che il contenuto dei campi W- CLIENTI-AVERE e
W-CLIENTI-DARE dell'esempio seguente sia rispettivamente
1250A25 e OA25 e che il record W-CLIENTI sia un record di
stampa.

o , u
. :
c'1•.'1 :e,,.fr;1.
' I :
u • o -D
u • o LAB[ L. ' .R. (coR. D :s1 FltU> 11 ~b..
I :
I I
I I

o • o ! I
' u e ~i c.'L'1 E HTJ1
I '
i
p I[.. '!.. ( -1 3 ~) . :
I U
' I
I
Wo·~K, ·,Ù;-
' ....
' • o
~1. W-C.L
~3·
5To·R RGE
,·étH I •
SEc. T I ON •

Pie. x.
'

' FILL !Et


'J (I"" ti~ W- CL l[NT I - .e.O C Pie. X(5).

' ..
, ' u ~3
~3
lti- ( étff 1-AV IERE
L.. l
UJ-C. L I E.HT I - p~ R.t '
f JC (j(4)
rv"'·.
p I C. «_3(4) V'Jq
'

' .. '53 FIL.L E~ Pie IX(-1~ ~> .. I

' • o :
'
. - ·-
~
,_ .

Ai campi W-CLIENTI-AVERE e W-CLIENTI - DARE corrisponderanno


in stampa,rispettivamente, i due valori 125025 e 000025.

Poiché al carattere V non corrisponde un carattere in stampa


il valore dei due campi risulta errato.

I campi di stampa sono di due tipi:


- campi di stampa numerici
- campi di stampa alfanumerici
Nella definizione dei campi di stampa valgono le seguenti
regole:

- nella PICTURE di stampa i caratteri:


9 (se i campi di stampa sono numerici)
X (se i campi di stampa sono alfanumerici)

individuano una posizione che ospita un carattere

- nella PICTURE di stampa tutti gli altri caratteri


individuano posizioni reali in cui:

· il carattere viene inserito oppure

· i l carattere sostituisce un carattere

- i campi di stampa devono avere sempre USAGE DISPLAY.

16.2

La cultura è un bene dell'umanità (fantomasping@libero.it)


l"T"ALSIEL
I~
uRUPPO IRI FINSIEL
I FORMAZIONE
Strutture
per l'evolu11one

Se, pertanto, si deve stampare il contenuto del campo


W-SALDO

9Cr~
' o o I
I I
I
Ii ' ;
;
J;' io I I
I I

fz53. Ltl-.SA l
I I
'
I I
J I

' • o
'----'-
t I0

I i OD I
P.t c. :coli P.--:> • i

si dovrà definire in stampa il campo display corrispondente


in cui il valore deve essere trasferito, come nell'esempio
seguente :

1
• o o P1<:. Cj{1)
j,
4.2.o
440 l:! HP:'./f . ~-~flL.tlO ; ro.. w-~AL. I ..
~60

- in WORKING-STORAGE SECTION, ai campi di stampa possono


essere assegnati valori mediante· la. clausola VALUE. In tal
caso le costanti devono essere sempre non numeriche, anche
se i campi di stampa sono numerici
nelle istruzioni aritmetiche · il campo in cui viene
trasferito il risultato finale può essere un campo di
stampa purché non costituisca esso stesso un operando.

Nell'esempio che segue, i campi W-TOT e W-IMP possono essere


definiti come campi di stampa

'
llOUUfCI

tf'AOll CHJllAL
J •

o
• ".
o
io
1 •

" .. JO ,.
" "
,. .. .. •• •• .. IO .. . "
o • o

o • o
co~ :r 111( w-T OT : w- 1or.1 +. W-J:OT ~-
.. . o
t<ù:LT 1P.L1 UJ- r~. O'/ lll-QTIA 6 1.v1 H~ LA. - .1 H P.
' .. u
- . ..

CAMPI DI STAMPA NUMERICI

La PICTURE di un campo di stampa numerico può . contenere


combinazioni dei seguenti caratteri

B P V Z O 9 , * + CR DB

Il carattere S non può comparire in un campo di stampa.

16.3
Propne:à 1tals1el s pA Le copie ong1nal1 sono contraddistinte dal retino stampato in rosso Ne e vietata la r1produz1one

La cultura è un bene dell'umanità (fantomasping@libero.it)


Nelle pagine seguenti sono illustrati l'utilizzo dei diversi
caratteri, le loro combinazioni possibili nella PICTURE e le
regole da seguire.

Inserimento del separatore dei decimali e dei separatori


delle migliaia (caratteri • e,)

Si esamini l'esempio seguente

I 'J 0

' • o '
' • o 'f t ~-I~ P. lf>'1 c. 999-Y 9.9 ' . ' ~
VAlV 1i3 .4 ~.
' • o
, o o
.• ' ! !

I 1 O
'13. ""-·' t1 p~ f>lc 9(5} J
J • o
~3 µ,. l!f P.t, I Pie q9q. 9·9.
, • o I
I ;
, • o I ! I

:
l o o
' :H~ :v'E: w- 11-f P. To µI- I H. P~. w-1 HP;t. I
I

, , o
I
' ' ' I

I campi W-IMPl e W-IMP2 sono due èampi di stampa.


Terminato il trasferimento, il campo W-IMPl contiene il
valore 00123, il campo W-IMP2 contiene il valore 123.45.

Il carattere di stampa • (punto):

- è inserito là dove compare nella PICTURE


- rappresenta il punto decimale ai fini dell'allineamento
dei valori con cifre decimali; il carattere • deve essere
specificato, sempre in corrispondenza del punto decimale
virtuale (V)
- occupa un posizione di memoria

- deve comparire una sola volta in un campo di stampa

- non può essere il carattere di estrema destra

- può essere usato solo in campi di stampa numerici

- non può comparire in una PICTURE che contiene . anche il


carattere V
- se la PICTURE di un campo di stampa numerico non contiene
il punto decimale, questo è assunto alla destra del
valore, come per il campo W-IMPl dell'esempio.

16.4

La cultura è un bene dell'umanità (fantomasping@libero.it)


l ....ALSIEL I
& I"""
GRUPPO IAI FINSIEL
FORMAZIONE
Strutture
per l'evoluZlone

2. Si esamini l'esempio seguente

; • o ! : '
:
.J • Io
I
I
I
'g j ~-~1 A PJ:f_ ~ (~~ .'39
I I -- ,;__M
' I
' • o
.. o. o
! I

Ho\![ . Jj .·3·i' ·ro Ui-QtrA • ;

' ' ' ' • I •


I I •

e si determini

A. il numero di posizioni di memoria corrispondenti al


campo W-QTA

B. il contenuto del campo W-QTA al termine del


trasferimento

A. 8

B. 00022.31

3. Quale dei seguenti campi di stampa numerici è errato?


I
I I .I.
A. 0 • I0
. .. :Y1~ : w-·1 PI(. .ctctll •. . . '. : .
f>. o • o d3 w-' p 1C qq. •
c. o • o : : . ~3·. tu-~ Pie. 'M •.'I 'I: : eoH'P- ~ •.
' o "

B. e C.

4. Si esamini l'esempio seguente e si determini il va l ore


assunto dal campo di stampa W-TOT al termine di ognuno
dei quattro trasferimenti

16.5
Proprieta ltals1el S.p A Le copie onginal1 sono contradd1st1nte dal retino stampato in rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
' • o I ...
' •• ~3. f> I C.. ~99. 9:. :
I
l
I

.. '
,,
o' o
. .I ''I .
.A. , • ù
Hov -To ' :
B. 1 • V
:
HovE: -To 1 . :
'
:
c. J • o
'
M.o.v·E .-.TO T. : : . '
D. ' • o
I
.Ho.v I -TD T.
' , o
'

A. 777. 92

B. 009.27

c. 295.00

D. 000.56

Si esamini l'esempio seguente


o , o

ff ' ~- '. 1 :H p I' ' ' ; I : .


o .. ·o I
i
P : 1~ 't:C p) co·Hr·-~ 'll}LtJ E' :I1 t jfjifp ·1
o • o
I
I,
' I
I
:
I I
I
!
!
I : I I
I
;
; .. I '~ ;
• • o I I
I .I i :
I
I
:I I :
I
~3· ui-:1·t\ p.,f' ' i i ;
' o o
i' '
'
p le. ~(I;) ! I

' ;
I

~3. w-.1~ p.i


I
' '
, o
I ! I
Pie 9{9,, 1'9'9 • I
I I
' • o
I
I
I ,.
I
I
' ' I .
i .
~
;

I I
: !
I <8

, • o
0
t-1.o.vt w- 1HP To W-1 MPi w-1 HPJ. !

I campi W-IMPl e W-IMP2 sono due campi di stampa; al termine


del trasferimento, il campo W-IMPl contiene il valore
123000, il campo W-IMP2 contiene il valore 123,000.

La PICTURE del campo W-IMP2 contiene il carattere di stampa

I (virgola) che viene inserito come separatore delle

migliaia.

Il carattere di stampa , (virgola):

- è . inserito là dove compare nella PICTURE

- occupa una posizione di memoria

- non può essere il carattere di estrema destra


- può essere usato solo in campi numerici

16.6

La cultura è un bene dell'umanità (fantomasping@libero.it)


l....""LSI EL I
&
FORMAZIONE
I~ Strutture
GRUPPO IRI FINSIEL per l'evoluzione

5. Si esamini l'esempio seguente

I
I 7 0
I I I :
7 • o I
!
7 • o t/3 - I p I c. '19 9 I ·'999 '<i99 I

' • o i .
I

' o o I H.o~r P. o -1H 3.


J 7 o I

e si determini
A. il numero di posizioni di memoria corrispondenti al
campo W-IMP3

B. il contenuto del campo W-IMP3 al termine del


trasferimento

A. 11

B. 012,000,000

6. Si determini il valore assunto dal campo di stampa W-COM


al termine di ognuno · dei quattro trasferiment i seguenti

zou.
. .. .. ..
llQUtNCI

I J •

.
lf'AQll llUUAL

'
" ..


1 I
I

I
JO
"
,. 12 .. ••

• .•
o" :::.· ~3: :~-~~ ~ :
o
I

. · Hové . To
I
I .. I. . . •
A. I 'O
i i ' . t
~. «i.J -,~H •

., .
I o o

B. .Kov:f . 'c+-,el;lfip T1> ~-e olt.


.•
c. . HOl.lé 4qf:t! .~55 To k.11-coH.
.• •
'
o

D. ,o• }lo VE .2t R.D yo W·C o H.

A. 00,004.00

B. 40,000.00

c. 04,440.25

D. 00 , 000.00

16.7
Proprieta 1tals1el S p .A . Le copie orig1nal1 sono contradd1st.nte dal retino stampato in rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
7. Quante posizioni di memoria occupa il campo W-COM
dell'esempio precedente?

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

La clausola DECIMAL-POINT IS COMMA

Fino ad ora si è visto che i caratteri di stampa • e , hanno


in COBOL il significato di separatori di decimali e di
migliaia, rispettivamente, secondo la notazione americana.

Il linguaggio consente tuttavia di adottare la notazione


europea invertendo il significato dei due caratteri (il
carattere • come separatore delle migliaia e il carattere ,
come separatore dei decimali).

Ad esempio il valore 2750~25 può essere stampato come


2.750,25 anziché come 2,750.25 descrivendo il campo di
stampa. nel modo seguente

' • o . ~ ! . ' .
J • "
' I I
J I O

In questo caso è tuttavia necessario specificare la clausola

DECIMAL-POINT IS COMMA
nel paragrafo SPECIAL-NAMES della CONFIGURATION SECTION del
programma

come nell'esempio seguente

J ' o
;
' • o EJiv 1 ioNH EHT !>I 151 Il.
• • o OHf1GiJ ATI o ti ~ TI
> I O PE:c 1 AL- A11 j ! :
• o o : :DU: .1 HAL PDJN T I:!> e.O UHlf.

16.8

La cultura è un bene dell'umanità (fantomasping@libero.it)


l.....ALSIEL
I,....,
I FORMAZIONE
Strutture
GRUPPO IRI FINSIEL per l'evoluzione

Specificando tale clausola:

- il carattere di stampa , assume il significato e le regole


del carattere di stampa •

- il carattere di stampa al contrario, assume il


significato e le regole del carattere di stampa ,

- l ' inversione di funzione tra • e , riguarda tutto il


programma.

8. Volendo ottenere in stampa il valore

175.850,25

come si deve definire il campo di stampa W-TOT ?

u ';o
.. :

A. I
u' . n
f/>3: I
.-ro I . ·. p I C.: 1·~.'3: . 9"~~:, ~~ '
o •'
B. i o ' r I
rzj:3 ..:ro .. p."rc.. S9·~., q'.9'.9. '} 9 I
LUE ·~
:
s·) :s:. .'.is •
i ' I '
I "o "
·--

A.

9. Quale · paragrafo si deve specificare nella ENVIRONMENT


DIVISION per poter usare la notazione europea?

SPECIAL-NAMES

10. Quale clausola permette di utilizzare la notazione


europea ?

A. DECIMAL POINT IS COMMA

B. DECIMAL-POINT IS COMMA

B.

16.9
Proprietà ltalsiel S.p A .. Le copie originali sono contradd1st1nte dal retino stampato in rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Inserimento di spazi e di zeri

Si esamini l'esempio seguente:


-- ~

''
'
' • o
.. I
A p/ l (C) .· .

' • o
I

~3 _:oA 1111. F>t C.. 99899B91 .· .


I
' o o

'I

' .. ' o
I

~3 - bA Tfl2 Pie. 991 ,I.:


'

~ \i V
I
'I • (,/ JiO VE w- DAT TO w- D~TA
J ••

se il campo W-DATA contiene il valore 081279 al termine


del trasferimento il campo W-DATAl contiene il valore 08
12 79, il campo W-DATA2 contiene il valore 790000

Il carattere di stampa B (e, analogamente il carattere di


stampa O>:
- provoca l'inserimento di un carattere spazio (o zero)
nella posizione corrispondente a quella in cui è
specificato

- occupa una posizione di memoria

11. Quale valore assumeranno i campi W-GIORl e W-GIOR2


dell'esempio seguente al termine del trasferimento?

J ' o
J • o ~:3 Pt c. 8~9 B.
J • o f'3 f'IC ~99 .
J • o
• o o

W-GIORl 21

W-GIOR2 0210

16.10

La cultura è un bene dell'umanità (fantomasping@libero.it)


.....ALSIEL I
& lGRUPPO
I~
IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

Soppressione degli zeri non significativi

Gli zeri non significativi possono essere soppressi e


sostituiti con il carattere spazio o con il carattere *

Si esamini l'esempio seguente

o "' ro
...
I

o • o
o
~t I
~-G. 1 o.R.H.!-
I I
I
I
I
I
i : : I

PI ç., :~ .11 : lJIJL IJ E' ·-i~ .


I I
I : ' : '
i3: I
I I ;
p I C:. '1 ~ ~ •:i
I
'
o • •o I
I'
1 lJi-:1 I I
I,0 0
' ~3.
I
~-J
I , •
: '

i
Pie . in .! I
'
.
o
' ' . I I
I
.
.I , '

~- ~{10~ ~o: µj-~ ~-t


I i I
o Ho·v·E mv: I I
'
' . o
I
I
I
I
..
: I I
I
iI

I campi W-1 e W-2 sono campi di stampa. Al termine del


trasferimento il campo W-1 contiene i.l valore 012 e il
campo W-2 contiene il valore 12. ·
La PICTURE del campo W-2 contiene il carattere di stampa z
che provoca la sostituzione dello zero non significativo con
il carattere spazio .

16.11
Proprieta 1tals1el S p A Le copie originali sono contraddistinte dal retino stampato 1n rosso Ne è vietata la r·produz1one

La cultura è un bene dell'umanità (fantomasping@libero.it)


Il carattere di stampa Z:

- rappresenta come il carattere 9 una cifra e occupa una


posizione di memoria

sostituisce lo O non significativo con un carattere spazio


là dove compare nella PICTURE

- deve essere specificato come primo carattere di sinistra


nella PICTURE

- può essere seguito da altri caratteri z purché questi


siano contigui (un carattere z non può seguire un
carattere 9) e rappresentare tutte le cifre che compongono
il campo; la soppressione degli zeri termina alla prima
cifra significativa

- può essere usato solo in campi di stampa numerici


- può essere specificato in una PICTURE dove compaiono anche
i caratteri di stampa , e Se vi sono zeri non
significativi a sinistra della virgola anche la virgola è
sostituita dal carattere spazio. Se il valore è uguale a
zero anche il • è sostituito dal carattere spazio

- se è specificato alla destra del punto decimale, deve


essere specificato in tutte le posizioni decimali

12. Quali valori assumono i campi definiti nell'esempio che


segue dopo ogni MOVE?

-. ·-
' • u

, u •
~ t. W-COH
I
I
Pie 5(4) ~~:, VALrJ € 1 ~34.. 56.
' ' u
'
, • o
~3: w-co H-4 Pie 2.ZZ~ .:99.
' • u ~~ W- CO Hl pie i,;.zzz . 99 .
' • o f3, W-co H3 pie l2ZZ •.i.è -
, u u
~3 w-co 1#4 pie z i.r ?:.-ll..
~
, ' u I
·1
, • o
I

A. ' • o Hovt: w- c.oH To w-c otH w-c o Hl w-c lpH3 w-c IOH4.
, • o

HovE
I

6. • u o
- --
2E g·o 1o w-c. oM..f W-c.. ou~ UI- c. 0'1 H ·W-C ~Jiq.· .

16.12

La cultura è un bene dell'umanità (fantomasping@libero.it)


"T'ALSIEL I
& lGRUPPO
I"""
IRI FINSIEL
FORMAZIONE
Strutture
per l 'evoluzione

A. W-COMl 1234.56
W-COM2 1234.56
W-COM3 1234.56
W-COM4 1,234.56
B. W-COMl 0.00
W-COM2 .oo
W-COM3
W-COM4

13. Quali delle seguenti descrizioni sono corrette?

A • , o

o • o
! ' l I i i ' ; '
I I : : I i- II I ' i' :
B 0 t I 0
l I : I I; I I I
I
' :
<•io ' I I

i' '.I
I :
I
I
I i ' '' I I
e I 0 10
I
I I r -! l+ I
I ''I I
' I
I
• 1>·' o i I
l:>
.' ' I
! I
; i i I i 1 I I
I
'
'
I
I'
I • ;0
I
; j 1 i 1'. !II : I
' • o
JI I :' I.
iI . II II II I ! '
I
! : '
I

II
I i II
I
I
I l' ! ! t I I I J ti ! ;
'

c. . ...

Si esamini il seguente esempio

.
, o o I ! I

,, I I I . i
. I
t f I I I I
, • o
, • o
. _,_,I i ; : I

I ; '
, • o i I 1 O' I

' o o !
I
I
I
j
i
\
!
I
i'

se il campo W-TOT contiene il valore A02 il contenuto del


campo W-TOT-OUT al termine del trasferimento è .02.

La soppressione degli zeri nella parte decimale del valore è


effettuata solo se il valore è uguale a zero.

16.13
Propr1eta ltals1el S p A. Le copie onginah sono contradd1st1nte dal retino stampato in rosso Ne è vietata la r1produz1one

La cultura è un bene dell'umanità (fantomasping@libero.it)


14. Quale delle seguenti affermazioni è corretta, al fine di
descrivere un campo che non si vuole in stampa, se il
valore corrispondente è zero?
.
A. la PICTURE deve contenere solo caratteri Z

B. z a sinistra del punto decimale e 9 a destra del


punto decimale

c. Z in corrispondenza di tutte le cifre

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

c.
Si esamini l' esempio seguente

.
I I :
' ' o ~I
I
I l !' l ~ ; I

'
I I
' • o
1. l I '. ' •

UI
l o I ,
I Il ; .
' • o
.. o . o I
1, I 1
I

l I : ...

' I
I ,
;I iI 1 l! I
I
I
I
I' .,
' '
i:i •
I
I
I
I
'
I
'
I
I
I : I

come il campo W-DETT-1, anche il campo W-DETT-2 è un campo


di stampa. Al termine del trasferimento il campo W-DETTl
contiene il valore ~12, il campo W-DETT-2 contiene il valore
*12.

Il carattere * quindi, provoca la sostituzione dello zero


non significativo con il carattere *·

Il simbolo *, che è utilizzato per proteggere i dati


stampati da eventuali manomissioni, deve essere specificato
seguendo le stesse regole illustrate per il carattere z.

I due carat t eri di stampa * e z, infatti, sono equivalenti.

L ' unica eccezione riguarda il punto decimale che, se


presente i n una PICTURE che prevede solo caratteri * in
corrispondenza delle cifre, non viene sostituito da *
qualora il valore sia uguale a zero.

16.14

La cultura è un bene dell'umanità (fantomasping@libero.it)


l "T"ALSI
I """'
EL
GRUPPO IAI FINSI EL
I
FORMAZIONE
Strutture
per l'evoluzoone

15. Quali valori assumono i campi definiti nell ' esempio che
segue al termine di ogni trasferimento se i l campo W-IMP
contiene il valore 1270 A55?
0 I '1 0
I ' ' '
• I ' f
i
I
o • o W'-'I
- I . - I
o ~ o

o • o

' o o I .i
' , o

l I t 0
I .
• o
; I f : I
., ' o o
, , o

L!i
p,
' • o
ltO
p, J
I I
t -t

~-
'
'

',,.,_
I
J

I
• I

, • o

s. : <P 1'0 ifl· I :ttf>· t.J -r. 3.


) , o '
I

'
I

'
I i:

A. W-IMP-OUT-1 *1,270.55
W-IMP-OUT-2 *l , 270.55
W-IMP-OUT-3 *l , 270 .- 55
B. W-IMP-OUT-1 ******·**
W-IMP-OUT-2 ******.00
W-IMP-OUT-3 **,000 . 00

Si noti che:
i caratteri Z e * si escludono vicendevolmente per cui non
possono apparire nella stessa PICTURE.

16.15
Propr1eta Jtalsrel S p A .. Le copie ong1nal1 sono contradd1st1nte dal retino stampato 1n rosso Ne è vietata la f'produz1one

La cultura è un bene dell'umanità (fantomasping@libero.it)


Inserimento del segno
Si esamini l'esempio seguente:

.. .. . •. ,. <M .. ... .., •• 90 .. •• J;i

111I !: p\ :~I JJJjL1i


I '

I 11'·1 ::; !il! ,' I1 I1 I '.


' .
I
• • o I
I
!
i
I
i I ·i
I '
' !
P.1 C.,
-1 .
IS~ {13 )' .'
! : ; ., ' , , I
' I
I II
I '
I '·' .
: I I
I,

II: : i

I ·'1 ..
• u
' I I ' : • :
I
I. I.
I ' I I I !' Ii I I ' I, 11· I . '

I'
I
' I .

i p I~ .J~:q'q • ! I
I '

!:
I

' . I:I l ·;
::i: ·:: :i : i
l I
1
i I i I Pi'f~ 1· ~~f.
~
I I '
I. ; ; i : '. ; i '. : I
' I
. i !
:

: I , • 1I·"

I I •
1t.1
I I I!I
I' ; l I!
Mi .
I ! Il : ii I! Il I! .,
1 ii
1' .! . ,' '. '
I
I ,
'
'

'
'

.
I • if 'fi:~ i ~-, ,!~~.q
I ' I I ; ' I
. !
I

',,'.. I •, I ~ I I I ' '. :I . . I

~-~T~T"' • ', I' 1I I' Ii I I ! I: ·. I, : :


I I 1 '
I . I
I , : • :, •
. I , .•.• I
W-I if<ff.3
' I' . • ' • ' I I •
; ! I I ' ' I ' : '. I ' : ' : I i

si supponga che i campi W-TOTl e W-TOT2 contengano


rispettivamente i valori 250 e -250.
I campi W-TOT3 e W-TOT4 sono campi di stampa. Al termine
della prima MOVE il campo W-TOT3 contiene il valore 250, il
campo W-TOT4 contiene. il valore +250.
Al termine della seconda MOVE i campi W-TOT3 e W-TOT4
contengono il valore -250.

Il carattere di stampa - Cmenol:


- è specificato per i valori con segno e inserisce nella
posizione in cui appare nella PICTURE il segno - se il
valore è negativo, il carattere ~ se il valore è positivo
- può essere specificato come primo carattere di sinistra o
di destra
- occupa una posizione di memoria
- se è il primo carattere di sinistra può essere seguito da
caratteri purché questi siano contigui. Tutti i
caratteri - che seguono il primo rappresentano una cifra e
provocano come il carattere Z, la soppressione degli zeri
non significativi (il - è inserito alla sinistra della
prima cifra significativa se il valore è negativo; se il
valore è positivo è inserito un carattere spazio)
- può essere specificato solo in campi di stampa numerici.

16.16

La cultura è un bene dell'umanità (fantomasping@libero.it)


-rftLSIEL I
& 1 I~
GRUPPO IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

Il carattere di stampa+ (più):

- è specificato per i valori con segno e inserisce nella


posizione in cui appare nella PICTURE il segno - se il
valore è negativo, il segno + se il valore è positivo

- può essere specificato come primo carattere di sinistra o


di destra

- occupa una posizione di memoria

- se è il primo carattere di sinistra può essere seguito da


altri caratteri +, purché questi siano contigui . Tutti i
caratteri + che seguono il primo, rappresentano una cifra
e provocano, come il carattere Z, la soppressione degli
zeri non significativi (alla sinistra della prima cifra
significativa se il valore è negativo è inserito il segno
-, se il valore è positivo è inserito il segno +)

può essere specificato solo in cam~i di stampa numerici.

16. Quale è il contenuto dei campi W-SALDl, W-SALD2 e


W-SALD3 al termine di ogni MOVE dell'esempio che segue?

7 • o I
I
fi1 ' ! :
l o o I
.3 ~-'. SA lC-f p I c. ---9 .
:
' ' o
I I
I IJ~ W- .~A IL t>l p IC g95- .
' • o
!
%~
I
w- .5~ L D.3 pie -9 5~ .I ;

' • o

.
\
l 1. o "
. ·HOVE :t .To W-.5 A.Lì:> 1 w- ~f)L C 2. UJ -..SAL 03
• • o
; •
4.l o tto V[ -:-i To w-~ ALl>-1 w- '.:>ALD i LU-5AL D~.
I :
~40 I ;

e 46 o I I Wi>VE 1.2,5 ~ 1~ ~ - · ~Al c.-f W-~A L~ LO-S f'.l.LC~.


.... 11 .... . . .
-·-·

A. W-SALDl 2 W-SALD2 002 W-SALD3 002

B. W-SALDl -2 W-SALD2 002- W-SALD3 -002

C. W-SALDl 250 W-SALD2 250 W-SALD3 250

16.17
Proprietà ltalsiel s p. A Le copie ong1nah sono contraddistinte dal retino stampato 1n rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


17. Quale è, invece, il contenuto dei campi W-SALDl, W-SALD2
e W-SALD3 al termine di ogni MOVE, se essi sono definiti
nel modo seguente?
- o 1
i
'.
) ;l-11 I : I I I
: I I I

A. o
:ii
I I
I
I

t
t

i I

:
J
I
I
1

. j
J ' . I0

3. ' o'I o l 1 I I ! I I : !

I ' I I I I i I !
' ! ---i-I ·r1
c.. :
I
!_f - -i+ ., \I
1' 1,
ii I
I I

~ - : .I ~
'

A. W-SALDl +2 W-SALD2 002+ W-SALD3 +002


B. W-SALDl -2 W-SALD2 002- W-SALD3 -002
C. W-SALDl +25Q W-SALD2 250+ W-SALD3 +250

18. Quale dei due esempi che seguono è corretto?

• .
. • t.f
): UP-3 . !
!
y w-·o'p 1 ' I
I
:
:
P1~ I s<J(= ) .
1
'co up:.. j I

• • o t.1- µ,-·of ~ I p I C" ~~(S Co


I
'
I
I i !
+i(5 D: ~
I

... 't+
I
• •o w.-oP ~ P/C
'
!
I
,.I i I

A.
'
. I
'.
P1 w-oP ~ tro lJ,J-Of :3 ~
'

..•
I
' f)D O LV-O '
i ;

B.
'
'
, ••
.. I
/JùD W- 0 P1 µj-oP ~ k'.11v1
'" w-of .) .
---
AAAAAAAAAAAAAAAAAAAAAAAAAAAAA

B. Un campo di stampa può contenere il risultato di


un'operazione aritmetica ma non può essere un operando.
QUESTO CONCETTO E' ASSOLUTAMENTE DA NON DIMENTICARE

Si esamini l'esempio seguente:


,,
, ... fl w-OP-f pI C S9''.
I • O
t~ W-Df' ~ Pie SfJ99.
I
I ' U
I
' y y
~3 lv-DI.I 'T1 Pl C:. '1~ ~<. ~.
' , o ~3 W-011 Tl f> I ( ~S9D B•. ..
I
' • o

' .. •
t<ov{ W· oP-f To w-o uT 1 w-o 1.JT..Z.
' • o
• o o HOVt w- k> f' l. lo l.tJ- o clT../ w-o kJT.J.
W-OUTl e W-OUT2 sono due campi di stampa.
Se W-OPl e W-OP2 contengono rispettivamente i valori -27 e
27, al termine della prima MOVE il campo W-OUTl contiene il
valore 027CR, il campo W-OUT2 contiene il valore 027DB .

16.18

La cultura è un bene dell'umanità (fantomasping@libero.it)


....ALSI EL
lGRUPPO I~
IAI FINSIEL
I FORMAZIONE
Strutture
per i ·evoluzione

Al termine della seconda MOVE i campi TOT-OUT! e TOT-OUT2


contengono il valore 027bb .

Il simbolo di credito CCR) o debito CDB):

- è specificato per i valori con segno, e i nserisce i


caratteri CR o (DB) se il valore è negativo; se il valore
è positivo sono inseriti due caratteri spazio
- può essere specificato solo all'estrema destra dei
caratteri della PICTURE

occupa due posizioni di memoria .

19 . Si esamini l'esempio seguente e si determin i no i valori


assunti dai campi W-OUTl e W-OUT2 al termine di ogni
MOVE nell'ipotesi che i campi W-IMPl e W-IMP2 contengano
rispettivamente i valori 22000 e -22000
I
I! I i' I tft'I .
o
(I 1• I O
o
I I

~- !1 ~ p~ :
I

:!
I

I
i I
. I ... .s!0 . ·~
P. 1.c..,
I II
( .. ) I • '
...,j .-
I
I I
I!
I
:. II ii I
I
i
I

. I I I
ì
' o! 1 I o 'lit. w.-:111 P,l I I
I
P.. 1.l ·. S 0 ( J:; ) I
. .J ·"' I • ' I I

I 011 ;o ' I I I '


I

~3 ~-'. o t T1
: I
I I ' I o l. I'. r .1.c ~( 5) ~. · · ' '

I j
I

I
, •O
! I ~). '.V -:011 f ,l P.1.c.. ~ ~' ~ ~.gc.R : ' i
I I • O
: I

j : tto VE w- I HP.-i TD UJ- DVT 1 w-ouTl.


e. , ' • o

, , o
o:o
I
: I }(o\/,[ . µ,- ,·tifl TO w- ovr.2 •
, .. . o

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A. W-OUTl 22000+ W-OUT2 22,000bb


B. W-OUTl 22000- W-OUT2 22,000CR

20. Quante posizioni occupano i campi di stampa W-OUTl e


W-OUT2 dell'esempio precedente?

W-OUTl 6

W-OUT2 8

16.19
Propneta ltnls1el S p A . Le copie originali sono contraddistinte dal retino stampato in rosso Ne è vietata la nprodu11one

La cultura è un bene dell'umanità (fantomasping@libero.it)


21. Quali caratteri di stampa possono essere specificati in
una PICTURE per contrassegnare solo i valori negativi?
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

- CR DB

22. Quali caratteri di stampa possono essere specificati in


una PICTURE per contrassegnare valori po·s i ti vi e
negativi?

23. Quale delle seguenti definizioni è errata?

. ·- - .--- -
• :o : i I
I

.I
I
' ', • ; o
I ' i i
I
! J
'
~j: I
J I
!
A,
.) I o o
i I
I I
W-Dv I -i
I
i
I :
pie 2(4) I I : ! I I
'
.. ' I
I I

--·-- ..,
I I : '
' i I ! ! I ! :
T.i
I
i i ' ; '
p cc I
I
' I
B, >'O
1iI ' fJ3; w- .oi> I :
II i
l
' I I
I '
; I ; I
I I ' ' I
I I ! I I
' i
. I
.) I

.' 4 10 I
: : : p: i ' ' ll
I
'
~-'. ov 13
!
(.~ , I•'' o
i · ~: '
. I \~. ll.9. e!~.: I I
' I ' ' I 1
' .
Il I' ' : ! I j
' ' : I I ' I I
' I
I ! II ' '
I i '1j • 1' o : ! I I i ' I I I I I
i I I I I
I
• •o I o II I
I
1 ! ' I
' !
' ' I
I 1 II I I I
I
i
: ! I

Nessuna

24. La seguente definizione è corretta?

I•· 1 . • 11 !••~3 · r-D+ 1 1. · 1· · 1 · IP·~ t--+ 1·.• 3


' 1· : · 1• 1· • · 1: ·
. .. , , 'I( lit°""~
1
.......

Si'

16.20

La cultura è un bene dell'umanità (fantomasping@libero.it)


....ALSIEL I
& l_,RUPPO FORMAZIONE
I~ Strutture
IRI FINSIEL per l'evoluzione

25. Il campo W-OUT dell'esempio quale valore massimo può


contenere?
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

999"99

Nello schema seguente sono elencati, per ogni possibile


carattere specificato nella PICTURE, i caratteri ottenuti in
stampa con valori positivi e negativi
RISULTATI
CARATTERI DI STAMPA NELLA PICTURE VALORE POSITIVO o VALORE
UGUALE A ZERO NEGATIVO
+ + -
- )S -
CR )S)S CR
DB )S)S DB

Si noti che in una PICTURE può essere specificato uno solo


fra i quattro possibili simb~li (+, -, CR o DB).

La clausola BLANK WHEN ZERO

La clausola.
BLANK WHEN ZERO
utilizzata nella de~inizione di un campo numerico, specifica
che il campo deve essere "abblencato" automaticamente quando
assume il valore zero. Il campo descritto con questa
clausola è un campo di stampa numerico.

Si esamini l'esempio seguente:

. ". ;
ltOUUfCI

I ,
t"AQll IH •IA4.
I

o ' o
o
1 I
I
12 .. 20 ,. 21 u .. .., •• 12 . IO .. . 12

:
o • o p~; ~-To r P.1.c :~.rq ), .f>L AH/:.. W_HEI'{
'
"l [~O •
I
o • o
!
o • o
f'J ~-To T1 : Pie .~.s.~ : 8L AHI( (..lJi..t 11. è~eo.
' . , .

16.21
Proprieta ltalsiel s p.A Le copre originali sono contraddistinte dal retino stampato n rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Ogni volta che i campi W-TOT e W-TOTl assumono il valore
zero, il loro contenuto viene convertito automaticamente in
caratteri spazio.

Si noti che:
la clausola può essere specificata solo per campi numerici
di stampa
- se il campo è numerico, la clausola lo rende numerico di
stampa

26. Quale delle seguenti affermazioni è errata?


A. i caratteri di stampa + - * se ripetuti provocano la
soppressione degli zeri non significativi
B. i caratteri di stampa z + - * si escludono a vicenda
nella soppressione degli zeri non significativi
C. i caratteri Z + - * sostituiscono lo zero non
significativo con un carattere spazio

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

c. ( i l carattere di stampa * sostituisce lo zero non


significato con il carattere *)

27. Si determini per ogni valore indicato in Fig. 16.1 il


valore assunto dal campo di arrivo

16.22

La cultura è un bene dell'umanità (fantomasping@libero.it)


...ALSIEL
lGRUPPO
I"'""
IRI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzione

CAMPO DI PARTENZA CAMPO DI ARRIVO

PICTURE CONTENUTO PICTURE CONTENUTO

999999 123456 ZZZ,ZZZ.99


9(4)V99 0001"23 ZZZ,ZZZ.99
9(6) 000100 ZZZZ,Z99.99
9999V99 1234"56 ZZZZ,ZZZ.99
9999V99 000000 ***,***·**
9999V99 0001"23 z,zzz.zz
9(6) 123456 -999999
S9(6) -000123 -9(6)
S9(6) -000123 9(6)-
9(6) 123456 +9(6)
S9(6) -000012 +9(6)
9(6) 001234 ZZZBBB999

Fig. 16.1

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
.. . ...

CAMPO DI PARTENZA CAMPO DI ARRIVO

PIC'l'URE CONTENUTO PICTURE CONTENUTO

999999 123456 ZZZ,ZZZ.99 123,456.00


9(4)V99 0001"23 ZZZ,ZZZ.99 bbbbbbl.23
9(6) 000100 ZZZZ,Z99.99 bbbl00.00
9999V99 1234"56 ZZZ,ZZZ.99 1,234.56
9999V99 000000 ***,***·** *******·**
9999V99 0001"23 z,zzz.zz bbbbl.23
9(6) 123456 -999999 bl23456
S9(6) -000123 -9(6) -000123
S9(6) -000123 9(6)- 000123-
9(6) 123456 +9(6) +123456
S9(6) -000012 +(9)6 -000012
9(6) 001234 ZZZBBB999 bblbbb234

Fig. 16.2

16.23
Proprietè ltalsiel S.p.A Le copie original i sono contradd1st 1nte dal retino stampato 1n rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Concludendo la trattazione relativa ai campi di stampa
numerici, si noti che:

- un campo di stampa numerico può contenere un massimo di


18 cifre

- un campo numerico è un campo di stampa, se la sua


descrizione contiene la clausola BLANK WHEN ZERO o se la
sua PICTURE contiene uno o più caratteri fra i seguenti
(punto decimale)
, (virgola)
B (spazio)
o (zero)
z (spazio al posto dello zero non significativo)
* (asterisco al posto dello zero non significativo)
(segno -)
+ (segno + o segno -)
CR (segno -)
DB (segno -)

- i caratteri di stampa • , O b CR DB (e i caratteri + - se


compaiono una volta sola nella PICTURE) provocano
l'inserimento del relativo simbolo nella posizione
corrispondente del campo di stampa

- i caratteri di stampa Z * + - se ripetuti nella stessa


PICTURE provocano l'inserimento dinamico nel campo di
stampa del simbolo corrispondente

- se si vuole associare una costante ad un campo di stampa,


descritto in WORKING-STORAGE SECTION, la costante deve
essere non numerica anche se il campo di stampa è numerico

- i campi numerici di stampa nelle condizioni di relazione


sono considerati campi alfanumerici

- un campo numerico di stampa non può essere un operando di


un'istruzione aritmetica.

CAMPI DI STAMPA ALFANUMERICI

La PICTURE di un campo di stampa alfanumerico può contenere


alcune combinazioni dei seguenti caratteri

AX 9 B O
Affinché un campo alfanumerico sia un campo di stampa la sua
PICTURE deve contenere almeno:

- un carattere X e un carattere di stampa B (spazio)


- un carattere X e un carattere di stampa O (zero)

16.24

La cultura è un bene dell'umanità (fantomasping@libero.it)


"T"ALSI EL
lGRUPPO
I~
IRI FINSIEL
I FORMAZIONE
Strutture
per l'evoluZlone

28. Si determini il contenuto dei seguenti campi di stampa


alfanumerici dopo la MOVE
I , '
' I I ! ! II ! :. i I ' ! : . ' '
:' o ' I i I
I
I I I
i '
I .
I
'
.
'
' • o
.. o

ft 1.11-co
.,
. ~ .
){.o~o
I
I
I
p l c. lx(S) 1
'
\fAL bi .. SALS é:. I
:
. I
!
'
' • o
: : I
. I. ! I
' I
~3: ~-~o H~ PIC ~9~)( (sì'.
' o u '
BBX( 5)6B .
~~
, , o
w. -~ o Kt PIC.
i
' • o w-co K?> PIC ~xxB ~xx. I

' • o ~~ ~-LO H+ f>IC. '!xx)', @:Xx~ •


'
i
' • u
: '
. I'·
' i i
, o u
J , o
I

I
:tt·o :v~
' '
w- lOHO t>O TO. IJJ-GO •H. w-co H~
. . '
~ ~l ·O ~3.
I I
w-:«o t{(
J • o

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

W-COMl OOOSALSE

W-COM2 bbSALSEbb

W-COM3 SALbbSE

W-COM4 OSALOSEO

29. Si determini la lunghezza dei quattro campi


dell'esempio precedente

W-COMl 8

W-COM2 9

W-COM3 7

W-COM4 8

30. Quali caratteri di stampa possono essere inseriti in


un campo di stampa alfanumerico?

A. B O Z

B. , *
C. B O

c.

16.25
1
Propneta ltalsiel s p A. Le copie originali sono contraddistinte dal retino stampato 1n rosso Ne è vietata a riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


31. Quanti e quali sono i tipi di campo descrivibili nella
DATA DIVISION?

numerici
alfabetici
alfanumerici
numerici di stampa
alfanumerici di stampa

32. Si esamini il seguente prospetto di stampa

DATA CODICE DARE SCONTO AVERE

5/ 7/90 105864 357,28 3,61 360,89

12/ 7/90 106900 -96,10 -96,10

20/ 7/90 107005 4.211,34 42,56 4.253,90

15/ 7/90 635860 5,80 5,80

21/ 9/90 796300 -429,98 429,98

25/ 9/90 799430 1.213,24 12,26 1.225,50

12/10/90 832561 79,79 79,79

Con l'ausilio del seguente tracciato di stampa in cui sono


indicate la riga testata e la riga dettaglio (con la
posizione e l'ampiezza di ogni campo)

DATA CODICE DARE SCONTO AVERE

XX/XX/XX xxxxxx xxxxxxxxx xxxxx xxxxxxxxx

16.26

La cultura è un bene dell'umanità (fantomasping@libero.it)


...."'LSI EL I
& lGRUPPO I~
IRI FINSIEL
FORMAZIONE
Strutture
per \'evoluzione

si descrivano in WORKING STORAGE-SECTION le due righe di


stampa, di 133 caratteri ciascuna.

atout•c•
fPAefl
' >•
;.
~HMAL 8 A
, , .
:
I
n .. . ,. JI u M ... .. •• IJ . .. ... .. ,.
I o i' 1· i : I I I I I
I
I I ' 111
I ii
I
I
! I
II
;!
I I
I
i
' : I
I : I
'
I I
I
'1
!::
; !
I
l
I I
I ,
I j : . I I ;
'
I I
I

I. I'I .:' iiI :


I: ;::
I •

I!
: 1
; I
II I : t I
! I ! '. I , .I : I I ·
:I: : • I 1 I

I 1 ; i Ii
1 ., ! : I
I
: . I i 1.; i 1 1 I
1 i ;;! I
I ' ;
: I I l; i :
!I I :
i:' I '.
.: :l:I: l i ! i:
' I
!I1 ,' I ' I I ; !
j ;·il j I
I
1 I IIj I I i ,. i
I I
! :
I :
'1 . :
II ; !: : : !I II
I. iI I
I
'I';•!o· i ;;
I
' 'J i' j I;i I I I

Ii
l i I iI i:.
I
i :'
o '
i
I I i 1·1 : :

I ' I I
: 1 ' I j ' I !
I I.
I i I ! I
I i · I : :
I I I
I I 1
'l·1· I I : 11 ; i'
II :I
I
I . ' I' I
O
, I :
I
" i I ' ! ! : ì
I lI, I I I
I ' ' II : I I
I
j I
I ~
I I o

. . .!• •
I ' :oio
I
1 Ij :, 1
·
I I
I

I
Ii
I l I
.,I
1 I !
,;!
I' i i:
~ I
i . ' . I
; '. I
I ·
'
I;: Ii
j
' . '
I ~ j !
I . j

I I
J:j:
1'

i ; i l I lI :
I
I !i :,i.
i I
I
'I I I I I '1 '1·

I i ! •
i' I ' ' '
I : I'
I :
·. : 1' '·
1 ..
I I !: I I ' : ' I :
I

I Ii !i ' : 1' I1;


: : :,I::•1.:•
I

I ! II I : ; :'I
' I I I I

' I; I
I:

I I, I
I I I '
:·: I
I
I
I
I
I I '
I
1
I
I

: : ,!1., • I I
I 1
' 1I ! j

! I!
I
I '
I : , 1· ·
i ! I .i I i ,' I I I
I

iI; I
·
!. j I I •
I ' J
I
1,

II i I· i I '
1· 1,

iI
l , 1·1° ! I I: ; I !:
I
I :~ : I i ! .i
I I :
I .
" : . ,. .
•!oi• I I : :
I I 1
' :
I
I
I

: !i , I
I I
i Ii .ii I;~
I

I
,

; :
;

l;
I

: ! : I

;' I .' : I I i : :! I I '

II I'
' • t ;

I ,
i i ·1 1I i Ii
I !i:
I
I i' :I :
I
I :
'
I
.
'1 1'

I ::
1' :', ,i
I 1 I I I I !:: ' '

... .I . - I ! ..i :· . .. .. .. .. .. .. •• .. .. , .
I'
IJ

1· 11 : ·' I I
I
I ! 11
. :I i:: i: ! !! I ; I . I I ' ! II II I :
. I
i
; o 1· t I
lI 1

I ! ·I i
1 1
i l1; I
!I ' !

o • I• : ' I

, .11.1
. ·I ,.L !1 !
j

!I !
I•
;"i I I
I'
1 ' I

I
II
!I
I
I I ,' II III' i. 1 , I I

l; i
I 1

! !~
1
I I I I I :I I I I I
I'
I •

I
o 1. o
I I
I

I

!
I I
I: i I I 1 I\ '
I
I
I

I
I

I:I
I

i ;
I
I
I '
1
II
i! I I
, I
I
·I i
!!: I ,
'
I
i
II I ,: ;I
: I ! :, ..~
I: ii1 Ii I ' !I :I I;
I I i I
I T i' I .
!! ! ~ I
I .
,

ii; I
I

1
i):e : 1 I I 1'
I :I I o I ' ! I
I . ;
. I I I I I
! ; I I I I , I i 1 i ; " I '
I I I . 1I !~ i
1. 1. :,
I I , I
, I I ' 1 I ; I t : : I
II
. I I I I
:
• 1• ' •
I
I I '
I
I
: I I I! I ' I I: , I I I j 1
I j !1 I
.
! !
I
r I ; : ' ' . .. '
I ·.
i I
! t ;
I: I I I I I
! II ,I I . i I ' ! •:
i
' ; 1
' I

, : oi o
I 0
'I I I II II 11
: I
I
'
I
I
' i I I I
! ! ' I I :
I 'i .,
' J I I
I
I
' '
j I I
I I

I I
' I ' I
l, i I' ' l i j I

! I, ' ' i
·: :' ii·:1:
I

I 1 ! , i i i I.
1
11 1 j I i ! I ' I I I ' j I
. I I I
I" Ii:
I I !!
, I
I I j
!I '

l [ ·, i
o
: I
. I
1,'
I ' . I j I i I
ii
!
!
0

j I I I I i I . : I ; ! I I j I i .' .
. . ':.i· i I1 II
1
!I 1' ; ;:I ' I : i I , .I :
• : I 11 I ·I : o I I
Ii
' ,

i ! I!I !
1
'
t 1• ••

: : t,,1· I
1 1
; I I

I :I 11i I I ! I I I i !
I '
I
' ! I ! '.
I r

iI
+. 11 I
1
I 1 ' ; , I :
'
i ! ' : ' I i I '
. I I ,
: I i I I I I II
I 11
.
I
I I '
! I ' !i ! '
I i i ! I I: l: I !
1 :!I ' I ' I I
I
.
'
'
, 'II
TI' I I' 1 I !, II ,' !: i ' I
I ,
I
I! I
I I 11
I I I :
' I I I

l
I , I
l!; i '
t

:!:1: i I
II :I , I ' I : I o

:I I' ' '


I ' I ' I I I I I
I
I I
!

I
I

!i : i ii !Ii i! I :;
I ; I; I Ì I ;

!I
'
:, I :
,
II 1I I1 i1 1
' I '
I i 1
I '
iI I I I
I
I I !
I I : I 1
I i I I I I
1
' I o ! I

16.27
Propnela 11ats1el S p.A Le copre onginah sono contradd1st1nte dal retino stampato in rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


1
&IQU I NCI

tPAGll tll• IAL U A


J 4 I
z
o
1 I
.. 12 Il zo 24 21 :u .. •• . •• u .. I •• .. .. u
,
I'
I
'
o • ·"
i i ; I
i I
:
I '
1· . :
'
I : i
I
I I: i I I ' I '
t I; I I I I :

O I t; ;' Pie .Ù~ù 1vAt vE · ~f1uc . •


' o o
' I I. : Pie 1ùq) 'vlH uE ! ··J>A71A 1 ·•

' , o ~ l .C X (6) lllRL VE. SP·/ k f..


' • o pie x{6) VALVE 1( '0'1>1 'c:i 1 •
' • o P1e:: x ( b) v AL vr· s·Pli' e. '
' • o P 1e x ( 4 ) !VIl L rJ[. '·o'tù~ E ''.
sf'' ~ L
i
' 0 I0 p I e IX.{6:) Y'*.l I) t

'
, , o
.i ' ' PIC ;<.(6) v/llVE I •s:<(ttro'•. r j
, • o Pie x(8) vnLk1 é 1$ Mc E.
, • 'o I
P• (. X(5) :V'1LIJt
1
AVE'~t •
1

l P1 e IX'0'8 ), VA LUE 5PAc t.


I : •• t •

I
• •

'. I 1
I I
l
.
'I '
I

o
l I ' I. ~ I
I '

I
I
I I
I
l • ' \ , I
I' I, '
I
l 1 Cl o
j :, . I i ; I
fl '
I
I I I
I I I I I I :
• oo : I ! i i I

I . I
I
I I
1 i ! ! : : I I
I
I
I I i I I I,
I

:
'

\ I
I I
I I
I
I
I i I
t
' .
I ' I ~ I

,
t PAGU

W4
llQUI NCI

l
ISU IUAL

'J
.u., .
~
z
o

'

12 Il zo ,. ,. ,, .. •• .. . u .. •• .. ..
. ..
"
:'
i'
... ..
(I

. ' ..
' ... ' . .
. I
,( o, • 10

~ . UJ-~. I ~~ . · ' ' ' . ' ' . I ' .. .


'
. '

>< ~iALVlf.
'
o • u
. ' ~3 FIL L €i?. I
p' I C. SP AC~. ..
o' . u
' . (>3 Ut -R.1 ~1)-G~ f IC zq. I .
f e VAU t_ :I)
~~
' u • ILL E. P IC X ~
' J o w-R.1 l:;A-HIH P IC l.'J. ..
' • u '{>~ 1=1 LL ER. PtC )( VtlLV E I I I
.
' • o
~-3 llJ- ~I ~A -[i A f IC iq.
x(4} I/~ LVE ":lP~c r.
~3
' • u
.. Flll [/l Pie
, o o
w-.R1 t;. A-e Pl>I'- ... ~
f> I e '3(6 ).
, , o
.. f53 w-R1L f R. ~IL Pie
pie.
VA l Vt ":>P/K. E.
-- .--- -- •
)(.X)(

~
, • o
KJ.A-1> AR.E
I • O 1='1LL u~ pie. x( 4) V~ Ll.IE ~Pflc [ .
, • o
~3 t.ll-R I ~A-.s e ON'f ID. f Il lZ. ll.
, u u
~~ lf I L L ER.. PIC x(B) VA Lllt SPf} C ~.
- - . -- - -- .
. '

o j?}.3 W-RI 'GA - /J vE.Rf Pie


xn f)
J '

J • o
~ f / lL E~ f.I(. I
~ ALI/( .Sf'f) le E ..
J • u
..
J • u
. . . . ' .. I ' ' ' ' ' . '
• o o

... ' . . . . .. . ' ' . ' . .



' '
I o
. . ' ' . . '

..... ....... . .. . .
,,

Si noti che la descrizione di quest'esempio richiede la


clausola DECIMAL-POINT IS COMMA nel paragrafo SPECIAL-NAMES.

16.28

La cultura è un bene dell'umanità (fantomasping@libero.it)


~ ITALSIEL ~~~t~u~~IONE
'..J-1 GRUPPO IRI FINSI EL
I per revoluZ1one

Capitolo 17

17.0

Proprieta lta1s1el S p A. Le copie orig1nall sono contradd1st1nte dal retino stampato in rosso. Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


La cultura è un bene dell'umanità (fantomasping@libero.it)
l"'T"ALSI EL I
& I"""'
GRUPPO IRI FINSI EL

LE CONVERSIONI
FORMAZIONE
Strutture
per l'evoluzione

Quando due o più campi numerici, definiti con USAGE diversa,


intervengono in operazioni:
- aritmetiche (AOD, SUBTRACT, MULTIPLY, DIVIDE e COMPUTE)
- di confronto (IF condizione di relazione)
- di trasferimento (MOVE)
viene eseguita automaticamente la conversione di uno o più
campi da u~ tipo di USAGE, cioè rappresentazione interna,
all'altro, in modo da rendere omogenei i campi interessati
dall'operazione.
Le conversioni vengono fatte automaticamente: infatti il
compilatore genera delle istruzioni e riserva delle aree
necessarie affinché ciò sia possibile.
Tuttavia è bene sottolineare che la generazione da parte del
compilatore di nuove istruzioni aumenta il tempo di
esecuzione del programma e l'occupazione di memoria.
E' necessario distinguere le conversioni in:
conversioni necessarie i .n un programma e che pertanto
devono essere richieste
- conversioni che non sono necessarie e che, poiché rendono
meno efficiente il programma, devono essere evitate.

Conversioni necessarie

Sono le conversioni eseguite automaticamente dalla MOVE. Con


questa istruzione infatti si ottiene il trasferimento del
valore e la sua memorizzazione con altra rappresentazione
interna.

17.1

Propr1eta 11a1s1e1 S p A .. Le copie originali sono con1radd1stin!e dal retino stampato in rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Nell'esempio che segue si trasferisce un dato in input
"display" in un'area di lavoro definita packed.

llOUl.. Cl ~

IPA81 1 l llatAL
t J 4 I

o ' '' o
a
8A
1 I
' I
" .. 20 20 J2 . .. •• . I
•• .. .. "
I
t~
I

. w-:i°Mp' ! : + ' t

i:. I , . I
: I
I

• ...
o ;' o
'
~1
.
w- .coH
. . . . I , , I

i 'I
I' I
I

'

..''..•
1 • I I I


; I ' • . : • ' ' ; I : ; I , . ! I
I ..
l '
' ' !
;
I

'
• •
HtJVE ' w- 1ll'p
I • . ' f • • '
1

r.o
I '

.W· <:IO H •
" '
I
I I

' '

Un'altro esempio è il trasferimento di un dato, al termine


della sua elaborazione, in un campo di stampa come nella
descrizione seguente:

.• · - ~-
'
'
I
•o
•• ~1i ~-
I

... ~ I
' i '
'. P• r:.
!
~(6) lpli P:-3'. ' : '
' ' iI
'

' • ~
I

I I ,3 ~-.0 . L TI I p1 c.. i ( 3) I ;i,(3) • i


:

..
I

''• !
I
I '
' , "'.
I i
! I
11.o .llE ; w- I lfP .T.o W-D I
I

!
! , ' • io i

Rientra in questo primo gruppo anche la conversione del


risultato effettuata dalla COMPUTE e dalla ADD, SUBTRACT,
MULTIPLY e DIVIDE con l'opzione GIVING (formato 2).

Si ricorda infatti che in questi casi, il campo in cui è


trasferito il risultato può essere anche un campo numerico
di stampa come negli esempi che seguono, tra loro
equivalenti.
,,. . .. - -- -- . - ...- -·- ... -·
' • o ~3 'r-JJ-P F. e21 p I(. 59(~ ÌV~~
Pie 59n ). "~ .
.. 1}3 w-PB '(? ?].
J , •

' 93. W-TO T pie.. -lZ'.. .22.


J •• ' '
I

...
J • o
:
Al>() u>.-F A~i-1 w- p~~~ ~ 6 I .VI HG- . LI -TOT.

~H" é.oHP VT .E l)J-T OT : w- P~fèi1 f w-PA ~i! 2.


jq<f o
'
~oo
.... " . .
~

17.2

La cultura è un bene dell'umanità (fantomasping@libero.it)


...ALSIEL I Strutture
lGRUPPO
I~
FORMAZIONE
IRI FINSIEL per l'evoluzione

Esaminando l'esempio seguente:

.. ., .. . ..
MoutllCt i
11'4011 llHIU.Al 8A
I 4 1

'' I "
I I
i
I
I
~P:-! I
I I I I
(. .i I I
I
I '
Pr-~ ·1
I I
I
I II
:<f I I I i !
I I I i' I
. ; I
' !I I
I i 'I
i
I I
'I
I
I
: I
I

I
'
I
I
I
I

i
'

'
. I
I ' I I I I : I
; : i I

' ' I
I ' I
I I ! I
: I
I

si rileva che l'esecuzione della MULTIPLY si sviluppa in:


- calcolo del prodotto dei valori W-PR e W-QTA, fra loro
omogenei, e temporanea memorizzazione del risultato in
un'area di lavoro
- conversione del risultato formato packed in formato di
stampa (display).
- trasferimento del risultato nel campo W-IMP .

1. Si consideri l'esempio aeguente


.,. ~

I i ~1~ r r ·r
, : I

Il .j-1. 1 1
!1 I .i l. t
I ,
I II iI I . . .
P:l f' se~ .I
,'!+ :i"I I. I I I )I
II - ~:o~_., I ' I

i , ·! i I
'
i:
• I ,
I i
: I
I',. I ' . ,1 I
!:
I
.1 ,
!
I
I
' 1
I I f
I , I
• I
!
, ·t'\P.- 31.:
I
~,~·
'il
i . . : I ~I ,,
I
I
,;
I! :~:1 i
• I
. I
·!lPt'\~ I ,
I
.(
: ;I I I I ' . I : . I
I I
I
' I• " I I I 1 , ,
I 1 I' I.

.: ,. I .
I
: I '1.,. .I I . :lf, jv'r ;r.- ' I ' ; I I
I
' . '
I 1 I. I
'
I ,
I ' :

l .oH,1
I~
I ' . '
' I
• i• I• I·
.
I • •
; I . i II I 1 : ; 11
' ..
. , I
'
! .. I

' ' '


''"" '"
Quale conversione è eseguita dalla MOVE?

Da formato display a formato packed

Conversioni non necessarie


Sono:
- le conversioni degli operandi delle istruzioni aritmetiche
- le conversioni dei valori da confrontare in una · istruzione
IF. ~

E' necessario sottolineare che le conversioni di questo tipo


dipendono dall'elaboratore.

17.3

Proprieta 1tals1el S.p A . Le copie ori91nal1 sono contraddistinte dal retino stampato in rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Per quanto riguarda le istruzioni aritmetiche, gli
elaboratori della serie IBM-370 sono in grado di eseguire
operazioni in aritmetica decimale (cioè con operandi packed)
come nell'esempio che segue

1
SIOUlllCl

C..AOtl kH•UAl
J •
A
• 1 •
o ;, 10
.,:

8
i
;
...
:o
•• zo •• .. .. •• .. .. •• . .. I
•• .. .. '
u

' : I ,
: ; : I
! : .I ' .' I I ; I

i
I I : I

-.~ .'
I

t~ s~(5 )
'

. ~-pp ~ . cot1P
i o • 'o I
I
' I P.t.L
..
I I
: : ''
~9.tt;P -;~
I
w-.OPt
~~
5.'30 ).
I
o o ' ! : : P.1.L
:
o
I
I' I
.
I !
! ! I
' 1o I
I
I I :
1 :
1 ' o~ o 1 I 'Ac>o
I

W-0
' •

p~ ~o· ~-o . F ~· .
I I ! I
' I

o
I . i i
I ; ' l I

' ' '

oltre che in aritmetica binaria (cioè con operandi binari)


come nell'esempio che segue

~~-~·- - - - • - - - ·- ~-~-~-- r--.


• 1 I I I .
' • o prc. 55(~): : :
Coli.f . '. 5Y/IC . r • • •
I O O
PI ( s.'3(-1) . . LJ>JtP : :sy11c..
' o o ' I
, I I

' ' o .. ! .
I
TO . ~-Of 2•. , I .
, ' to

Pertanto, se gli operandi sono definiti display come


nell'esempio che segue
,I....
- -~ --

'
:
j o
t.~ . \V.- :P·A~ . . , . . . I . I .. Pi e 5~(5 D:.' I
!
;
J I o o
~+,. . \l'.
.1, .
-:~o "T: : . • , I .
f I( !>~.j ) ·:
, :o
'
J

,
. o
I i : I. .
1 I ·
I

!
I
I

• ·o ; I :Ap:o ui-P j:)R, )-V . ~-Torr.


•o
.
J

o o

l'operazione richiede la conversione degli operandi.


Infatti, prima di eseguire la somma, i due campi W-PAR W-TOT
sono convertiti automaticamente in formato packed •
.Eseguita la somma, il risultato è convertito in formato
display. Analogamente sono necessarie conversioni se gli
operandi non sono omogenei come negli esempi che seguono:

. .. . . .. . .. . ..
NDUl•Cl •
o
IPA811 IH..Al u li
t - 11 • t l I •
1Z •• •• •• .. u
o ' ..
o • o
~~ W-J.Or-t. p ,·, · ~'jqq •. . . ..
o • 'o
11- W.- TO T.l Ptc ~9(S) . . ico.f1f .. ~ •.
" • o
i.1. . w.-r.o T~ . flç ~~(~ ) : . K:0.11.P ! . . .
' o "
' ' o
I
: ,.
. I.
' • o
•• o
I
fl.DD. µ,- ,1or~ ro W-T oTJ.
'
' • o ADC ~-1 OT~ TP µ,-T oT~.
' o o
c.. ' ' n A . ~[:) i.v-·TK>T.2 To W·i OT~.
' ."

17.4

La cultura è un bene dell'umanità (fantomasping@libero.it)


"T"ALSIEL
lGRUPPO
I~
I FORMAZIONE
Strutture
IRI FINSIEL pet l'evoluzione

Prima di eseguire la somma:

- in A. il valore di W-TOTl è convertito in packed

- in B. il valore di W-TOTl è convertito in packed e quindi


in binario

- in C . il valore di W-TOT2 è convertito in binario.

2 . Si esamini l'esempio seguente


, • o

' • o ~j w- QT~ Pie. 15'3(~')' coHP 3.


l o o
f.1 w-. \~ P. Pie s'C~Yv~'·
l ' o
l • o I

l • o I
I
I
I
DIVI ~E w-Q.T /:, . I >Ho W-1 t1P. '
' '

J • 'o I

I 4 o.' o I i ' i
I
; I i ' ' ;

L'esecuzione della divisione comporta

A. la conversione in packed del valore di W- IMP


B. la conversione in display del valore di W-QTA

A.

3. Si esamini l'esempio seguente e si determinino le


conversioni effettuate all'esecuzione dalla MULTIPLY

-- - -- -
o' o
. ,,
'I I

'
o
~1 w-PR PI c. 5''h r~ co.KP - ~ •.
o • u
tt w.-·6(T A Pie $~(3 J,.
• , .. I
' '
u u I
~3 w-.1HP p I c., lJ~) .: ~g .

.' .•
I
' , I,
I
I

w-f R w-l.H A 61 -:,-.1P


'
' ..·-
• o HvL T I P.L)
.-
6.'f ~lii 6:
"' ~

La conversione del valore di W-QTA in packed e la


conversione del risultato in formato di stampa

17.5
Propneta ltals1el S p A Le copie originali sono contradd istinte dal retino stampato 1n rosso. Ne é vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Per quanto riguarda i confronti effettuati con l'istruzione
IF nelle condizioni di relazione, !~istruzione esegue il
confronto tra operandi numerici omogenei packed o binari
provvedendo ad eseguire le eventuali conversioni.

Si esaminino gli esempi che seguono

'
' ' o
.. f63 · w- ·-1 P1 ~ ~"( 3).
I ,

' • o f/J3 . W· .Z. Pie S~(3)_.


'i • o I
..
:
I '

' • o
~3: LV-! PIC
s·'~' CO HP-3 . :

' o o
J , o
I i ..

I
. . ·1" 3
I

. 1' ;
'
.
~·4.
' '
:
f> 1.l .
s""'3D. I
,e o ~P:· .3 . I
' I
I
!

J • o '. : ~3 ; W·S Pie s~


. I
(0 H/>. I
J • o ' l ·r1~ : w-, ' f IC s~ .~ ), e.o HP.•
' • o
I. ·.· , I,
I
, I ,
'
.

A. • o o IF W-1 EG\JAL ~-2. --- -


~. 'l lo 1 IF w - ,3 6-~fl+TE"e. • W-4 - - -
c. 44 :0 I' i :,·;: W·.S .' t.:E:s 5 . "4 -~· ~ - .< · · ' ! ' ; ' . . ' ' t • ••

I' : ' ::
!
460 , I '
i ' I ' '. '
I I
i ;
'
o I I
!
; I
;
Ì I : ..

In A. l'istruzione IF converte i due operandi in packed e


quindi esegue il confronto, mentre in B. e in C. esegue
direttamente il confronto.

Si esaminino gli esempi che seguono

I
llOUUtCl

,
4,.AQll IH..tAL
. •z
0 I J I 0
ou.
1 •

I
,,• .. 20 ,. H
,, •• "° .. .. ., .. IO .. .. "
: I I I ; : '
ui-~,r
I
FI • I
Cl I 4 , 0
i I' l ~ [~LI A.~ [N- ?> i ! !
' l '
e,. ..
o! . ' o

o •
o '' '
I
I

IF tll-.~ t~U 'I i w-s :


'
c. ,o I F ~-~ [ Q,\) AL ~,,
'
. I
'
' . o

o
'
I

Prima di eseguire il confronto:

in A. il campo W-1 è convertito in packed

- in B. il campo W-1 è convertito in packed e quindi in


binario

- in C. il campo W-3 è convertito in binario.

17.6

La cultura è un bene dell'umanità (fantomasping@libero.it)


"T"ALSI
lGRUPPO
I"""'
IRI FINSIEL
EL I FORMAZIONE
Strutture
per l'evoluzione

Se in un confronto, un operando è costituito da una costante


immediata, questa è generata automaticamente dal compilatore
con rappresentazione:
- packed se l'altro operando della relazione è definito come
display o packed
- binaria se l'altro operando della relazione è definito
come campo binario.

Pertanto nell'esempio seguente (che richiama i campi


definiti precedentemente)
' ' I
I :

A. I 2 O1O
IF
I
f~\J~. L ~H I :
i
'

I· I
' I
I :

B. ' • o IF ; I
ui-::i
'
~Qv AL, 1:911 ' I
'
I OI • O ! I t
: I : I ; '

c. I '
' I
'I f ,
I . ~ I
W-.5
I i
.f.GV~L
, , II
~~'6: II ' i.
'
i I
' i
! ) O O
If O
I I
" ' I ; ~ : ; ' I
I I

I
'
;I
I I ,
l , I
I I ; I '
• '! ·~ ..
!
3 I 4 0 I
I I .
:
I 1 I I
; 1 .·
' : •· ' I I
j
!
! ~ '
I ' I
~ ~ J l ' :o ' i
I
II " I
t . -:

I
'
' ' t 1 : i !
3 ! • 1o I ' : I I
'
I
,' I' I,
~ .. ' o o
I I
i I, I' '
' I
I
I
I
I , ' .: ·1 j I l
I I ' 1 I
I

in B. e e. il confronto viene "e.s eguito direttamente, mentre


in A. prima di eseguire · il confronto, il campo W-1 è
convertito in p~cked. ·

4. Si esamini. l'esempio seguente e si determinino le


convetsioni eseguite da ogni istruzione

.. .. .. .. . .. ..
HOUINCl

,
tl'AGl I ISUUAl
l • I
i
3.
1 I
I

"
,. 20 ,. li •o •• IO
"
2o
~'
, o

v • 0
' '
rt w-f>A ,çz ~
' '

PIL 5~(~ i) v9·9


)
' '

• • o

' .. 't:f- w-PI} Rt:t


~ w-co ~T .
PiL lsij(5 vs~
P1C 1S ~(4 )
.
coHP - 3.
c.oH P SYli c.•.
' • o
11- w-TO T P1ç - l<:J ) 'l-z
'

' ..
I O
',. I

IL '
'

. '

' Co >tP vT E' w-T OT = LV- Pf}el-i i w- p~ Rl.Z. ' '


' • o

B. J u "' IF w-Pn Rll, LE'S.S ~~rii


,,' RDI> 1 'To w-c.o lfr.
.
> ' v
'
c. ' ' '

, ' H·ovE w- PBi~ ~ TO. -P~R è:L


'l .,'' o ""

17.7
Propneta 1tals1el S p A . L~ copie or1g1nah sono contradd1st1nte dal retino stampato in rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


A. il campo W-PARZl è convertito in packed e il risultato
della somma è convertito in formato di stampa

B. nessuna conversione
C. il campo W- PARZ2 è convertito in display
'

Conclusioni

Al fine di ottimizzare l'esecuzione delle operazioni


aritmetiche e di confronto è consigliabile pertanto,
definire i campi

· con la medesima USAGE {packed o binari)

· con segno

· con la clausola SYNC se binari (a livello 77)

· come campi binari i campi creati da programma e destinati


ad elaborazione interna, come ad esempio i contatori e gli
indici

· come campi packed tutti i campi numerici appartenenti ad


archivi, su supporti magnetici, . in input o output a
programmi che eseguono su tali campi operazioni
aritmetiche o di confronto. (La conversione da formato
display a packed, ad esempio in caricamento, o da packed a
formato di stampa, è più ·veloce della conversione da
display a binario e viceversa).

17.8

La cultura è un bene dell'umanità (fantomasping@libero.it)


1-rft.LSI
I~
EL I FORMAZIONE
Strutture
GRUPPO IRI FINSIEL per l'evoluzione

Capitolo 18

18.0

Proprietà ltals1el S.p A . Le copie originali sono contradd1st1nte dal retino stampato 1n rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


La cultura è un bene dell'umanità (fantomasping@libero.it)
"'l'"ALSIEL
lGRUPPO
I~
I FORMAZIONE
Strutture
IRI FINSIEL per l'evoluzione

FUNZIONI DELLA MOVE NUMERICA E


REGOLE DA SEGUIRE NEI TRASFERIMENTI
Il presente capitolo costituisce il completamento della
trattazione della istruzione MOVE.

Solo dopo l'esame dei capitoli 12 {DESCRIZIONE COMPLETA DEI


CAMPI NUMERICI), 16 {DESCRIZIONE DEI CAMPI DI STAMPA) e 17
{CONVERSIONI) si è in grado infatti di elencare
sinteticamente tutte le funzioni della MOVE.

MOVE NUMERICA (TRASFERIMENTI IN CAMPI NUMERICI E NUMERICI DI


STAMPA)

Quando il campo di arrivo è un campo numerico o un campo


numerico di stampa, la MOVE è numerica: l'istruzione oltre
ad eseguire il trasferimento del valore contenuto nel campo
di partenza, tiene conto di tale valore e, in base alla
definizione del campo di partenza, esegue:

- la conversione del valore da un formato all'altro se la


USAGE del campo di arrivo è diversa da quella del campo di
partenza, come nell'esempio seguente
-

I I .
r ~Jj I_ ~ L\JJ ,l I 9l i i
o ' o I I I
I I
!- l I
~5,)

li I 'I
o • o

i
!I
o • o

T"
, .•· 1
. ~~·Il j
1 -,
I . iI1
-~O
I I '

H:o.~ :~ I I • I ..
1
I I II !
I I
'' I I l1 I!
pi i ~
j 1I
11 I
3iCFj) 1 •PH.. f>·- 1~.
-.-- I
!
I ·- · . l
' olo
I:
I :: !Ji I
.!' . .I
' I
''
I

I 1' i I I I
! '
!~
I ' . :~ov
• I I
I
I
. I
I
I Ii' I.
I I
1
:.I I : ~- ~AL~ 0 ; i '
• I
I I f
I
I . '
-·coH ~{)V, .
i !I I
• '
I '
I '
I •
t 1: ~ I
I
'
I

: ;11. I. . ' I
I : 'l •1o I : I ; .:·' I I : ' I
- I I
. ! . . ! I I. ' ..I : I : .. I
I

- l'"editing" del valore se il campo di arrivo è 11n campo


numerico di stampa come negli esempi che seguono
ì
' •o I
I ;
• .o i I

.
I

; ; I
, lo:o I ~3 - .~A L~o PI e (5)
i :, ;
I I
I I ' ' ; I
' I
, I'' o
I' I
I
" . Io I 95~
I
-co ~ : p IC
:
, I• Io I '
;
I '
' • '•o
' O IO
'
I
;>~:
I
I
-~I
'
A-s ALDO p·, (_ ~~ ..
' I :I · ;
o
: '' II I I ' :
) I • '0
! .~o.V. w- ~~L~ o o. -R.1ç;. tt - Sll l- DO.
;
I Hov
....
I
.) .•:o I 1
I
I' I I
'
I

! : I

w- cpM !
I j '

-;~1r; ~ -:SB L,i>.


' I
I

! I
) I t I0

.1.io JJ : : j J I l! !
;
' °i
I '
. 'o . '
'
I l I
I
I I I :
'
i
I
I 1
I
~ --- -1 '

- l'allineamento al ounto decimale virtuale o reale a


seconda che il campo di arrivo sia numerico o numerico di
stampa.

18.1
Propnela ltals1el S p A Le copie originai sono contraddistinte dal retino stampato 1n rosso Ne è vietata la .riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


1. Si determinino i contenuti dei campi riceventi dopo ogni
MOVE dell'esempio che segue
o 'I o I
1
! II o'.. o : I f.I <_i 99,,., ~ ! ~V A'.L'.U~ ~~ • ~~ . :
o • o , f>J(> 9(3) -i , ,VA_l .V_E m.
p'1c· g(4 ,)V ~.
I O O
1 1,
1
:
' '
I 1 0 P:1:l ~i.~i.: ' : '.' ; I
I • '0 I I ' j : i I !

t I I I

I ~ : : 1 '
A. I • o !-V- I HP-1 To w- l HP - o_oT • I

' o • • I
I.
'2.
I..).
1 'J o Ho~ .E : w- 1 f<f>:G TO w- 1H_f>3 w- 1HP- ooT. i ' .I
I I

' • o i t

c. J • o Ho ve

A. W-IMP3 0012'"'2 W-IMP-OUT 12.25

B. W-IMP3 0222'"'0 W- IMP-OUT 22.00

C. W-IMP2 012

Come si nota la MOVE esegue:

- il riempimento di zeri non significativi a sinistra e/o a


destra del punto decimale quando la parte intera e/o la
parte decimale del campo d' arrivo ha lunghezza maggiore
del campo di partenza

- il troncamento a sinistra e/o destra del punto decimale


quando la parte intera e/o la parte decimale del campo di
arrivo ha lunghezza minore del campo di partenza
- l'impostazione del segno se il campo ricevente è definito
con segno o, viceversa, la memorizzazione del valore
assoluto se il campo ricevente è definito senza segno.

2. Si determini il contenuto dei campi W-IMPl e W-IMP2 dopo


la MOVE dell'esempio seguente:
J o •

~-1 .i.ti- I Hf·{ ' .


J ~ o f S~(3} .
IC
~~ . w-.I H P,2. f1 e S( 3) •·
) • o

) • o HOVE ~~tl5 .f ~. UJ- I:HP°1 w- I HP2.


• o u

I .

18.2

La cultura è un bene dell'umanità (fantomasping@libero.it)


"rALS
lGRUPPO
I""" IEL I FORMAZIONE
Strutture
IRI FINSIEL per l'evoluzione

W-IMPl -125

W-IMP2 125

3. Si esamini l'esempio seguente:

.. ..
HQUINCI ,.::

IPAQ(I l lUUAt.
1 l 4 •
z
87 •A I
12
l
,. 20 21 ,, 40
•• 12 . IO •• "
I ' I ' I I
.,?>:3:
gc5) ;I ;. j
.
·1:
o '. o

:~3: . . . . . . ! I .
I

o • o p1 .e S~(S)
. ' . •
c-oHP,~.
• ! ' : ' :

' o o
' I 0

' • o

quale delle seguenti affermazioni è corretta?


A. il contenuto di W-SALDO è convertito in ~acked

B. non c'è alcuna conversione.


C. il contenuto di W-SALDO-OUT ..·è ·. convertito
:
in display

A.

4. Quali conversioni vengono eseguite dalla MOVE


nell'èsem.pio seguente?

' • u

' • u
~1. w-co H.
' o u p3 -çp - I fj ~ I C.
'/ ) o ,;3 W-lO - I Hp~ PIC
, • o
J w-co obo
' • o ~'3
, • 'o rf.j
' u o
I
I .
I
, ' o I
, • o HO.V w oJf ro w-c. HO
l • o

Nessuna. Il trasferimento non è numerico

18.3
Proprieta 1tals1el S p A. Le copie ong1nali sono contradd1st1nte dal retino stampato in rosso. Ne è vietata la nproduz1one

La cultura è un bene dell'umanità (fantomasping@libero.it)


5. Con riferimento ai campi dell'esempio precedente, quale
conversione è eseguita dalle istruzioni seguenti?

:I .. : I : :
Ho VE ! ~- ioH·-
3 •' Io
I . ·. ·I I• I• I ! I I
I I !
!! '
I
I
I i !

A. • o o I 1 r"lff~ Te
• I
w- iolio ioo~ I HP~{.
I '
I 'I l
I
I
' ' I

·Mo I I I I .I
.I.
I
i I
I ì I
J
I' I . ' .. I
' I ;
I
I
! ·H :o~E" W- ~oH ·- I HP2. :i"'.o ~ ·o·- · , '
I I 1

i
<f4.0 I
I
I .. , I
L&>- l.O.U.0 ll(PJ.• I ' I I ' I
'
<f61C
I
I ' I I ' I
I i I I I
I i
'

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Ogni MOVE provoca la conversione da display a packed

6. Si esamini l'esempio seguente e si determinino i valori


assunti dai campi di stampa dopo il trasferimento

~~. i · ~ ' j •
•/ o•• lo

·1 : o!. l.
o; .!o
.I.
I .
J.
t ) io
I I
I 4 10

II• I o
' I
" . ;o

, .. 10

> O'O

' ' o

Il 31 •"•
) • o

• 'o o

I : : ! : : I '. '. : ; ' : I ' : : j H-'-, !!' i +1 !I Il I ! '. : : ! ! 1 !. "


I : '. ' . I I
1;
J I I • J1
1
I 1,
,
LL
;
: :, '
, i ,
i-t·j
I ;
' !
1 1 '

W-OUTl -b2. 500,25


W-OUT2 b-2.500,25

W-OUT3 -*2.500,25

18.4

La cultura è un bene dell'umanità (fantomasping@libero.it)


l"'T'ALSIEL I
& • ...,..
GRUPPO IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

7. Quali valori assumono i campi W-PAGl e W-PAG2 al termine


della MOVE dell'esempio seguente?

.. . ..
M<Wl•CI ..

l"AQIJ 111..Al
z
8A :1
. " ,. •• •• ••
'I I ::
1 2. .. • ' • 10 JI Jl H 40 441 41 11
I i . ' '
I: .. :.'
o .. 10 I I I I i ' I '
I I i : : I i I
I ! !
.. .
I
l i I

.
• t I
OI • j O
i ,:S;3; ; ~- ! P.BlH
J I
! I I I
j i
I
I: •
I •
: i : I! I
I I ! I
i ' :..e< ~ - !P l')G-;' 9 , I
I
1 I • ,)VJ! I . . . ""· • ! : t l : ' : ii ! I
I I ! I
I

II:,w- PAG~
o. • o : I : I :
I :
I :
I
•• ' . I I l i I . ' . . I '.
I '
: : . .Ho.VE . ~o 5.•.o=5 :To
I
I i
.. ; Ii
I I
:
l ! ;
I, 7'0
' . ; i:: : I I

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

W-PAGl 00205'"'0
W-PAG2 05'"'050

8. Quale sarà il valore di W-KOM dopo l'esecuzione delle


due istruzioni seguenti?

.i . • .o I
I I
I
: I Ir :I i !
I I ·-
... ll. u;-· I I

I I
I
: i ! : '
P;1~ ~fv ~( 3) 'j
I I
J<o H :

.'. l ,,·•:H.O.V.E. ' i


I I
I

. I
o I
' I I
: ! i I
!
I : ! ! : I;
i:~ : i
I
I I I

I i I i I I I I
'
.I I
I
[.
o i i : i
I
i
:
:
~: il:t> ~~~ oIH •!
! ; i

.
1 : i I i I
, ' 0

''o
I Q

I
I
i
:
; I
.. :
1
; '
.i
i.
:
I i
I
I : i
:
I
! I
I
I I
I
I :
I

:
i
I
I

!
.I

:fi.OY.E ~~ ~ TC µJ-1( ~.H. ~


. I ; ;
i i I I
' • 'o I
, t. 'o !

01'"'000 e 00'"'000

9. Con riferimento al campo precedente si esamini l'esempio


che segue:

con quale PICTURE deve essere definito il campo W-KOMl


affinché sia trasferita solo la parte intera?

, • o
• I ' •

A. ) • 'o

) • o ~* w-.~ .o H."1 f> \c.. iS.9 C3 • I .

B. • o o '{/, Il)- KO lf"1 PI C::. ~99V •

18 . 5
Proprietà ltals1el S pA. Le copie originali sono contraddistinte dal retino stampato in rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


A. (la descrizione B. è corretta ma ridondante)

10. Con quale PICTURE, invece, deve essere definito il campo


W-KOMl affinché siano trasferite solo le cifre decimali?

A. (la descrizione B. è errata perché nel trasferimento non


verrebbe impostato il segno)

11. Quale valore esadecimale assumono i campi W-COMl e


W-COM2 dopo la MOVE dell'esempio seguente?

,I'I" ' I I'



·1+ :I:
.I , ''
I ,

' ' 'l"I"


, 111w
I I :
1 I '

,!.L 1 . 11
'i.! y 11 I I ! · i I

W-COMl FlC2
W-COM2 FlF2

18.6

La cultura è un bene dell'umanità (fantomasping@libero.it)


'T"ALSI EL
lGRUPPO I~
IRI ANSI EL
I FORMAZIONE
Strutture
per l'evoluzione

MOVE TRA CAMPI DI TIPO DIVERSO

12. Quale delle seguenti affermazioni ~ corretta?


A. La MOVE è elementare se i campi di partenza e di
arrivo sono elementari
B. La MOVE è elementare se il campo di partenza è
elementare
c. La MOVE è elementare se il campo di arrivo è
elementare
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A.

13. Si elenchino i cinque tipi di campo elementare

numerico
alfabetico
alfanumerico
numerico di stampa
alfanumerico di stampa

L'istruzione MOVE consente di trasferire il contenuto di un


campo in uno di tipo diverso, come mostra l'esempio seguente
' • u

' • o
J o o ':f-l . w-:i'k P1 Pii: 9(5) \/.4LU[
J ' u 'f.'1
I '
W-DU T
' 1 ' ' •
p IC ;X( 5) .·
J • o I

J • o I
I .
TO . LV- IO vT •
) • 'o
l . .
• o o

14. Quale tipo di MOVE è eseguita nell'esempio?

Alfanumerico. Nella MOVE elementare il tipo del campo di


arrivo determina infatti il tipo di trasferimento

18.7
Proprieta ltals1el S p A . Le copie or191nal1 sono contradd1st1nte dal retino stampato 1n rosso. Ne è vietata la r!produz1one

La cultura è un bene dell'umanità (fantomasping@libero.it)


15. Quando il campo di arrivo è alfanumerico o alfanumerico
di stampa
A. il trasferimento è di tipo •••
B. se il campo di partenza è di lunghezza minore del
campo di arrivo, i caratteri eccedenti del campo di
arrivo sono riempiti di •••

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A. alfanumerico

B. spazi

Quando il campo di arrivo è alfanumerico o alfanumerico di


stampa se il campo di partenza è numerico con segno, ne
viene trasferito il valore assoluto.

16. Qual'è il contenuto di W-OUT al termine del


trasferimento?
..
i o:' lo l j : ' ..
I I
I• I ! I I. . I
ssc4' )'I.
I I I
I ' ' ' t ~
I

ti I
i '
,i · ~:~: ~; .. ! I I' I :
ij
I I

;
o • o UJ- .CD
:
i P.' '.L I IVA L1V.E I
!
I
I o 1.1 o

!
w-oo
.,
. I . . rr I
!
I
~l .l. x/ 6.) I I
.

'
I

i i
' ,

I I I 1
I I
• j
I
:
! I !
0 • I Q I
I: I I
I ,0 0 I I
~ :
'· i I
'
; ; I
! I
I
I I
'
;
' , o I H.o v.E µi- coH To w-o llT • :
i
; i I
I • o

lOOObb

In un campo numerico o numerico di stampa, devono essere


trasferiti solo valori numerici.

L'esempio seguente è errato

' • o
, o o
'tl: W-c.o D ? I C .9( 5).. . . . :: :::
;,i , o
1:1. W-DE se:~ P I C. X ( 5). . IJ AL. U f :~.P.a Ct.
I
, '. o I ...
,I. t{OVf R, . To u; -l.Ot> •
, • o '
~- lt>ESC.
0 I

18.8

La cultura è un bene dell'umanità (fantomasping@libero.it)


"T'"ALSIEL I FORMAZIONE
& lGRUPPO
I "'""
IRI FINSIEL
Strutture
per l'e,oluZ1one

A seconda del compilatore, un errore di questo tipo può


essere rilevato al momento dell'esecuzione del programma (e
il programma, in questo caso, va in AaEND) o può non essere
rilevato (il campo ricevente, in questo caso, contiene un
valore imprevedibile e comunque errato).

Nella tabella in Fig. 18.1 sono indicate le MOVE accettate


dal compilatore IBM OS/MVS COBOL 5740-CBl Release 2.4.

In esecuzione tutte le MOVE vengono accettate, quindi


bisogna mostrare molta attenzione ad un corretto uso delle
MOVE numeriche per evitare errori incontrollabili.

18.9
Propneta ltals1el S p A .. Le copie originali sono contraddistinte dal retino stampato 1n rosso Ne è vietata la r_1produz1one

La cultura è un bene dell'umanità (fantomasping@libero.it)


MOVE ACCETTATE IN COMPILAZIONE

CAMPO DI ARRIVO

CMoWO EL:EMENTARE

o
8
ti)
o
x < ~
~o ~
8
8
ti)
H
Cl) A
e o o
o o H o
H o A H
~
o

i o o

i
H
o o
o
! H H
'1::

~ ~ I ~ ~

CAMPO COMPOSTO

ALFANUMERICO
<
t'1
~
~
g..
~ ALFABEl'ICO
H
A
o
I
~ NUMERICO
~o
~
o
I,
•'
NUMERICO DI STAMPA
'(~lllMvJ.N"'.I

ALFANUMERICO DI STAMPA

Fig. 18 .1

Le caselle sbarrate corrispondono a trasferimenti non


accettati dal compilatore.

18.10

La cultura è un bene dell'umanità (fantomasping@libero.it)


l...ftLSIEL I
& I~
GRUPPO IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

Capitolo 19

19.0

Propnetà ltals1e1 S p A Le copie onginah sono contradd1st1nte dal retino stampato •n rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
La cultura è un bene dell'umanità (fantomasping@libero.it)
...ALSIEL I
& lGRUPPO I~
IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

L'ISTRUZIONE WRITE PER LA STAMPA

I files di stampa:
- hanno lunghezza fissa di 133 caratteri di cui il primo non
viene stampato e non può essere utilizzato essendo un
carattere di controllo
- se il file viene prodotto su stampante non è necessario
specificare il bloccaggio a livello di schede controllo
(JCL)
- se il file viene prodotto su supporto esterno (nastro o
disco) per essere poi stampato successivamente (per grandi
moli di dati) bisogna specificare il parametro DCB sulle
schede controllo ottimizzando il bloccaggio in funzione
del tipo di supporto.

Si esamini l'esempio seguente: .


-llOUl•CI -
. ..
,.;
IPAOU J4HAtAL
I
• •o/, o
....
z
o
O 1 I
: I
• 12 •• •• •• . .. .. I ! .., .. •• 12 .. •• 1Z
I

11 'fot~
1
ilI I -i I· ~ I!!
[g1~1~~ '~J
I i
I
11 ,.
I t·
I o • o
!èr~ .0!1 ~ 1-!I
t_
. 1I I iJ
I
I ·-
I
1-1 I 11
! .I
iIi i l _i I.. ·11
. I I
I II !· 11 [ !
II 11 ·1I j ·11 ·
I
(;
ol e o h _:lii

I+ ·.
!
1 i- i ~
II
I iI i• .; ~Kl
. .!P I I I . I
l: Il I ' I
II .I Ii 1I I I

~1~E I .I I I [I
~ :~Trflh I 1 l1
l.
I I 7 0 !
I
,. i
'.LJR6~ 11
I I i
I !!
I
l410 !I
I
t
'
C.!oR..O ! ~fii HDll~ D. ! 1.. l ! i 11I iI
I
i I
i iI:
~! : ~s!:~lf PA1
1 I
I
I
,J, ;o
. ' I
' ' ' i I;
'.
I
,
. '
I
I

I I .

!
I

P. 1~.
''
)( ( ..(~ ~>..: ' I Ii
I
l I
I
i ' j

'
I
'

j '. :. :
' I
I
: ·!+ , j ,·'S.1<1iP3 ' !I i~
~o:~.'1(1 ;HG:- i.s:r ·
' I ~
I o:rt.
I
'
I I I
I
: ! !
; II i iI
' I ! I
I
' o o
{ P.
~
A~~ : ~:~cT
I
!
!
Ii 'I
I
'I '
!I i
I' I
;
I

..s·K:1'.P . I
I I I
~:. i I I
I i !
' i' i • '. I I
' I
I
I .I
~{
. ..
W- !:>T ~HPA •'
'
I
I '
!
i!: I i
i I I ! : I
I

I
II :

11,.),: I F:1[LL f.~


' I I I ' I I I I I I

I
I
: : I : : I

.. .
I ' ; · Jo ' I , I
I: :I ' ' ' I
I
:
, •• o '
'
II ..' i
I
PI~ ')( .' I I
. ' ' . ; I I :
2 11 1 0 1
~3 W-ST MiPA ·COO Pie 9t4) ' I I

pfict .
, I'
I
.. , I :

!
) I 0 10
I I · (;3, · FiiL.LER.°
.
:
I
: I
!
; I
I
Pie 'X ( S) Vfi.L ~ · f ·~

~->J ~HP~ - '. 1~.P I


I I ' '

' > , 'o I , ,,~I I


,
i p1'- t,{6) , .~i..
I
I

I
, .• o
: I. :, i I
I ' ' '
I I I · ·!· ! : :
i
J ~ ' i : : :
I >' • • o '
I
I ,. I I I
I
I i ! ' I

. .'
I
'I ! :
l
I
'I I

II I ' I1 l I
I I I
I I
' I
'
! '• IJ•o ..10 !
: ;
I
I
: : :
I
: I :
;
I i I
I
I
;
I I
I
! I I
I

'j
I ! I I
I I
'

Nel campo W-STAMPA vengono trasferite, da programma, le


informazioni che si vogliono stampare sul tabulato.

19.1
Proprietà 1tals1el S p A ~e copie originali sono contradd1st1nte dal retino stampato 1n rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


,,,.----~

,L'istruzione (WRITE ADVANCING ~


---
L'istruzione WRITE se il file è un file di stampa, provoca
la stampa di una riga, e quindi l'avanzamento della carta e
il suo posizionamento sulla riga successiva.
Tuttavia, quasi sempre, i tabulati richiesti non prevedono
la stampa continua su tutte le righe, ma spaziature, salti a
pagina nuova, ecc •••

Utilizzando la WRITE, in questi casi, si sarebbe costretti a


registrare una riga di spazi per ogni riga che non deve
essere stampata, rendendo più lenta e onerosa l'esecuzione
della stampa.

L'istruzione WRITE seguita dalla clausola ADVANCING consente


di controllare il posizionamento verticale della carta,
sfruttando anche le caratteristiche fisiche della stampante,

L'istruzione, provoca la stampa di una riga ed un


determinato avanzamento della carta.

Il formato è il seguente:

WRITE nome record FROM nome di campol

BEFORE nome di campo2 LINES


ADVANCING costante LINES
AFTER nome mnemonico

La clausola ADVANCING deve essere preceduta dall'opzione


BEFORE o AFTER. Con l'opzione BEFORE il record è scritto
prima dell'avanzamento della carta, con l'opzione AFTER il
record è scritto dopo l'avanzamento della carta.

La carta avanza di un numero di righe pari al valore


specificato dopo la clausola ADVANCING con nome di campo2 o,
in modo immediato, con una costante numerica. In entrambi i
casi il valore deve essere positivo e compreso tra O e 99.

Come si nota, la clausola ADVANCING, può essere seguita


anche da un nome mnemonico; questa possibilità sarà
illustrata nel paragrafo successivo.

Si esamini l'esempio seguente:

. ..• z' . . .. .. .. .. .. .. .. ..
&IQUl•C l
ou .
,
lf'AOll j&llllAL I
•• ,. ,. •• "
' " JO

IP~.5 •
rr UJ- R.1 e~ P.1.c. 9. IJALV e: ;i..
..
"' . 11

n • ~· I

u • I

. o o
I

UJfl 1 E STANP A~ ~·i.OH w- sTAH IPfl


. w- R, I (;.A Hfs,
. .' ." AFTE R, fl DVRH t1 H6 LI
- ·- . - --
19.2

La cultura è un bene dell'umanità (fantomasping@libero.it)


"W""ALSIEL I
& lGRUPPO
I """'
IAI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

La riga di stampa viene scritta dopo aver eseguito


l'avanzamento di due righe.

La stessa funzione può essere richiest~ con


-·-.-
'
'
' ..
• o

'
'
WR.I TE :~rn~HP Fl1
,,
F~OH w- ~TJ\H PA
~fil f R. AC>vAIJ le;/~ . ~ LIN ES .•
' o o

' ' . !
.
! :
I
'

1. Si esamini l'esempio seguente:

I i:
i . ' I

UC>A ~.
i ..

i .i l!!
: I
I
I

I
I

'iI i . I
' I
I I
I
I

I""·
' ' I 1
~ l ' 4

> 1• 10
I
io
;
II I !

.

I
I I

I : ' i)
'

I,
I
I i i
!
!:
I
I
'
t :
I
I .
I . !
I . '
i I I I ' • I I I
3 1a 10 Jl . I I f I

• •o IO
I I ! : I
l
I
I I l ! . I I I
I I
I . '
• I' I I I t • I
I I
i Ì 1 I

1
&IOUlllCI

lrAOll &UUAL
J • •
.,;:
•8
1 •
A ...,
. ,. 20 •• u . .. 11

: J 1 ; • ' . ' I . I I I I :
j • ' • '
I ' I
I
. I :i! !: I ;
I

:1°
~: ~·
'
. •: I
I I
• I I '
! ' 1 ' '
OI • ; O
. l.L/...éf i ! ' : j
' I ;
I I! I.
QI . 0
F.1!òi. di i ' I. '
I! 0 : ~ : IL; Lf~ ;
I
I
' ' u fl/.-'lEf. • 1 :
' • o

' • o

' • o

' o o

' ' o
' • u

1 •• o
. I , I ,

, '. o
: ..
l ••

) ' o I : . . I .
J • o ' .
; I
J • o w- ~~TATA
' . • , I
>.. o . ~- f I~ LI H.E S> ~ ..
• o lo : · · ·tfov·
w- f..IG~
W- R.1Gll . .l 1.HES •

19.3
Propneta ltals1e• S p A Le copie ong1nalt sono contraddistinte dal retino stampato in rosso Ne è vietata la ri produzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


prima dell'esecuzione delle istruzioni la stampante è
posizionata sulla prima riga del foglio. Si determinino le
righe su cui saranno eseguite le due stampe

5 e 11

2. Si esamini l'esempio seguente e si determini il numero di


spaziature esistenti tra una riga stampata e la
successiva

. . •• .
I
!5:.
11 I
~- Ii
11
II
11
I! iI; I: ! I

I I I!
I, I :
I .

! I : ' I..I ' I


' '
!I 11 ii
I! 1
I
Ii I '. i : i I
I I

3. Se, nello stesso esempio, si sostituisse l'opzione BEFORE


all'opzione AFTER, si otterrebbe la stessa pagina del
tabulato?

No, con la AFTER è eseguita la stampa in riga 6, 11, 16,


mentre con la BEFORE verrebbero scritte le righe 1, 6, 11,
16, ••. , e cioè una riga in più.

4 . Si scriva ora l'esempio, · in modo tale da ottenere una


sola spaziatura tra le righe scritte, utilizzando
l'opzione BEFORE nella WRITE ADVANCING
--.---- ·. ---
T I" Ij 11 i I
i:
I I I' II : : I
I ' •1' . :.. 1 I
i
I i . I II
I
I I' I
, I, • I I ' I i I
I I i I I : I ' i
! 1
I I i I

I11 1 : l I
. ' .
I : : I
!i
I:
I iI
I

lII
' I ' I j
i
I
I

!
! r 1

i
:i I I
I I I I I
o
: I I i ' I
! i. iI! I ; i
l :I
I : . ' : : I I 1 I I I
Il
l
i !
, I
I ' ' ; I I
I
j I Ì
I I I
!II
''
I

! I
' i I I I I
1
1

I; !I .! II !
: : ; iI : I I i Il !' I: II I :

' '
I I'
I I
I
II :' I :
I
I
I I
I
I
II
I I I
' I
I I : I
11 '.
I 1 : I! I

19.4

La cultura è un bene dell'umanità (fantomasping@libero.it)


l .....ALSIEL
I~
I FORMAZIONE
Strutture
GRUPPO IRI FINSIEL per l'evoluzione

I : '
I , I•lo
, J. ;o i i· Ho·v;E
I
I I ' ' . . ' ' .
p.
! !
i
'
1 l I
;
i
I '
II
I

I i il. :r;o. ~- .~ IGHf. .µi- S/t.LT


' I: :
i I
I J
i
· o •o
I H:0I- ~.3é-~ 1.c~o
- • • J I
i .:.
l ! I
I; ; !I II
I I I
: I
I
.
:61 I I '
I

w-5~ fl'_Tf:~
I I I ;
)I' I O
. I .... . PE':R.F oR.,H A'1 -5 fil "J"O
1 ·I ·Fr · LTO GIÙ. : .. I

I
I
! I I
I
'
I
'

FH :- ~ AL.TO rx.. . ' I ' I


J • ,O
I I, I !:: "f:R ~u '

!I
3 ~ eIo
I E'. i ;f fiBoR
I ! ' l-l!~ I! 8[fo C>°-i. . FR-0·1-i UJ- Tfl60 2D, I
! : ;
!
I
' i

I ~· !,ù;
r· ' i.u I
I
- : ~, (7 H~. ~' . I I

:I!
. !I : :"ADP R.[ : H,C 6- ADV~ I }j : I I '
AL T;o .I ..
I I
I i ' I
~ 'io
I
• o o I w-~ I i
I ct iZ O I ' k:To1 1,0 I H.l >f'5 3.'-~.c tC.I. O I ! I
II
I i
I
~ ! ! I I
I
I
;
114:0 i I I
I I I i ' '
I
I
I ! I
I
I
i I'
i Ii I

! 14io
'
II I
I

I
I
; '
I
' ' ' I'
I
I : I I
'
I

5. L'esempio seguente è corretto?

l
HQUUICl

! "AGII l lUUAl
J • I
..
z
8
1 I
A .. .12 20
•• . •• . u .. •• .. .. 12

o: , I° I
I I I
I
I
' i I I J I
W-R·I ~A
I
I I
o 1• ' o
o'• •o
1(j .,· i '
I
'
I

' I
I I • I P.1.F . xx.•, I

j
; I I
I I
;
I
I

I :

I
I • '
•'l ' i '
J

;
I
oj . o
I:010
I

l !
~e, :r r-: I
STAHf' A-1, f(?oH ~-1 Ef>_'-r .FlTA. .
0

II
'
I
'
' ;
I
1

; I
I
I : ' i I '
I
I
~FTrR AO.v1'N iC I .H6 ..
' W- ~!6-1+ LI"~~.
: :. . ... ·.· ... i , I ! i
I I . :I 0
'
I I
'
I
: I I ' I
!

No, il campo W-RIGA non è numerico

6. Si es'amini 1 'esempio seguente:

-- - --
' • o
' • o i
I
WR.1 TE STRHP A-1 'tRoU w-~ 16A
' • V
; I
: BEFD Ré Al:H' A UC/ HG- ~ Le /<leS.
J 0 V
I ..__ __ .

quale affermazione è corretta?


A. viene scritta una riga, e quindi la carta avanza di
due righe
B. viene eseguito l'avanzamento della carta di due righe
e quindi la stampa

A.

19.5
Proprieta 1tals1el S p A Le copie orig1nal1 sono contraddistinte dal retino stampato 1n rosso Ne è vietata la Pproduz1one

La cultura è un bene dell'umanità (fantomasping@libero.it)


7. Quale dei seguenti valori deve essere specificato con la
clausola BEFORE ADVANCING per ottenere fra due righe di
stampa 3 spaziature?
A. 4

B. 3

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A.

Si noti che:

l'utilizzo della WRITE ADVANCING impone di riservare il


primo carattere del record di stampa al compilatore che lo
riserva al carattere di controllo per la stampante

- l'utilizzo della WRITE ADVANCING ~ della WRITE sullo


stesso file ~ incompatibile

- la WRITE equivale ad una WRITE BEFORE ADVANCING 1 LINES

- dopo la WRITE ADVANCING di un record, come dopo ogni


WRITE, il record scritto non è più disponibile al
programma nell'area di output a meno di utilizzare una
propria area di output in WORKING-STORAGE.

Il numero degli spazi intercorrenti tra una riga e l'altra


a parità di numero di righe di spaziatura specificate nel-
la opzione AFTER ovvero BEFORE ADVANCING, a volte dipende
dal tipo di compilatore su cui si lavora, quindi si
consiglia di effettuare una prova prima di minutare la
versione definitiva che gestira' il file di stampa.

19.6

La cultura è un bene dell'umanità (fantomasping@libero.it)


cl:) l....ALSIEL I
I~
GRUPPO IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluZtone

Salti a pagina nuova

Si è visto che, specificando con l'istruzione WRITE


ADVANCING un valore compreso tra O e 99 , si ottiene , prima o
dopo la stampa della riga, il numero di spaziature
corrispondenti.
Le spaziature sono ottenute facendo avanzare la carta del
numero di righe richiesto.
In questo modo tuttavia non si può richiedere la funzione
automatica di salto pagina, molto utile in tutti i programmi
di stampa .
Questa funzione si ottiene associando un nome mnemonico al
nome di funzione corrispondente al salto a pagina nuova. Il
nome mnemonico va specificato nel paragrafo SPECIAL-NAMES
della ENVIRONMENT DIVISION. La funzione del salto pagina,
nei sistemi IBM-370, corrisponde al nome di funz i one COl.

Nome di funzione Funzione


COl salto a pagina nuova
Fig. 19~1

Si noti che, infine, l'uso di nomi mnemonici per un file di


stampa non preclude l'uso dei nomi di campo dopo la clausola
ADVANCING.

8. Si modifichi l'esempio che segue:

' ' o
I - -- --.
c:o:l4 F ( 6-U R~TIO~
I
• o !>E C.T 10 lff .
'
' • o 5 /(I p~
' • o '.SPEc, 1+ L - HAtf E ~ .
J o o
I
· ci-1. I~ tf~W -P~G E .

.
I
J , o
\
• o

>·• (;
ti I.V-
I
.. HV ti
I
p I c. 99 VAL. LI t 1.
J • I• WR..IT [ : s ITflHP fH f~OH w- Tét:;; ~TA
• o o I ~i=rr e
~ D·V~H i1HG IH E: W-f>R :;.r.
:

+2 o I

I
I
I
u)li lT C
. ~ irRHP A1 f Rott w- #(l G.A -GEtf
:

4 '1 :0 ;

"Es·.
:
~ FTé ~ w- 11U·H '-' i I ;
H<:l I AOv IHI c. I HG
Alt 11•tlt()ltoA . ......

19.7
Proprieta 11als1el S p A . Le copie originali sono contradd1st1nte dal retino stampato in rosso. Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


in modo che il record venga scritto in riga 1, 5 e 7 di
ogni ~gina:

,•o ! ' ;

I
I I i
I ' i
I ' I
, I• I I I iI !: I
I
I ' '
'
'
I I
I
' ; I
I
!o
II I I

,i i Ii ' I I I I I
I ' i '
';
I '
i
i
o o ' I
' ' I I
i I II I
. I' i
I
''
i
> J, I o I ! i
Ii I
I
!I I I I
' '
I i :
'
i '
! :
',.!• i ! i
I I
' I
I
I i
I I
I II
; ;
I I , t ••o
I

'!· I!'
i' I
i I
i I
I
I ' ! I ' '
'
I I '' :
i
I I
'' , 1
I I ' '
I I !
I
I ! I I ' : '
• Io I o , I
I ' ; i I ; I !

I
' I' I I I
i
I .i i
I
i
i :
II
!
I ' I
I
I I
I I
I
!
:
.' 1 I
I
i

! I
' !
I . I
' I . : :
' I I
I
' I

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

I . •:, 1· I i j ! ; I I I I i ! I

t I Q i .. I 0
I I
I

I I i : I I ' '
1. 1o .: ' i : I i' i
o
]I I I

,
I
I •,' •i,. II I ; I iI j ! 11 l
I ..
I I

'i io ~ i; i
l I
I O I I 1 'I ' '
! l I:7;0 1: 1
,,I •
I :
i i
: I I
I
1
4 O
! :I 1 I! !
: i
II I 6 10 I '
i '
:i I l ' ! 1 i
., I :
:I l • 10 I ' I i I
:

I
I
I
: .
I '
I I

I
5 TfiHPIR~ LV-~•GB
1
, ... ' o . UJR1 TIE F'Ro,. I
L I

'I • o '
1
• • • Al=:T r R. A~vAHk .1 Hb.
• • • f
W-NVH L1'4ES. '
1 t O I ' '
. - ·- ----~~.......J...~..t..... ....... - _....._ ~ _ _.;,__ __a. - .....:.. L- • I

9. L'esempio seguente è corretto?


I o 1 10 I
I I . 1 I ' . ! . . , . , . . I
' . i · 'i I
O • •O
F.ti STAH ~A I ..
I
o • ,g I • LAe, l. t GOR '
' 'I
. I .
I O I O
~TF1H PA-f
• • o SI( IP 3 . .
i ..
:o!lK I:HG.- s~r:o~ A&E ECT I o tt.
..
' , o
i
51< IP i

." ..
. o

rr . w-.->A L.T o I <. ~ : ·v L.V ·5.. . 1


'f:f VAL .rJE : '. Pie X(36)


,...
,,
o
I"
.. .
R.1 A
W-

I
. ..
I . .
E/_E CO Al I !>E V/~1 O 1H ."ST~l:Rtt:':~ . ! . ! ..
I

, • .• I •
I
I '
~ .
.

,•• I UJ~ITG . IHf PA1


,•• . . . . . AH f R fHH1;} ~IHfS •. : .
I
..
' •• • 1 .
'

19.8

La cultura è un bene dell'umanità (fantomasping@libero.it)


1-rALSI EL I
& I """'
GRUPPO IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

No. Il contenuto del primo carattere si perde in quanto


viene riservato al carattere di controllo

10. L'esempio seguente è errato?


f 1· . :- i li. Ì i , I , I : I !

l
I
, 7 ,0
I I I
J , : • Io f.'l! : :,u.i-. ,1ivi H-; ! ;I 1

I
' I
. i
I
I
'
I
I

I
P. t~. :g. viLuE ~.
I I I !
I I I
I t
' I•1°
L
I , I I ' I I l. '
;

f
I
:> 1 1 0
I
i i ' wè1 ~ E. i~v ~HPA--1. :F~ioH. :wW-Hi>M.
I' I: ' RtTEf
-R ,<;.:A.
Al>V'AHCll N6
I
I
: , I
t :
I
:
I

I,
I ; I ' I

I I
II
' I ' I I

No

11. Con · l'istruzione dell'esempio precedente l ' avanzamento


della carta:
A. precede la stampa della riga
B. segue la stampa della ·riga
C. non c'è avanzamento

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

c.

12. Cosa provoca l'istruzione seguente?


HOUU•Cl

.'
IPAOll llUUAl
I
'
o o
z
•,•
ou.

"• . .
, ,. ,. ,, .. . .. . .. .. •• .. .. "
. I
I. ' !

•.
o o SPfll~l- ~/HiE ~ -
'
o
:i (.~1 tS fAG - tf UD IJA.
n

"o o
•o
i
.
I

l.U~l Tt T RBE ~1 e U.OH w- 1ABE k~


I

, ,r:}fT.l ef. DllAI e_ I HG f>A 16- "!U O\JR.


.
u
'
o
' -· -

Salto a pagina nuova e stampa del record TABERRl sulla prima


riga della pagina nuova.

19.9
Proprieta ltals1el S .p.A Le copie originali sono contraddistinte dal retino stampato in rosso Ne e vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


La cultura è un bene dell'umanità (fantomasping@libero.it)
l....ALSIEL
I #0-1'.
I FORMAZIONE
Strutture
GRUPPO IRI FINSIEL per l'evoluzione

Capitolo 20

20.0

Propneta lta,s1el S pA Le copie originali sono contradd1st1nte dal retino stampato 1n rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


La cultura è un bene dell'umanità (fantomasping@libero.it)
l "T"ftLSI
I -"""'
EL I FORMAZIONE
Strutture
GRUPPO IRI FINSIEL per l'evoluZ1one

LA FUNZIONE TRACE E LE PSEUDOISTRUZIONI

Nel presente capitolo sono illustrati alcuni comandi,


previsti dai compilatori dei sistemi IBM 370, che forniscono
un ausilio:

- nel debugging del programma (READY TRACE e RESET TRACE)

- nel facilitare la lettura del "listing" del programma


(pseudoistruzioni EJECT, SKIPl, SKIP2 e SKIP3)

- nella scrittura e nella manutenzione del programma


(pseudoistruzione COPY)

Si ricorda che le pseudoistruzioni, a differenza delle


istruzioni, non sono tradotte dal compilatore in istruzioni
eseguibili del programma oggetto, ma richiedono funzioni
specifiche al compilatore.

I comandi READY TRACE e RESET TRACE

il comando READY TRACE abilita l'invio sulla stampante


di sistema del nome di ogni ·p aragrafo o sezione (nome
di procedura) cui viene ceduto il controllo durante
l'esecuzione del programma.

In questo modo è possibile, in fase di prova dei program-


mi, .controllare la sequenza dei paragrafi esegui ti.
Il comando RESET TRACE disabilita tale funzione.

Il formato è il seguente:

READY
TRACE
RE SET

20.1
Propr·eta 1tals1el S p.A Le copie originai sono contraddistinte dal retino stampato 1n rosso Ne é vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Si noti che:
- il comando READY TRACE può essere inserito in qualunque
punto della PROCEDURE DIVISION e deve essere l'unica
istruzione della riga
- la funzione può essere abilitata (READY) e disabilitata
(RESET ) in più punti del programma
- è consigliabile limitare l'uso della funzione alla fase di
prova dei programmi; il suo utilizzo indiscriminato può
generare infatti un volume notevole di stampa
- se lo stesso paragrafo è eseguito consecutivamente più
volte, viene stampato il suo nome una sola volta seguìto
dal numero di volte tra parentesi.

Di seguito è riportato il diagramma di flusso di un


programma. Al fine di controllare i passi di esecuzione di
una sua parte, vengono inseriti i comandi READY TRACE e
RESET TRACE nei punti indicati dalle frecce.

Segue poi la lista dei paragrafi nell'ordine in cui sono


stati eseguiti.
Come si nota, al blocco 30 corrisponde il nome di procedura
PP-30-INTR, al blocco 40 il nome PP-40-INTRORD, ecc •••

20 . 2

La cultura è un bene dell'umanità (fantomasping@libero.it)


I "ALSI
""""
EL I FORMAZIONE
Strutture
GRUPPO IAI FINSIEL per l'evotu21one

10

ORDISK
'20 ____ _,
ORDINI
30

40

50 90 110 130
----~

60 70 ·.
'----~
. .·. . .

. 80

/ 120

140

20.3
Proprietà ltals1el S p A Le copie or191nah sono contraddistinte dal retino stampato 1n rosso Ne è vietata la nproduz1one

La cultura è un bene dell'umanità (fantomasping@libero.it)


PP-30-INT~ ,PP-40-tNT~O~O ,PP-QO-T~O~O ,PP-100-FI~T~ORO 1PP-40~INT~ORD ,PP-90-TRORD ,PP-100-FINTRORO ,PP-40-INTRORO ,
PP-QO- TRORO ,PP-loo-FtNTRORO ,PP-40-JNTRORO ,pp-qo-TRORD ,PP-l~O-FINTRORO ,PP-40-INT~ORO ,PP-90-TRCRD ,PP-100-FI~TRORD '
PP~40-tN~ORO ,PP-90-TRCRD ,PP-100-FINTRORO ,PP-40-INT~ORO 1PP-50-INTRAG ,PP-70-TRAGO ,PP-90-Fl~TRAG 1PP-lOO-FINTRORO ,
PP-4~-INT~ORO ,PP-50-INTRAG ,PP-60-NEG ,PP-80-FINTRàG ,PP-100-FINTRORO ,PP-40-INTRORO rPP-90-TRORO ,PP-100-FINT~ORO ,
PP-40-INTRORO ,PP-90-TRORO ,PP-100-FlNTRORO ,PP-40-INTRORO ,PP-90-TRORD ,PP-100-FINTRORO ,PP-40-INTRORO ,PP-90-TRORO ,
PP-100-FINTRORO ,PP-4-0-INTRORD ,PP-90-TRORO ,PP-100-FINTRORU ,PP-40-INTRORD ,PP-90-TRORD ,PP-100-FI~lTRORO ,PP-40-INTRORO t
PP-90-TRORD 1 PP-l10-Ft~TRORO ,P~-40-INTRORO ,PP•90-TRORO ,PP-100-FJ~TRORD ,PP-40-JNTRORD ,PP-90-TRCMD ,PP-100-FJNTRORO t
PP-40-INTRORO ,PP-90-TR~O ,PP-100-FINTRORO ,PP-40-INTRORO 1PP-90-TRORO ,PP-100-FINTRORO ,PP-40-JNTRORO ,PP-50-JNTRAG ,
PP-60-NEG ,PP-80-FINTRAG ,PP-100-FINTRORD ,PP-40-INTRDRD ,PP-90-TRORO ,PP-100-FINTRORO ,PP-40-INTRORD ,PP-90-TRORD ,
PP-100-FINTRORO ,PP-4-0-INTRORO ,PP-90-TRORO ,PP-100-FJNTRORO ,PP-40-INTRORO ,PP-90-TRORO ,PP-100-Fl~TRORO ,PP-40-lNT~ORD ,
PP-50-INTRAG tPP-70-~AGD ,PP-80-FJNTRAG ,PP-100-FINTRORD 1PP-40-INTRORD ,PP-90-TRORO ,PP-100-FINTRORO ,PP-40-INTRORO ,
PP-90-TRORD ,PP-100-FINTRORO ePP-40-INTRORO ,PP-90-TRORO ,PP-100-FINTRORO ,PP-40-INTRORO ,PP-90-TROltO ,PP-100-FJNTRORO t
PP-40-l~TRORO ,PP-QO-TRCRD ,PP-100-FJNTRORO ,PP-40-INTRORO ,PP-90-TRORO ,PP-loo-FJNTRORO ,PP-40-JNT~ORO ,PP-90-TRORO •
PP-100-FINTRORO 1PP-40-INTRORO ,PP-90-TRORO ,PP-100-FINTRORO ,PP-40-1,,TRORD ,PP-90-TRQRO ,PP-100-FlNTRORO 1PP-40-INTRORO t
PP-90-TRORO 1PP-lOO-FINTRORD ,PP-40-INTRORO tPP-QO-TRORD 1PP-lOO-FINTRORO ,PP-40-INTRORO rPP-90-TRORO ,PP-100-FlNTRORO t
PP-40-INTRORD 1PP-90-TR~D ,PP-100-FINTRORO 1PP-40-INTRORO 1PP-90-TRORD ,PP-100-FINTRORO ,PP-40-INTRORO ,PP-oO-TRORO ,
."'o
.c.
PP-lOO-FINTRORD ,PP-40-INTRORD ,PP-90-TRORD ,PP-100-FINTRORO ,PP-40-INTRORO ePP-90-TRORO ,PP-100-FINTRORO ,PP-40-INTRORO ,
PP-90-TRORD ,PP-100-FINTRORO ,PP-40-INTRORO 1PP-90-TRORO ,PP-100-FINTRORD ,PP-40-tNTRORD ,PP-90-TRllRD ,PP-100-FINTRORD ,
PP-40-INTRO'O ,PP-90-TRCJtO ,PP-100-FINTRORO ,PP-40-INTRORD ,PP...,qO-TRORO ,PP-100-FINTRORD ,PP-40-INTRORO 1 PP-90-TRORO ,
PP-lCO-FI~TRORO ,PP-40-INTRORO ,PP-90-TRORO tPP-100-FINTRORD ,PP-40-INTRORO ,PP-90-TRORO tPP-100-FINTRORD 1 PP-40-INTRORO t
PP-90-TRORO 1PP-lOO~FI~TRORO ,PP- 40-INTRORD ,PP-90-TRORD 1PP-lOO-FINTRORO ,PP-40-INTRORO ,PP-90-TRORO ,PP-100-FINTRORO ,
PP-40-INTRORD ,PP-oO-TR~O tPP-100-FtNTRORD 1PP-40-INTRORO ,PP-90-TRORO ,PP-100-FINTRORO ,PP-40-INTRO~O ,PP-90-TRORO ,
PP-100-FINTRORO ,PP-40-INTRO~O ,PP - qo-TRORO tPP-100-FINTRORO ,PP-40-INTRORD ,PP-90-TRORO ,PP-100-FINTRORO ,PP-40-INTRORD t
PP-,Q-INTRAG ,PP.J,0-NEG tPP-80-FINTRAG ,PP-lOO-FINTRORO ,PP-40-INTRORD tPP-50-INTRAG 1 PP-~O-NEG ,PP-80-FINTRAG ,
PP-100-FINTRORD ,PP-4-0-INTRORO ,PP-90-TRORO 1PP-100-FINTRORO ,PP-40-INTRORO ,PP-90-TRORD ,PP-100-FlNTRORO 1 PP-40-lNTRORD t
PP-90- TRORD tPP-100-FINTRORO ,PP-40-INTRORO ,PP-90-TRORD tPP-100-FINTRORD ,PP-40-INTRORD ,PP-90-TRORO tPP-100-FINTRORD ,
PP-4C-l~TRORD ,PP-90-TRORO ,PP-100-FI~TRORO ,PP-40-INTRORD ,PP-90-TRORO ,PP-100-FINTRORD ,PP-40-JNTRORO ,PP-90-TRORO ,
PP-100-FINfRORO ,PP-40-I~TRORO ,PP-90-TRORO ,PP-100-FINTRORO ,PP-40-INTRORD ,PP-90-TRORD tPP-100-FI~TRORO ,PP-40-INTRORD t
PP-5C-INTRAG ,PP~O-NEG ,PP-80-4=lNTRAG ,PP-100-FINTRORO ,PP-40-INTRORO ,PP-90-TRORO ,PP-100-FINTRORO ,PP-40-INTRORO'
PP-90-TRORO ,PP-100-FINTRORD ,PP-40-INTRORO ,PP-90-TRORO ,PP-100-FINTRORO ,PP-40-INTRORD ,PP-QO-TRORD ,PP-100-FINTRORD •
PP-40-INTRORO ,PP-90-TRORD ,PP-100-FINTRORD 1PP-40-INTRDRO ,PP-90-TRORD ,PP-100-FINTRORO ,PP-40-INTRORD ,PP-50-INTRAG t
PP-70-TRAGD rPP-80-FINTRAG ,PP-100-FINTRORO ,PP-40-INTRORO rPP-50-lNTRAG ,PP-70-TRAGO ,PP-80-FINTRAG 1 PP-lOO-FINTRORO t
PP-40-INTRO~D ,PP-90-TRCRD ,PP-100-Fl~TRORO ,PP-40-INTRORD rPP-90-TRORO ,PP-100-FINTRORO ,PP-40~1NTRORD ,PP-90-TRORO ,
PP-100-FINTRORD ,PP-40-INTRORO ,pp-qO-TRORO 1PP-lOO-FINTRORD ,PP-40-INTRORD ,PP-90-TRORD tPP-100-FINTRDRD ,PP-40-INTRORO t
PP-~O-TRORO ,PP-100-FINTRORO ,PP-40-INTRORD tPP-90-TRORO ,PP-lOO~INTRORD ,PP-40-INTRORD ,PP-50-INTRAG ,PP-70-TRAGO ,
PP-80-FINTRAG ,PP-100-FINTRORD ,PP-40-INTRORD ,PP-90-TRORD ,PP-100-FINTRORD t
l .....ALSIEL
,....,.
GRUPPO IRI FINSIEL
IFORMAZIONE
Strutture
per l'evoluzione

I comandi EJECT, SKIPl, SKIP2 e SKIP3


Questi comandi facilitano la lettura del programma sorgente.

Il comando EJECT provoca la stampa della riga successiva di


programma, a pagina nuova.

Il formato è il seguente:

EJECT

I comandi SKIPl, SKIP2 e SKIP3 generano, rispettivamente,


due, tre o quattro spaziature sulla lista, anziché una.

Si noti che:

- i comandi non compaiono sulla lista di compilazione

- i comandi devono essere l'unica parola della riga e non


devono essere seguiti dal punto

- le funzioni realizzate dai comandi SKIPl, SKIP2 e SKIP3


possono essere anche ottenute riservando più righe non
scritte come commenti (*in colonna 7).

Il comando COPY
Parti di programma già scritte, presenti in libreria,
possono essere incluse in un programma e costituire quindi
parte di quest'ultimo.

Perciò tutti i programmi di una procedura che elaborano lo


stesso file, possono, ad esempio, copiare la stessa
descrizione del file e dei record che lo compongono,
riducendo la codifica e semplificando la manutenzione degli
stessi.

Queste parti di programma "copiate", devono essere presenti


in libreria e sono richiamate, durante la compilazione del
programma, con il comando COPY.
Il formato del comando COPY è il seguente:

COPY nome di libreria


parola2
REPLACING parolal costantel
nome di campol
parola4 parola n
[ parola3 BY costante2
nome di campo2
] ••• parola n BY costante n
nome campo n

20.5
Propneta 11als1el spA Le copie originali sono contradd1st1nte dal retino stampato in rosso Ne è vietata la !'produzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Nome di libreria è il nome di un membro di un data set
partitioned presente nella libreria dell'utente.
L'opzione REPLACING consente di sostituire una parola, della
parte copiata, con un'altra parola o una costante .o un nome
di campo.
A seguito del comando, tutto il testo contenuto nel membro è
ricopiato nel programma dal punto in cui appare la COPY.

Il periodo:
I ,I
' I .
' I

! !

Viene sviluppato dal compilatore nel modo seguente:

;
.. .. .
fl OUl,. Ct

. '.
l l"AQ(I 1S tAl4l

•, ,
I
'J
o
u •
1 I
I
12 ..
Co f' '/
10 ,.
:tc o r< fL C •
li
" •O .. .. u .. 10
"
' . " c/J1 Cor(T L. EA.
.' p ie.. J
..
<P3 C or{T l "t A· fLA& X
'1>3 Co,(; t..EA· (. L. I p, (.. )( ). ;..

<P3 c. or<'i L. "E A - i'F ATf p1 <.. ~( g) .


~3 e o rlr E A· PAG-
1.. Pi e j (0 .
. .. cp 3 Co r(T 1.. EA - Si.o P· c ~( &) •
</>3 c or(T '- EA- "f I .!)O p I ( . ~ ( 8) .
'

:

.. ,,
n
cp 3 'flL.L IE ~ ('.> I C.
"'({" .) .
CDPy -Fc t:> rlTL E ~~ f LA C. I I'( G- ( O r(T E A - (. L. ~t OR ~ I r{ 1 -<..LI
. I
•' 1.

Co r(T 1.. EA By ORh I 't/ I CO r(T L E 4• lf° L A<; Bt o A}. I r( I • f"L._..G


. Co r(T LEA- f~TT By O~bl I( I - f V'\ r T,
. ..
~[ ORb1 ,(1 •
<1> 3o R1 I r(t-'F L 116' r;> I C. X
</;3 O~b • rt1 - e L I pI <:, X I< x
<p3 io~!) I r{, -f A11 P•c ~( g) .
.. <1>3 e.o tll L.'E"A- f>AG- Pie ~c.8 ) .
IJl 3 'co rlr '- EA- Si.o ?•c. ~cn .
<P3 Co r/1 LE.A- -F'.110 ?1 e ~(8 ~.
<P 3 1= I I. L. t~ ? I(. )( ( :i~ ).

20.6

La cultura è un bene dell'umanità (fantomasping@libero.it)


'T'ALSI EL I FORMAZIONE
& lGRUPPO
1.-..
IRI FINSIEL
Strutture
per l'evoluzione

In questo caso, il membro di libreria FCONTLE è costituito


dal campo CONTLEA e dai campi elementari che lo compongono
per una lunghezza di 50 bytes.

Si noti che :
- l'istruzione COPY deve essere l'ultima del per i odo
- il nome del membro di libreria, deve rispettar~ le stesse
regole di formazione del nome di programma
- il testo, in libreria, non può contenere comandi COPY
- un programma può contenere più comandi COPY
- in un programma possono essere ricopiate parti di DATA
DIVISION, ENVIRONMENT DIVISION e PROCEDURE DIVISION
con l'opzione REPLACING possono essere sostituiti nomi di
campo, di procedura, di condizione, di file e nomi
mnemonici.

1. Si supponga che il membro di libreria FORDINI sia


composto dai seguenti periodi:

.. .. .. .. .. .. ..
HQUINCI
io
tP•Oll
' J
l ll•IAL

' 1
u •
' •
11 .. 10 ,.
" » •• ., IO
"
.,, 4.'
I+

. '
~!. D~I
• y
~3 · rJ R.bl t i. A<T ~ I C. ~ .
"' 11-
' ,. •I
~3 . 0Rti1 r(1 A- K'E y.
'"' ~s IO f\) \ WI A- kEy- CL\ ?1 c. >'.~.( .
.. 'P s ~ftb• t( I A - K[f - )~1'4 ORb.
~.,. ORht r( I A- KEy- bATA ~ R.h- AA P i e )()(.
,,,
' I "

... t'I o R~ I ti I A - ~'éy- ,bA T A IO P.,h • 11 1{ ?1 c. llC )( •


o f\1 1 t/1 A • i<;f y. ~A iA IOA1- GG 'i> I C. ixx .
r:;s IORh1 "' I A - ~Ey - ARI.
.. ~'
f1l
O'U>
o R.b I
I rf 1 A-

rl I A-
"K'é.y- 'f;f\'f- r(11 N
KfY- AR,. - I I/ A
P i e. xx"'
f> I C. )(.

lt>t 0Rb1 111 I\• r<.t.f - All,i - C. L f> I C. X K .

~3 o R,h t r/ • A- l>t.SC.R f' I C. K( 2.<P J .


tP3 o ({.!::>1 r/1 A- Q1'AO ~~ p I C. ~ ( 5) V~~ .
4>3 oR._!::.1
""· t:\ - ~TA~ '15
P•c. ~( 5 ) " ~ '!.
<1>3 0R!)1 Pitf\ · Q.TA~ tS r? I (. 5 ( 5') V?i ~ .
.. <P3 0R.D1 " I A. Vt(H1.> 'f>l~ xx.
..

20.7
Proprietà 1tals1el s p.A Le copie originali sono contradd1st1nte dal retino stampato in rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


si scriva il periodo COBOL necessario per il richiamo del
testo

I I I I I I
I
II i ' ! ;
I

I!
I
I Ii
I
' '
I I
I
I I

' ;
I
: .I
'
I I

I
I i: '
I ! ! ;
I I
I
!
I

' i ' l

I I Il
Di seguito è riportata la parte della lista di compilazione
ottenuta mediante il comando COPY dell'esempio .

. . .. .. .
itOUlNCl
i
t"•Gl J I SffilllAL
' ) •
o
u.
1 •
I
12 .. ,. , ,. )I >• •• •• " •• •• "
.. ~! C~ Py ~ol\.h
I
I I'
I t( I •
o R.11 ti I A •
. . ,, 4> 3 0R~1 r( I A- rl.. AG- \'I C.. b.
"., '
~3 o R ti I ri1 A- K'EY.
.. ~s io fl._b I ti I A . I<. 'fY - (. '- I '? I C. )( X)( •

~s oR_h 1 r./1 A- Kf.f- l!IAIA o ~!i.


1' ~ R.b I r( I A- i<.Ey- ~ATA lo R!> - AA f> I(: xx.
"I
I . ol

~'I o R!> I A. Ke y- !}iAiA b 1\.1- Mff ?1 c. l( l( .


.
• • o

. ' Dt b R_1 I rii A - l\E y- ,bAi~ loA,b- <IG '\> I C. i.xx.


: "" "1 s ORb• "I A- Kty ~ ARI.
, ' ;p, b'U> I tf t A- 'f..'é. y. A ({ T- r(11 H ~.e:. >I.X><.
, . "
~f IO R.b I ('{I A- K'é.y - AR"f- I VA Pi e. )(

... -· t>r OR.bi "' '\- K.'i.f - Al\ i - C. L f I C. IX X •


. t/'3 ~~h · rl•A- ~ E.SC. R f 1 c. X.( 2..4 .
'13 lo~k11 rt I A- jQTAo R~ f> I C. ~( Sj V~~.
' .. 4>3 loR.~1 N • l\ - ~TA~ '15 f1c. ~( 5 ) v'~'S.
. . .. <P3 o A,!:>1 t( I A • ~TAf< ~ s rp I (.
~( 5J "~ ~.
... <P3 ioR1• "'I A. V~H I.> f>t L ~X. .
..

20.8

La cultura è un bene dell'umanità (fantomasping@libero.it)


"'PALSIEL I
& lGRUPPO
I~
IAI FINSIEL
FORMAZIONE
Strutture
per l 'evoluzione

2. Quale delle seguenti affermazioni è corretta?


A. A campi copiati con la COPY, non corrisponde area
effettiva di memoria
B. FORDINI è il nome di un membro di un data set
partitioned della libreria dell'utente
c. con il comando COPY si sarebbero potuti cambiare tutti
i nomi dei campi copiati

AAAAAAAAAAA~AAAAAAAAAAAAAAAAAAAAA

B. e C.
Il comando RCOPY
Pur non essendo questo comando gestito dal compilatore uti-
lizzato durante il Corso di Formazione ne viene dato un
accenno, utile per il suo uso futuro all' interno dei vari
progetti.
Il comando serve essenzialmente ad evitare di definire i
tracciati record degli archivi di uso frequente ed e' quindi
molto simile al comando "COPY".
Il vantaggio del comando "RCOPY". rispetto al · "COPY" sta
nella possibilita• di variare a seconda delle proprie esi-
genze la radice del tracciato record.
Il formato generale del comando RCOPY è il seguente:
01 RCOPY
nome membro libreria,'parolal'
nome di campol
dove 'nome membro libreria' e' il nome del membro cata-
logato dove e' ·registrato il tracciato record, mentre
parolal e' la nuova radice che vogliamo sostituire a
quella esistente.

Es.
01 RCOPY anacli,'ordisk '

20.9

Proprieta 1tals1el S p.A Le copie orig1nal1 sono contraddistinte dal retino stampato in rosso Ne è vietata a riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


La cultura è un bene dell'umanità (fantomasping@libero.it)
FORMAZIONE
Strutture
per l'evoluzione

Capitolo 21

21.0

Proprieta 1ta1s1el S p.A Le copie originali sono contraddistinte dal retino stampato in rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
La cultura è un bene dell'umanità (fantomasping@libero.it)
"'T"ALS I EL I
& lGRUPPO I~
IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

LE CLAUSOLE OCCURS E REDEFINES

La clausola OCCURS

Quando si deve definire una serie di campi uguali e


contigui, si può evitare di ripetere la descrizione di
ognuno di essi, utilizzando la clausola OCCURS il cui
formato più semplice è

OCCURS intero TIMES


ove intero è il numero dei campi ripetuti.

La descrizione seguente

.. .. .. .
SEOUINCI ~
z
IPAGll IHllllAL
1 3 4
A
171
8
•• •• ., •• 72

~~H
o " Io
p'- :.3·.
1
i
~/6) v.9, .
I
o' • . o

'
I P.1.c.
I I
. [
!
'
: : I i i I' II
equivale alla

I ·I . I , I I
o,• 1o
i
I

I: I !
i .'
' ?
. :(:61) . I . I I , . .
I I
.! ! i
I
:
II .. '
_ :~).
I

P: I~'. · ~. . ,. v:qq
.~
' i
.I.i. I a)! -To I ~ ! ' I I
: WP !
!
I I
I : ..
I
: ·1 p IC 9,( 6,) .jq~ . _; ~ ; I I

ii i ! :·
I
i çi.~· -iTo I' i 'DHf i..
' 1 ·' o I

.. ;'
· !
, I .• .
1
'~ • .I ;
'
! ' ,;• jo
~3: -'.TO ~ I i I
! p I<. 9 (6 '. ) \Jlq9 io:H·P -} ;
I
. . .
I
I ' :
I
i f :I{.
'
o:H - 3.
; '
'
'
'
'.( 6.) IJ:9.~ .
i
~. ~ -'TO T4. : ''
...
() ~ (,) I . , :
' ; '
' . !
' i I :
i I
I : ; I
o ~L l _, :

Il riferimen.t o a uno dei quattro campi si fa mediante un


indice" ('numero" d.' ordine del campo) che deve essere racchiuso
tra parentesi·:

W-TOT (1) W-TOT (2) W-TOT (3) W-TOT (4)

L'istruzione

produce lo stesso risultato di

21.1
Proprietà ltals1el S p.A . Le copie orig1nal1 sono contradd istinte dal retino stampato in rosso . N e è vietata la ri produzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


L'indice può essere anche un campo di WORKING-STORAGE
SECTION

, o
, ., o
. I I
' ' '
'
I
I

!
. o o I '•O : I

in tale senso il riferimento al campo dipende dal contenuto


di W-IND .

L'uso degli i ndici è illustrato nei seguenti esempi

..
HOU!lillCI ~
z
C ~AOU l lllUAl 8 A ' I
l J 4 I 7 I ' t2 Il 20 24 U .. 12

Il
I!
!'! u;oI1::1·~ic.\.'5lk,lM~!-~ro~rt~~'
; f~,JI Ì ÌI
1 0 10
1' l ·j I! !
, I 0 0

3- .' .
. 5it::C'·1_ !O.H:.
S'K I ~p I
, I
1 o' . o
I . ' " \
I 1 ' 11
t:
. '
o!T 11,1. ~ ~-;tµt>,
IO .
! ; I" ,
1
I
I
J
'
j II I1
I
1
I
j
;
l

I

I
I
I o! o
I
1'
!
: •
.•
I
:
1
.
I
• . .
l I
. •.
I : ,.I 1
I'
: '. : F.3.. ~-;r:o T . o ~~o.~ S 14 I I I
I ' I 1 1 i : 1
!
I .. "
I '
'
' I
I
I I !
' • .o . I I• · •E'J
·
[e T
· ·
i ·
I
1

'
I I

• • o ff.OllDl.lf. E 1>1 VI .SI olf •


, o o . ; ' S.K I p 3 ' . i I I ;
: : '
I .'
' ' ' Ho \} E ~· i o w- I tit> .
, • o
,

, • 'o
• 10

I ~
.
•. 1 •
w- ToT ' w- 1 ~D) lf'o
!
W- c oHot>O
' I : !
> o o IWOi6(. I H6 - STO~ A6é 15 EC1' I OH.
l 17 o 'l'. ':f- w-.1HD I
I i
I
> t • jo
J ~ • Io
T 1
1
1

:(
'3
: :
w-'lolf OU.URS 4
I
~H1 ES
: '

I
, • o
I P~oc.~01'1~ : ~' v1s 1 o~. , '
I I '
I
'
: I

I I '
+ • o Io

I I
i Jf.OV€' 1)1-IToT ~ ~- ·' tt t>) ITo w - ~~ t\O b(; •
t I ' I :. '
: I I ;
· "
Hovr w-Tor (1) w- e.o ttO.oo .' !

21.2

La cultura è un bene dell'umanità (fantomasping@libero.it)


l...ALSIEL I FORMAZIONE
& I "'"' Strutture
GRUPPO IRI FINSIEL per l'evoluzione

Si noti che:
- i campi ripetuti devono avere le st~sse caratteristiche:
lunghezza, tipo, rappresentazione
- l'indice può essere
· una costante numerica intera positiva
· un campo
- se l'indice è un campo, esso:
deve essere elementare, numerico, intero con valori
positivi non nulli
· non può essere ripetitivo (non può contenere la clausola
OCCURS)
· per motivi di efficienza (tempo di elaborazione e
occupazione della memoria) è consigliabile che sia
binario
- la clausola OCCURS può essere specificata nella WORKING-
STORAGE SECTION
la clausola può essere specificata. solo per campi di
livello 02 + 49
- se la clausola è specificata per un campo composto, anche
i suo sottocampi devono essere richiamati con indice
- un campo definito con la clausola OCCURS non può contenere
anche la clausola VALUE

1. Si considerino gli esempi seguenti

. .
zo
u. ,,• •• .. .. .. ..
alOUINCl

, ' •, I
CP•AQll lll•IAl
,. ,. "
,. 20 40
•• u IO ,,
o 1 ro I
I
A.
' '
• • o
~i w-pA Gf+:. ..
fif 3 . IJJ- pA~A-N o R.Jf
I
:
O I O _CO!f p -'3'.
p'1 (_ 9(6)
o • • çf3 . w-.PA ~A-S TR. Pie t;(O (.o H p_ 3.
: P- 3 _
' o •
~3 w- PA r,A -N OTT PIC 'J(6) .coH
' ' o fl .3 LU-PA K;/\-f EST _ rie ~(6) C.OH P· '!,.
• o
'
&. ' • o
~i w-P.f~ GR.
' • o ,P3. w- .P.Ak>A-T IPO oc.c. LJR.5 ~ TI IH f~ ~,e q{~)
'
CO
'
HP~~ .
, o o
- --
Quante posizioni di memoria vengono riservate nei due casi a
W-PAGA?

16 bytes in entrambi i casi

21.3

Propr1eta ltal ;1el S p A Le copie oroginah sono contradd1st1nte dal retino stampato in rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


2. Facendo riferimento all'esempio B . , è corretto il periodo
seguente ?

' lo
I I ; I
I ' I
; I ! I
,
j
I '
' • o ! I F
I
ui-:PA ~A-T 1 Po. EQliA L ZE~O I
; :
'
• o HovE Sf_A~E To iw- R.1 ~A .•. i I I I
I ' I I ' : I I I I: ! ' j

7 11 10 I i ' I

No. Manca l 'i ndice dell'elemento

3. Il record SALDI- REC contiene i saldi mensili dell'anno.


Esso ha la seguente struttura

W-SALDO

I SALDO-GENI SALDO-FEB I ~~===....l. .s=AL==oo==-o=r=c=I======


e la seguente definizione
, o .o I I
I I
d4.; I
: ' '
!'
: I i;:
I : :.l "J' (.I
µ.i-s.A LOO. ! . ' .
I
, • o I
P3. llJ- .5~ LDO- HE:S! ! pc e ve.~ :~t
i
).• o I
I
I
' '63 FILL €R..
' . I .

' I
J !• o :
i i
• o o Ii I ' •

Quale dei seguenti periodi trasferisce correttamente il


saldo di Maggio nel campo W-COM ?

, . .""u.
HQUINCl

CPAQll INAtAl
J
o
1 •
I
12 •• 20 2• JI J2 H ... .. .. "i
. •• .. .. 12

I .' •
I o o I

' I : I ' '


fi. I
' . :'
o
! ' :
KOVE
' : . ~- .s AL~.O - t'\E') e :.5 TO j.11-GD
. l . ~.:
I
I
I
'
i
: ' !
i
!
'
i
' I ! I

~.
'
. o

o
u

o ' ;
I )(O.Vf
I

~-~ ~l.b_O -Hf"5 ~ "( '5) 1"0


. ..
~-~ o.~·
' '
I !
I
;

'
'
l

' ! I
i ;
I : '
'

' o o
I :
I I
,I I
I
( l I I '
ii
c. i i
' '"I o
I I
)\Ov:e ~-:S AL.DO . -~
·._ i To
!
w·' U~H· I ' I
'
!

! : :
t I 4:O
! I I
' i I
l

B.

21.4

La cultura è un bene dell'umanità (fantomasping@libero.it)


l.....ALSI EL
I """
I FORMAZIONE
Strutture
GRUPPO IRI FINSIEL per l 'evoluzione

4. Il periodo seguente è corretto?


i' !
'

l l
I

I I 11
I ii
A A A A A A A A A A A A A A A A A A A A A A A AA A A A A

No. Il campo SALDO-MESE è ripetuto 12 volte

s'. Il seguente esempio è corretto?


: '
I
I
'
I '
i ' I
i ~ ;
i
. I
I
' i I
:
I
I i
I

I
I
I
I '.
'
I
I
I
;
'
I I !
I
; I

11 I
:
1 '
I

I i! j i
I
I II I : I
:I
I ' 11
I
j j l-1
I

I
I I -i
I
j j
I
~ Il l I I II
I I ,
1'

Si'

6. Date le seguenti descrizioni ·

i I ::~:
o I

o
i
I i I I! !i i II I

j Pl ·d X~I: 1I :
1

I l
o
o I. • lo

io
'
I o I
I
i I
' o

P: 1 ~' '1.9.
I I '
I
i
t

, ! ,I.!. I I
I '
I
.
I I • I
I I

l' II • , I o I
I ; '
'. I , .. o ! 1..t, I
II ',·.:o ' 1 ; 1· : ' I
' 1, I ' I
I I o I I
' ' I
; ,i. I.
I : Ì
!v:il~ ~2 P:1'.c 5~· I
1 1I 1 IO , I
: I I ,

.
, 1• IO
~
I ~I (: x:(~) .' :

sono corrette le seguenti istruzioni?


I
, I 1 • O · i I . ! ,•
.
I
;
' ~-Kr~: :rw:- 1Hb) i
'
I

fi. ·· -CO .(o'oo ,' ; ' '


' i I

s. : : l:,10
I J 1O
I
IO I i i .. ' ' ..
~.- ~E~E:
I .. ..
,(µt- I ~.D--1)
I
i
I
j
~
: I I
I
'
I
I
l
I
i
'
• .
'

I ' ; :
i I...
l

I w- Ht5t
: : I '
:
i
I i
c. i
... ..:(w- 1:Nb- i) : I ..
1
I .. i : I
I
iI
i !
i I I
I
j
I
;i
W- ME:5E
I
' : ' ! r
IJJ - I!H [)1 <.! E I
I
1 i l I

21.5
Proprietà ltals1el S p.A Le copre originali sono contradd1st1nte dal retino stampato in rosso. Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


A. No: W-IND è un campo composto
B. No: W-IND-1 non è un campo numerico
c. Sì.
D. No: W- INDICE è un campo ripetitivo

Si richiama l'attenzione sull'uso congiunto delle clausole


OCCURS e SYNC.
Quando un campo composto ripetitivo (clausola OCCURS)
contiene campi binari allineati alla voce o alla mezza voce
con la clausola SYNC, il compilatore, nel realizzare tale
allineamento genera, se necessario, tra i campi in memoria
il numero di bytes di riempimento (slack bytes)
per ciascuna occorrenza dei campi binari
· per ciascuna occorrenza del campo composto di appartenenza
per cui, a volte, la lunghezza del campo composto risulta
maggiore della somma delle lunghezza dei campi elementari
che lo compongono.

Ad esempio la seguente definizione di W-MAG

' i•

12 .. •• •• ••
:
.. .. " I
. I
... .. .. "
i oi'
I
I
I
! ! ' i I
w-:~F 6: •.
I :

~H: ,.3.
I I I I
I I' I• ' ' ' : ' I
I II i i' I I ' ' ' : I I
: LU- KA !
o IO I I
! I
I
I

•I• .•
o'• o
I

I ~- co D. '
. . .
i
Pie'.
I


I ' i ii I
i
! : '
I
' :

~~~:. I
I
' I
~~. l»-HA G-fH T .. OC(U R.s. I ! :
I ' ' : '
I
'
1 j OIO
I
.i I ~5: ' W-l'f A~-~R T-T/ Po Pie. X.
Dli s:~: (4
: I
' ' I
I
I
' "o
! lI : :
i
~5 w-HA ~ -~ -~ T.- .P.R. f.2~0 ~~9 <:.OH P ÌSY HC.I
• o
' '
! '
~
I
I 'I • ' o 1: :
~

21.6

La cultura è un bene dell'umanità (fantomasping@libero.it)


l....."'LSIEL I
& I """'
GRUPPO IRI FINSIEL
FORMAZIONE
Strutture
per !"evoluzione

si sviluppa in memoria nel seguente modo


ART (1) ART ( 2 )
-
PltEZZO PltEZZO
COD TIPO X X X TIPe X X X
I I I I I I

o 4 8 e o

ART (lii)
PREZZO
TIPO X X
I I I
X

Il campo PREZZO viene allineato alla voce poiché è composto


da 5 cifre.
I due slack bytes tra TIPO e PREZZO allineano alla voce il
primo elemento PREZZO (l); lo slack byte successivo a PREZZO
(1) allinea alla voce gli altri elementi PREZZO (2), •• • ,
PREZZO (100).

7. Con riferimento alla definizione precedente, quanti bytes


occupa in memoria il campo w~MAG ?

801 = l + (8 X 100)

8. Si definisca il campo W-MAG precedente senza uso della


clausola SYNC, pur mantenendo l'allineamento alla voce
dei campi W-MAG-ART-PREZZO.
MOUIMCI ~

~~ :'~ ~.:
0
1~ te M ~41 H U M ... .. .. IJ M M M M H

oi I• t
· I ' I
i • ~ • ;•

. !
'
I

I
O ' I 10

I
• ,· . o
I
. I
' !•
I :
:•
l I

21.7
Proprietà 1tals1el S p A Le copie originali sono contradd1st1nte dal retino stampato in rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


1 • 10
I
i
' ' I I .
'
' ' l! I 'I
l ' I I!'
' I
. • I
1lc.I I: 1' • 11
!•
I i
I
.'
I '
.
1 ' I
I
I
I I i i
Pie. I!! ., I ' '
•.i I :
1
I

pie I J
1
! I t
f> I(.' ,C(Jfi I> Ii I I I I

' I ,
,! ,I I
I I •
I I
I
I J
l ,C
,!
I I
I ;I
I
'
.
I
l
.
:

i ; I I
I
4' I I
'
i
!
! I i I I
I :
'Il I : I I

i
J
i ! I I [I , Ii ' I i i
I I
I I
I
I

'

9. L'esempio seguente è cerretto?

jq~o
I ~~ ' I
. I J i I I . ! I'
iJ-l>r Se fl I
I
I !
o~~lJ
I
I I

I . '' ' I
I '
' ' ! i !
' I
li ! ! :I I I I I
I : I
i

l ·-· I
I I

PI~i
I
'
! Y/; ...
'
I . . R..s, ~~: xl-3~ )".: I I .Ii I I
Ii !
I

i Ii
I
I.I !II
I
I I Uo II I I
I ' : 1. ' '
f~ .. uY
A lt I
"

No. La clausola OCCURS è ammessa solo per campi con numero


di livello compreso tra '2e 49

La clausola REDEFINES

La clausola REDEFINES consente di descrivere in altro modo


un campo già descritto, pur riferendosi alla stessa area di
memoria.

Il formato della clausola è il seguente


numero di livello nome di campol REDEFINES nome di campo2

nome di campol (soggetto) è il nuovo nome che viene


assegnato all'area corrispondente al nome di campo2
(oggetto).

21.8

La cultura è un bene dell'umanità (fantomasping@libero.it)


l "T'ftLSI
I"""' EL
GRUPPO IRI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzione

Si consideri l'esempio seguente


....:u.
. •,. .. .. .. . ..
HQUI MCl

i 'AGii 41UUAL
o I
•• ,,
t
' t2 •• 20 24 21 J2 >• u •O

i
: ...
o
:
" Io
I
o
I ' :. ' .
rei/ w-pp ~i: ::o·r ~
I

I !
. .. ..
I I
I
! I
' J· ' I ! I

: ; I : I '
. : '
I
i
p'i i >ÒÒ<.. i
o' . o
~.3. : f-co : ! I
:
o I O
'
953 ; ~-pr t-PR pc;: !
Pii 9('}) .
' u o
I

~!>. I
l»-Pr E,- SEIT pI c. ><.X•
'
' . . Sl'.~
, o
i
W-IR A ..
I I

(Ù:.D( F, rtE !> IJ, -·op t .


'

!
' •o d3' . ~- 'TR A-n~ rr~' I
Pie ><:(6) . :

I I I o
i
eJ . W-1-~ A- r~ Q(j. I
p I C. 9 (b ) . '

, u u Rf3 . w-T~ A-5€ T Pll xx.


' ' o

W-TRA è il nuovo nome assegnato all'area corrispondente al


campo W-OPE. Come si vede dagli schemi seguenti, i campi w-
OPE e W-TRA , pur descrivendo la stessa area, hanno due
strutture diverse

W-OPE
COD PROGR SET
3AN 9N 2AN

W-TRA
MATR PROG SET
6AN 6N 2AN

L'area riservata ai campi W-OPE e W-TRA è la stessa, ma è


vista sotto due strutture diverse:

Il riferimento all'una o all'altra definizione richiama


pertanto lo stesso contenuto dei bytes, ma con diverso
raggruppamento e rappresentazione.

Il campo W-OPE è il campo oggetto della REDEFINES, il campo


W-TRA è il campo soggetto della REDEFINES.

I campi soggetto e oggetto possono essere campi composti


come quelli precedenti, o campi elementari.

21.9
Proprietà ltals1el S p .A. Le copie originali sono contradd1st1nte dal retino stampato in rosso . Ne e vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


I . '1~ i I ~·1i
i !. t·
l ·1· ,~ - -It 1 'ln.,l. '\
i ! i. II' I .. : .

~;F!r, r~1y ) ·trI 11-il


;: .! 111
i' ! l~~r.1 1i .i;,
i.

11 I i-
' 1. .t . ..

1 '-blI f 1114 I k' ~.- _)1J-:_ . tJ~


I ',
1 I i
1 I 1 : 1 1 ,
J, I
:
1,

I I Ii 11 l 1
In questo caso si è utilizzata la clausola REDEFINES per
poter ridefinire un campo alfanumerico come campo numerico.

L'esempio che segue


!
o , to i I
~l<l : ~ .. ' ...' I !
I 1
o 1• 10 ·o·~K I Jf6' • :>r;o~ 11,G-_E.,
I
'
' , I . ' .. I
1. :s.1<.1f ~ !I I . I
i
I
I
: i ' I I !'
! ;
'
IT ' ! II
' I 0 1 I
I
I I I : I I I I
'
o • o 1 · · Lv-A
': '' f .3 I.
I

! I
i i i ! I !
I I
I
I
I .I I I I

I I
I I
o! o
1 !0
,: .. :'5.3. I :
I
\
I
'I
iI
I
II
t';c:
I(
,(5
( 1 . I '
'
.
I
! '
'
• I. ~ .
( 3~ ) ..
I
' I '
' 1 i.;o : I • 3 l i
I
''
' P1c· I '
I I . ' . . I ! ' ' 1 '
~3 p I c. X:ls)
I
'
1I e1 o
6' O
i
. I
, I
'.
,
, I
I i I
!
I
'
: I : ., ! I
'
I
I

I
., ' olo
f . ,3.
w-~ ! w- :ti.A,. I
i I

-o .' ·es) . I
' I I
I:
, 11 )o

, 1• 10
I
I
P.3.
I i i
I IC I

'I
:'
I
I

'i.alo
' !
: ' I' I ! P.1.l
i
! : '
: I

' i
I
, :•!o i Pie !
' o o ! I I PI c.
, , :o
R}3 -o f'IC 'I
, ' '
,.
: ' !
I
< IO
l I
if3 f I C.
I )1·1o p3 ' I
p I(.
' • o

contiene la descrizione dei due tipi di record che


compongono un file.

L'area di memoria W-ANA , contenente la descrizione del


record di tipo 1, è stata ridefinita secondo la struttura
del record di tipo 2 (W-ORD).
In questo modo dopo l'istruzione

-
• o o - -- ---
-T,lo ~EA. tl RH A6 I tfTO UI- Atlll /tT EtH>
q4 ;0 ~O\.ll:: Hl ~~-:v AL IJ f To w- ff-1! t4/k;.
'
+.60 '
-- -

in memoria è disponibile un record; si fa riferimento


all'una o all'altra descrizione secondo il tipo di record.

21.10

La cultura è un bene dell'umanità (fantomasping@libero.it)


l "'PALSI EL I Strutture
& I """'
FORMAZIONE
;RUPPO IAI FINSI EL per l'evoluzione

Si noti che:
- i campi soggetto e oggetto delle REDEFINES devono avere lo
stesso numero di livello
- la clausola REDEFINES deve essere la prima clausola della
definizione del campo
- il soggetto della REDEFINES non può contenere la clausola
VALUE (a meno che non appartenga ad un suo livello 88)
- i campi soggetto e oggetto della redef ines devono avere la
stessa lunghezza totale. Solo se è di livello 01 il campo
soggetto può essere di lunghezza inferiore
- la descrizione del campo oggetto non può contenere la
clausola OCCURS (la clausola può essere però utilizzata
nella descrizione dei suoi sottocampi)
- con la clausola REDEFINES si possono dare più descrizioni
successive della stessa area: il campo oggetto di ognuna
deve essere il soggetto della prima ' di esse, o il soggetto
di quella immediatamente prece9ente
- la clausola REDEFINES permette di ridefinire un campo
cambiandone.
· il tipo (alfanumerico, nùmerico o alfabetico) con la
clausola PICTURE
· la rappresentazione interna (display, binario o packed)
con la clausola USAGE
- la ' clausola REDEFINES può essere specificata per
sottocampi appartenenti a loro volta a campi oggetto e
soggetto di REDEFINES.

10. L'esempio è corretto?


•, • . I

• .• i
: i I
! •
I ~~ !
pI C..
0 It ' 0
fl
o I o
p ,.(.
o •o .. p {C.
., " ~:3: w- R.1 .
I j • :0
'
. . Pie
I J• 'O
!
pI C
".,o
, .o ' o : . f I(.

Si. E' stata utilizzata la clausola REDEFINES per assegnare


nomi diversi agli stessi campi

21.11
Proprieta ltalsoel S p A. Le copie originali sono contradd1st1nte dal retino stampato in rosso . Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


11. La seguente descrizione è corretta?

! I

; : I
I '

I ! i
I~>.
1 I

P.1 C I
I o

P1C <j.f6). I

AAAAAAAAAAAAAAAAAAAAAAAAAAAAA

No. Il campo W- OFF-IMP deve avere il numero di livello 05, e


i suoi sottocampi un numero di livello maggiore (07).

12. Si consideri la seguente descrizione

. .
&lOUlNCl ~
z
l,,AOll llll'llAL 8 A '. I
1 J 4 • ' • ' 12 20 24 21 JJ .. ... 12 Il IO •• .. 12

j ·1 ·1 1i II I· ;! I
!JI i I: :
o I I
,I ,
o • o .' . I I
j. o j•j· I.
;

I
I I
p' I :C.
: I
j 'I
!I
1
I
:~. j l 1
; i ·'1 .o1·o I . I I ,
I ! '
I
I : I I
1
IO I I I ' ' I I
::J • I I ! I

I;.
I
I
I
I
I
I
' I' I O
I •
'(s) .:. , I I ,
I '
'j · l~

Si ridefinisca il campo W-DATA come campo elementare


alfanumerico di nome W-PROGRE

o
- - ----·
' '
, ' · 1o
:
I I ' !•1o
' o 1I

. o' o i
I
!
I
I I
i I' lI .. .
' II ! :
!
I I I I
I '
I
! : I
:
I
I
I , I '
• I
I
I '
i ' ;

21.12

La cultura è un bene dell'umanità (fantomasping@libero.it)


l....ALSI EL I
& I"""
GRUPPO IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

I ;
II
I I 16~ 0 . I I t I
I I II :
I
I I
~ ' I
I :
I I I j 10t
11
'

I : ,~
I

j : I
p'1c 9·9,
I

; ii I i
i :
'
I II
II , Io o
•J2Jo I!
I
I '.: ; ! l P IC 99.
;
I
• . I
I
I
II
!!
I
II
I

'

~3!
I I !
I

!j ' I
p1·e, ~~. I
I
! i
I
I I

l''
I
I I I I
I I I I

i ! ' • o i
! • . I
W·b ~:n~: : :p., ' ~:r ~): . 1 i! ! I
! '
I :

1·1 J
,I· o
' I

r/J:3 ~I(. (8). i i i


I i . I
I I I ' ! : I

>I o o I I :II: ' I I


I
i I I I
I
·- .. ·- -

13. Quale tra gli esempi seguenti è errato?

I
HOUlNCf

ll'AOll llUUAL
, . • zu.
' l' io
o
1 I
I

" .. 20

j
2•

I :
,. J2 .. •• .. . 12 .. •o .. .. 12

~(4)
I I
A. ~3:
I
o •
I
10 I
'
I W-A6 ' i J
Pie
'
!I
o • lo
I
I
j I I
I
I

~:3: w-flfl fi ; ~t :t>f F1't-1t1S ' '


o
I
1 10 i
I
u -~. ''
' •
' ' o I• : ~5 µJ- flR ~R-c oo Pie xx.
l
I
,i , lo
I ' :
i
i ~5: ~-RIJ Pfl..-s lH. ! o.1e 'f.X. V~ LUE ' le::
9' . ~
I.• IO i
B. '
' "o I ~·3 u>-A6 '

'
I
I
t 1 1 0
' ; I
~· Vi-:AG -CO() P·1·c.. ;<(4).
' o /0
'
~5 ~-tfo · :Fffl pf e 9(f).
I
, ' io ~3. I IAJ· ·R·~ PR. ~EDE F'1'rft ~· IJJ -~(r, .
' •Io
I I
: ~5 ..U-R.h P/l-·COD ~~e::. xx .
1 ' lo
i ' : ~5 W-IUI PR.- ·111P .. pie 8(4-).
~-.Rfi P.t -:P~v.
I
"
' 1
I
lo I
I I ~5. ·.;
'•
;
Pie g( 6).
):o o
i I I

' :
c.
I ' ' '

) ' lo l!S.1: W-A6 ..


, • o
J I 6 !0
I
~~·
l.U-A6 -COIJ
w- ftG -F FH
Pie x(4)
P•C .9(8).
.
I >
, • o
; I
6~ w - RA p~ R.fOE FI HtS w-RG.
• o le ;3 IJJ- RfJ ~R--c o.o lf> I C ?<X.
4Zo ~3 [J)-Rn 1.>R-1 Hr i'IC ~(s
4io p:, w-,fll1 lf'R. ..:p flOV flC '(5~.
+6~

A. Un campo soggetto di REDEFINES non può avere la clausola


VALUE
B. I campi soggetto e oggetto sono di lunghezza diversa

21.13
Proprietà ltals1et S p.A. Le copie originali sono contradd1st1nte dal retino stampato 1n rosso. Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


14. Si evidenzino gli errori nelle descrizioni seguenti:

,
HOUfNCI

. .
l''AOl l CH•IAl U A

' I
I 1 I
o
I
12 ,. 20 24 . J2 ,. .. .. .. n .. •• .. .. "
°!' 1· I :
I
I I . . I

~: -~~ ~·c. :ft l I i


x.<.1, ) ..
;
: ' I ' '
A. I 0 +. I 0 ~~· ' I
I I
'
Pie i
'
!
I • I : I I : :
o 1 IO
I i I i
I
I
! .i I I I I
I
I I
o • o
I Io o I
~r
I
&J-~( I
' . II P:~ : !
: i I
'
I

I
I
P1l x'r1 f ): R-E Dff t-JtS t i.u- 'tt ti~àt.
' t
B. I
' o .</>3 I
W- I ti D•. I i I

' I • o
l : 05 W-1 H OI - 1I\/ ' I A Pll. X'( i~ ) . :

i( ~11 ) .
' : j '
I j6 0
~5 t.u- I H c-c1 T,TA pIl.
~s. W-IH D-:C-P p
I

' • o I
p I C. )( ( 5)
I :~IED Ef • c. X(5 ~. •.
I
7 0 I0

,, : ~ · r/J.'t . W-1 f1 o.-Tr L tf[~ 1.U- I tf 0 - cAP P1


o ~-IH ID·- ·P} ov I PI C. IXX.
,
,
I
. I
o
I
'
:

c.. • o
l ~3 ' IA,l-CO C>
I
I

I
PI c. IX( -f ~ )_
7 I I 0 ' '' I '
~-:H.O
C).
~3 i ~Ù)(f I !i(S. )_ .
~ k:!' I> f" I C '/.( ~~
' o o

! '.o I
: I '
; . '
3
I
''.1. I

;
~3 '
'
W,-·F~ BR ~ it>'ù 1'tlis W· #oò Pie '{.{ ,.fP. ).
I
I
l 6 'o :
' : ' i
o. :
3
. e lo
I ~3: I 1.1.1-l..O b
!
I i !
I I I I P1c x.<~~ )'.
I
• ! o: o : I ! I
I I i

~3. ix(.19) .
:
4,Z,c
~4 ;C
jq6à
I
I
I
I

i I ~3
W-HO I>

W-F~ /j~
' f.D Ef 1/'/e.S

~.f()f 1F1Hr s
I I •
'
UJ- icoc
I
I

w- ~'o't>
Pp:::.

p I 'C ;( ( ·1°9 I) •
I

...

A. La clausola REDEFINES deve precedere la clausola PIC


B. Il campo W-IND-TEL deve avere numero di livello 05

21.14

La cultura è un bene dell'umanità (fantomasping@libero.it)


"'rALSI
lGRUPPO
I """'
EL I FORMAZIONE
Strutture
IAI FINSI EL per l'evoluzione

15. Quali dei seguenti campi sono errati?

I
. '
;iI I
!. I
'
I 1' i I'
, I :.: ! I,
I I
I I
I t 16,o :i : I

1 1, o
J

B. I , i,
I
fO

I
' !· 1 o I i
I 1 1 IO
t I
11 t I O

I
I
I I ' !

' o o

' ' o

!I I
11

I '~ l I ; !
( 4) .
, I• .o
'
, ' • 10
:r1,).
-vo
-
ov
t..O-P
) I
. I
0 0
.(1 ) .:
i 3 l' !o
I i J j •!o ,.
I I 'i.,.
I l; Jo O

E: .
o • o

o o
, . - VOL -
' • o
• o f' I c.
' • o Pac.
' o .o Pie.
' ' o

21.15
Propneta ltals1el S p.A . Le copie ong1nali sono contraddistinte dal retino stampato 1n rosso. Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


A. L'oggetto d e lla REDEFINES contiene una OCCURS
B. La clausola OCCURS è definita a livello 01

16. Si esamini l'esempio seguente

' • •O
. '
;
e.o HP ~ ~8 •
' • 'o ~ . w-~pK ~I'- .S,9.9 ~ riJi4Lvf
I I
I
'
,j, I
o
I
!I ! i
'
r , • ' . ' ' I

, Io. o ~1 t.V- C,() l>, . .R. f.Df:F J.JI,€$ W· ~oH !


' ' 9f3. Flll €/? ' ! ! ' ' Pj (. x.
'.
l', IO I
I I

I
o
f/3 : t.ti~co ()-CO
I

Jt I :
r
! Pie X . I
I
l t6 o

quale carattere EBCDIC è contenuto nel campo W- COD-COM?

% (valore esadecimale 6C)

Dall'esempio risulta evidente come cambiando la USAGE cambia


anche il valore di un campo.

17. Quale delle seguenti ridefinizioni è corretta?

. .' . ;;
.. .. .. .. .. .
SIOUINCI

l ~AOll
I , llUUAl V A
o ..
." . 20
•• JJ ,. u IO
•• "
f\. ' i
I
o;' I°
o "
oI. lo
1
0 ,3,.
rJ-3
I
• I

- (I+
PI c.
OL.
<i( q.) '-'Sl3.
. I

' ! ' '


0 I I 0
I
Pie
' o o f> I e
' ' o f IC

B. I I • 10

t • lo ~3 Pie. ~~r 6
' o o ~!> s ·C. o
q.
'

'
'
..
'


n

n ~
q,
1 I O

c.
> ' o ,3 9(6) 'Jft Vf 6.
, • o
'53
' • o
' I
' • o
•.o o

A." e C.

21.16

La cultura è un bene dell'umanità (fantomasping@libero.it)


.....
lGRUPPO""LSIEL
I "'"'
IRI FINSIEL
I FORMAZIONE
Strutture
per revoluz1one

18. Sono corretti gli esempi seguenti?

.. .. .. . .
HOUINCl ~

(PAGU fil RIAL

' J • •
z
ou.
1 •
.,,
' I
. 10 ,. ,. J1 ,. •• n
•• 11

i "!'l° I : ' :
!
f\. I
o!. '. o I i•
I
:
p·, e x( 151 ) .
j
1
o:e lo -A I i
.
j
' o 1 •n -·~ PI<:: S9(6 ) ( HP·- ~
;
'
' o o r6.~
i
w- ~ri PI c. X(-16 :
' ' o
B. , .. . o
1
' • o flC. X(1 )_
' • o IC s "( 6) e
'l O ; O

' ' o ~~ w- B REà[f INE'.5 w- ftR.T F' I c. x( 14 ) .


' 4 (\
c. ' . • 10 .1. w-A
,, . ()
·~!> : f' I c..
' o o
'53 : p le. YNl.
J ' o I

J • o ~1. tl>f"F I tf tS LII- RT Pt c.


' i ' i
I J:. i• ' ' I I
1
] t I o ' 1
' 1 1
' 1
• o ,o

A. No: il campo packed di 6 cifre occupa 4 bytes, pertanto


la lunghezza di W-ART è di 14 bytes

B. Sì: un campo binario di 6 cifre occupa una voce

c. No: l'allineamento alla voce richiesto dalla SYNC scosta


di 2 bytes il campo W-ART-PREZZO da W-ART-COD (inse-
risce 2 slack bytes), portando a 16 bytes la lunghez-
za di . W-ART

19. Quale delle seguenti affermazioni è corretta?


A. La clausola REDEFINES consente di ridenominare un ·
campo

B. La clausola REDEFINES consente di ridenominare e


ristrutturare un campo

Entrambe.

21.17
Proprieta ltals1e1 S p A Le copie ong1nail sono contraddistinte dal retino stampato 1n rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


La cultura è un bene dell'umanità (fantomasping@libero.it)
~ ITALSIEL ~~~t~u~~IONE
'..J..I GRUPPO IRI FINSIEL
I per l'evoluzoone

Capitolo 22

22 . 0

Proprieta ltals1e1 S p A Le copie or191nall sono contradd1st1nte dal retino stampato m rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


La cultura è un bene dell'umanità (fantomasping@libero.it)
"'T"ALS I EL I
& lGRUPPO
I """'
IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

LE TABELLE

DEFINIZIONE DI TABELLE

I campi ripetitivi definiti con la clausola OCCURS


costituiscono gli elementi di una tab~lla a un indice (o ad
una dimensione).
Tali tabelle sono dunque le strutture ripetitive semplici di
dati
CAMPO

Nell'esempio seguente i campi W-NAZ-REG formano una tabella


a un indice di 19 elementi

. .. . ..
HOUfNCl ~
Il:
l'AOU 41t'•IAI. 81 •A :·u• .,., io . ... .
1 , • • 11 zo 40 •• n IO •• "
'
! '
i I
..:i .I . ! . I '. : I : I : !I ! : : ~ i !
;i , . w-~A 2 . i : i:~ I' I. ' . ' !
I

.
1 •
; .I
i 1: :r/3. I ~-:~. ~-c.ft . ! .
~
! I
.

·~
I
: I '- x<:-t ) I
I
: : . fl?. i : I
I
.- .HA . -ti~ H:l\:f PI 5.S~ C O P.
!.. f/3. ; :f'IA c-J?.E .. G~ ({~
i
I ~. ' _H :
'

i 5, - i~ ·-CO o I
PI e
; I 5· ,. ·ft
. ! .
-ti oHE" PI c.
I , e 0
; I

W-NAZ-CAP
W-NAZ W-NAZ-NUMREG W-NAZ-REG-COD
W-NAZ-REG (19)
W-NAZ-REG-NOME

Come già detto nel cap. 21, il riferimento ad un elemento, o


ad un sottocampo di un elemento di tabella si fa mediante un
indice: W-NAZ-REG (3), W-NAZ-REG (IND), W-NAZ-REG-COD (18),
W-NAZ-REG-NOME (W-IND).

22.1
Proprreta ltalsrel S p A Le copre orrg1nal1 sono contraddistinte dal retino stampato rn rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


1. Quali delle seguenti definizioni sono corrette?
I j
I!. t 0
A. , .• I.
'', 10
' !' Io
B. ' • ,o
r
1 1t I O

,i I o o
, ·, Io
c.
I TIHE5.
~ 3 e o fl <::. q(6) •
• o o f' te X ( .z ~I) .
• I <f.Z :O • 1 1 ~5 µ.,-Pii E :r:~o : PIC
I
f4 10 I ! I ! ; j ! I ; I

t6io I I I I '

B. e C. (la clausola OCCURS non può essere specificata a


livello 01)

2. Si definisca la seguente tabella di 200 elementi

W-MAT W-MAT
COD GIAC SCORTA PRZ
6N 6N SN 7N

' ..
. :
o
'
o
,' 'o o
'
J .
' 'o
o

J •o
'• • o oI

H OUUf CI

l"AQll ISUUAt..
1 J • •
u.
;
o
7 I
I

"
.. JO ,. .. ., •• .. .. .. u .. •• .. .. 11

:
o 11 10
. .
o • o
~{ f ' IL.l E.· ~.
O I O
t/ò LU- )tA r oa_:v((. lS : ~ oo.
w-HA 1-:CO [) .
o' . o
. '
r/55 p''" 9(6)
• o o ~? w-HA T-61 Ac f>ll '3(6).
1 I 1

.
0

~; ~-K /t r-sc o p IC. ~ ( ~~ .


• o W-HA tr-:f ~ 2 Pie <}(~ • •
. :
• o
-

22.2

La cultura è un bene dell'umanità (fantomasping@libero.it)


"'rftLSIEL I
& lGRUPPO
I """'
IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

Come tutti i sottocampi di un campo composto, gli elementi


di una tabella a un indice sono. disposti in memoria
consecutivamente e accostati tra loro.

3. Data la seguente definizione

iI
.. ...
1
I 0
I . • I
' o • I

' ' fo
' I•
; !• ·~~ :.
) I & (I
P IC {~~ ) .
' .i
' • o p /C. Ctì (O t\ f>- .
) I
• I
oI o
I. pie ><(.!,
' ' o

A. Qual' è la lunghezza del:l 'elemento della tabella?

B. Quale è la lunghezza del campo W-TAB ?

c. Se l ' indirizzo (di inizio) del campo W-TAB è 0285AO,


qual ' è l'indirizzo (di inizio) dell'elemento W-MAT
(123)?

A. 34 bytes (10+4+20)
B. 6800 bytes (34x200)

C. 029504 . Lo scostamento, o numero di bytes che


intercorrono, tra il 1° e il 123° elemento della tabella
è (123-l)x3410 = 414810 = 103416·
Pertanto l'indirizzo di W-MAT (123) è 0285AO + 1034 =
029504.

22 . 3
Proprietà ltalsiel s p.A Le copie ong1nalt sono contradd1st1nte dal retino stampato 1'1 rosso Ne è vietata .a riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Lo scostamento (o displacement), cioè il numero di bytes che
intercorrono, tra l'elemento nmo e mm0 , lunghi L bytes, di
una tabella a un indice è ~ ~

d = (m - n) L
Se In è l'indirizzo dell'elemento nm 0 , l'indirizzo
dell ' elemento mmo è
Im = In + d
Se l'elemento di una tabella a un indice contiene a sua
volta una tabella a un indice, si dice che gli elementi di
questa formano una tabella ~ due indici (o a due
dimensioni ).
Tali tabelle sono dunque le strutture con due gerarchie
ripetitive di dati
CAMPO f ELEMl ( n) f ELEM2 (m)
f
I dati ELEMl formano una tabella a un indice di n elementi.
I dati ELEM2 formano una tabella a due indici di n x m
elementi (di tipo n x m).

La struttura

CAMPO f ELEMl ( n) f ELEM2 ( m) f ===


ha una definizione della forma

.... .. ;
.. .. . .. .. ..i ..: I I . I "I ..
HOUlttCI

.,. , ........... 3• :•
.. , ••
'
r· I -l-n-I iTl, ,·f,-, -rI I,
" •• ••I "
J •
' '
I I '

}~i
I I I
o 1, l o I ' ' :
·-~L~ I 1-1
o

. f). ' I
' I i I I I I: I I I

;! :i t>~ l cq~~ o iI
lrl
·· -1 I I I ' ! I i I

i+-t -, l-1· -r-·


I I
·;-i-
m
I :!
t'
I ' I I I '
l· I I I·I •· I I t I t

i ~rr= ·A:rt'rt ! ! Il!


' I
• !• o ___ ,_ ' I I ' ...i I 1 I I I !I : l II ~:
' I . I I I- !- -

l'~
. 1 I 1
• !• I•
I
I I -i ! I ' I '
' I

,I o ; o 11 I
I
'
1 1
I
' 'I 1- I I . l i : i I j·1+ -1 - - 1 ' I
'

: 1I
1 '
\ I I :
.. l I, -- -I ·1 I I I1i i 1- -i I
11 : i ! i l
.
I I'
'o I : I 1
: t I I
I
:
I
: I ·I I
I I
! I i
I I I I
I '
I I
o I I I
I I
I

! ' (P.3 ' I I: l' i !I


1 ,
: I
i 1 I :, II ~'.cbJ I I
~ !I !
-j 1 ;
j 1I I ; I I I I
i !
'
i I, I:
I : , ~S, i
I !I
I

I ~ :
' • o
. I
' I I . I I I I I ' .
I
I
J
I • I 1
I
I I 1 I I 1: i i I ;

. . ,I ,
I

I. !j i. : II I :I :
i
I ;
I f , 0
I I : ' ' ' '
i I:, ' I I I
! I I I ' I'
I i i
I ' I ; '
f I I I
! ~ :
I

II
I ' ' ' I ' I ; '
' • o I I II ,• I I I ' : ' I ' I I ' ' ' ' I ' I ' I I '
. , I I • , I I • l I' I' j I I
I; I . I
:I ~ - 1-I '. I i
' : 1 T
11 I I I
I,. i
I

r
! iI : ~ ~I- J..'5! f .
I

I'
, o;o ' ' I
l !
I I
i . I I • I I
I I , I , I
~fl1 iii ;I r 1l i :I I I, .I ·I I, ' ' I ' I I

I ~ i I' oc.e •v II
, I
!I ~ i r. i·· I i-j I I

I'
o I
. , ' , j
i I I I I ; I I • I I t :
i : l:
I I ;LJflr1 1 I !
' i
~ , i
'

ii i I I ' ''

~
, • !• I I'
· I : ; I
.. ' ! '. I ! I_ -1 j I I ' I
I
I
I
I
' I
'
I I i
'
;Ii
'

;: ; 1-!
i
I I '. I I I I ' I : ' I

.
II" !
, • ,o I I ·
' I
: 11 ~
11i
-- I I '
I
j
!-I! 1-1 I
I
11I IiI iii i !II
---t- i"J T'
I '
, • 'o
,.1I I
!
I
I
I •
'

I
1 '
i
I j I11 !, f-1-j l-1 !- I1 I I ! 1 1
iI 11
~ i. ! i !
iI 1, 1
1 i I I
. r"~- ! ~ ;i '
, o o I I

·irI
' I I I I I

1 Il I
I' ,I I \ ! , I
'

!I I • ' i
I
I
, ) o II II :' I 11 ì • ! I. 1, I i I
I j-i ;
I I I I '. I I , I j I

I ~ I ' I i j- -··-1 I
1 I f
I l { 11 . I
I
I
I
'
'
,
[ : I
. , I
I I I
r I: I I
i ' '
; ' I :
I
I
:
I
I
l 1
!
'
I

I 11 '!
' • 'o I
l-r-1 I r-1 -:T, I

!+'- t t·I i -:·H I '


I
I '
+ ~ - 1 I I I ' I 1 1- 1 ·t
,_
+- -1-r - 1 1 ,. r f ' I I ' I
I I I I

.
tV
I I

ji I; l~~. ..
, • o I I I ' • I I
. ' : I
' I
i-, ~

; i i 11-1-
I· • • : I : I I t

lit
' I ' • ; I I
I I
l

• o o
'
• 'O
I I , , : .
I I
I
~
'
!;
'

I I
I I
I t 1 : ' i - j i l- -, -1 I ! ! I I
I ' - I II
I
!
I
' '
I
I
I
I I
I '
. '
'
: I
I
'
- '

22.4

La cultura è un bene dell'umanità (fantomasping@libero.it)


,
.....
lGRUPPO"'LSI EL
I """
IAI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzione

Nell'esempio seguente i campi W-REG formano una tabella a


un indice di 19 elementi; i campi W-PROV formano una tabella
a due indici di 19 x 9 = 171 elementi.

:h I~ :
' ' l I I
I i : !
jI
: I
I'
; i
W-~(
I
: I ' :
~I ' I
I I o • o ' r6,3 i
I
' I
I
i
I
'
I ; ! I

I ;
I
i
' I

Ii
; I
I
'
o e •o 11 ! ~'.3' ' ;

II
i

! I
! Ii0
I .
!o I i :1~~ ~~ I ! I I
I

1 I' Jo !
;

!
I
{i . I
i
I I
, 1.. ; o
I I' I !I ' I I
I 'j.io I II I I I

I I .!·I· :
I
: i
I ! I :
:
l
.
I
:
l , I 0 JO
I
i
' Pt ·c .( ~ ~) I
I
+J·
I

I
I !
I . '
'
j
I
I
I I
' '

W-NAZ-CAP
W-NAZ W-NAZ-NUM-REG W-REG-CAP
W-REG ( 19) W-REG-NUMPROV W-PROV-COD
W-PROV (9) W-PROV-NOME

Il formato con cui si richiama l'elemento, o un sottocampo


dell'elemento, di una tabella a dÙe i'ndici è
nome campo (iri'dicel, indice2)
ove
nome campo è il nome dell'elemento, o de l sottocampo
dell'elemento, della tabella a due indici
il primo indice (o indice superiore) si r iferisce alla
tabella di livello superiore
· il secondo indice (o indice inferiore) si r ifer i sce alla
tabella di livello inferiore
· la virgola tra i due indici è obbligatoria
Si ricorda che le regole formali di scrittura r i chi edono che
· la parentesi sinistra deve essere preceduta ma non segu i ta
da spazio
· la parentesi destra non deve essere preceduta da spazio
· la virgola che separa i due indici deve esse r e seguita da
spazio.
Si .ricorda inoltre che un indice può essere
una costante numerica intera positiva
un campo elementare numerico intero non r ipet i tivo con
valori positivi non nulli, possibilmente COMPUTATIONAL.

22.5
Proprietà ltalsiel s p A .. Le copie orig1nal1 sono contraddistinte dal retino stampato 1n rosso. Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Con riferimento all'esempio precedente, l'elemento W-PROV
(1, S} rappresenta quindi la Sa Provincia della la Regione.

Se il campo IND contiene il valore S, l'elemento W-PROV (3,


IND) e il campo W-PROV-NOME (3, IND) si riferiscono alla Sa
Provincia della 3a Regione: e analogamente il campo W-PROV-
COD ( IND, 9) si riferisce all'ultima Provincia della Sa
Regione.

Se inoltre il campo INDI contiene il valore 19, l'elemento


W-PROV (INDl, IND} si riferisce alla Sa Provincia
dell'ultima Regione.

4. Si definisca la seguente struttura

W-OFF-COD (3 N] W-OFF-REP-COD (3 N]
W-OFF
W-OFF-REP (10) W-OFF-REP-NUMDIP (3 N binario]

W-OFF-REP-DIP (100) - (6 AN]

I
..
I
,.
]'. o I
: : ' :
!
I
I i I
i I
'
3 1• o i I I
I
! I : I :
1. o ' ' I I
J
I ! : :
I:
I
'I I I
i : I I
I
I
.. o 1o I I
: : : '
I
I : :
I
' i I I

! i ' I

Al.I " "'IW\'°"'• .......

' • o
' • 6 IO
I
.1. ~-of r . .
', , o rJ'!> - ofF-coo
ri$. : -o F.-·R-E P. : . uu ~s ' , .
J ' o 5 -o r-i:i P-co pie. 9~9.
] .' . I o 5 -o f-1ttfi-·rl HDIP PI ~ ~( 3) ( DH P • '
i l:. ,. I
5 -OF F-R.€ -DI p.; e e L> s ~/i PI xl ) .
J . 1o '
I I
' . oto ...J. _ ____,.____

22.6

La cultura è un bene dell'umanità (fantomasping@libero.it)


"T"ALSI EL I
& lGRUPPO
I """'
IAI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

5. Si indichi
A. la dimensione e il numero di elementi della tabella w-
OFF- REP
B. la dimensione e il numero di elementi della tabella w-
OFF-REP-DIP
c. la lunghezza dell'elemento W-OFF-REP-DIP
D. la lunghezza dell'elemento W-OFF-REP
E. la lunghezza del campo W-OFF

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A. Uno
Dieci
B. Due
Mille (10 X 100)
c. 6 bytes
. ..
D. 605 bytes (3+2+6xl00)
E. 6053 bytes (3+605xl0)
·..

6. Data la seguente definizione

o:' 10 :'
I
o .. ' o
:tv-:RP. p ;.·
o J• o
'
. p3.: - I
.,
i o • •

' o o

' ' Io
:
:,.3 5
-OP
5
c.
-of' e-HO I([
~
s ~p .
IC

/C
(~)

(6) .
:
"o

si indichi
A. la struttura del campo W-REP
B. la dimensione e il numero di elementi della tabella W-
IMP

c. la lunghezza e il numero di elementi della tabella w-


OPE
D. la lunghezza del campo W-REP

22.7
Proprietà 1tals1el S p A Le copie ong1nal1 sono contraddistinte dal retino stampato 1n rosso . Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


W-IMP (10) W-IMP-NOME (6 AN]
A. W-REP
W-OPE (100) W-OPE-NOME [6 AN]

Le strutture ripetitive W-IMP, W-OPE non sono gerarchiche,


perché definite allo stesso livello 03

B. Uno
Dieci
c. Seicento
Cento
D. 660 bytes (6xl0+6xl00)

7. Date le seguenti definizioni


.- -·- - - - ·- . .
A. ' !
I
:!: i: ..f' i.u-'~E l !'
l
I I i I
!
: i I
I i ' I I
I
l I
I
'
:

I I !I
f.: I I

.
1 I '
~ 1tt p
i I
' 'c.

! I ' I 1 ; 1
'

~J
(6) '
:
R.~ I PIC I I I ;

(6) .
I
..... I
I
, I I
-'op r: ! I ~
~s
1

I
f.~ PIF 'i ~ .
I i
I:
I

I I f,
I I
' I I ; I I I I
I I I
:
I :
I I : i : I

B. ' I
' f • • •• cu-tE. .'
I
I
Ii I
'.
I I
I
'
; i
~1. :
' : i '
' 1"' <I
~3, -.IH ~ f::°f ;U~~I I I ; I
:) -1H ·Hf>
, I Ej i
I
I ' Pie:
' I : I

· ~·
I
'
'I.-!>: -I> I ~ '
()CiC: RS I
'
' 5! '
-D E10 ~ {; ~ I ' I ' '
I : , I
'
'. 1..
I
I
; I I ! :
!i I
j

'
I I I i
' I
I
'
I I
'

' : I
: I
I
'
I

:
l i
'
I I ' :
I
!
I l I ! I I
! I I
'
: I I ' :

si indichi la differenza tra le due strutture

Nessuna. In entrambe il campo W-REP è costituito da due


strutture ripetitive semplici e consecutive: w-
IMP, W-OPE

22.8

La cultura è un bene dell'umanità (fantomasping@libero.it)


....ALSI EL
lGRUPPO
I~
IRI FINSIEL
I FORMAZIONE
Strutture
per I 'evoluZtone

8. Le seguenti definizioni sono equivalenti?

i'
I
I ! I
j · I I I .. , '
I
I

. • I i I ' ' I

~CD X(6) , : ' I I


'
11
oo; :[ &,) ~ I ' !
; 1
I
I I I '
I : ; J I

i I
' I
' I

Prc I t

Pi~
l
i
I

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

No. Pur allocando la stessa ampiezza di memoria (1200 bytes}


al campo W-REP, esse gli danno tuttavia una profonda
differenza di struttura:
nel primo caso :

9. Data la seguente definizione

3.

si indichi

22.9
Propneta ltaisiel s p A .. Le copie ong1nah sono contraddistinte dal retino stampato 1n rosso . Ne e vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


A. la struttura del campo W-OFF
B. l'elemento di tabella a una dimensione
C. gli elementi delle tabelle a una e di quelle a due
dimensioni
D. il numero di elementi delle tabelle a una e di quelle
a due dimensioni
E. la lunghezza degli elementi W-REP-IMP,W-REP-OPE,W-REP
e W-OFF

W-REP-COD [3 N)

A. W-OFF W-OFF-COD [ 3 N) W-REP-NUMIMP [ 3 N p)


W-REP-IMP-COD [6N)
W-REP (10) W-REP-IMP (20)
W-REP-IMP-NOME [20AN)
W-REP-NUM-OPE [3 N p)
W-REP-OPE-COD [6N)
W-REP-OPE (100)
W-REP-OPE-NOME [20AN)

B. W-REP
C. W-REP, W-REP-IMP, W-REP-OPE
D. Una dimensione: 10
Due dimensioni: 200, 1000
E. W-REP-IMP 26 bytes
W-REP-OPE 26 bytes
W-REP 3127 bytes (3+2+(26x20)+2+(26xl00)
W-OFF 31273 bytes (3+3127xl0)

22.10

La cultura è un bene dell'umanità (fantomasping@libero.it)


l "r'ALSI
I~
EL
GRUPPO IRI FINSIEL
IFORMAZIONE
Strutture
per l'evoluzoone

10 . Si vuole definire in WORKING-STORAGE SECTION l'indice di


una tabella a una dimensione
A. Quante cifre devono essere definite nella sua PICTURE?
B. Qual'è la rappresentazione (USAGE) consigliata?
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A. Tante quante sono le cifre necessarie per esprimere il


numero di elementi della tabella (ad esempio 3 cifre per
una tabella di 100 elementi)
B. Binaria con allineamento (COMP SYNC)

11. Per la gestione delle tabelle dell'esempio precedente


.,
,," I I i ! I '
' II
' i '
I I
I
I
I
I

, • .o
t I i ' t I ' I
'
I
I
I
i
I I
I
' I ' I ' '
I

II
I '
' • •o
I I
I II I
I :I : ' I

I'
' '
;
I !
, .• .o II I I I
I i
I II
I i ; I
I
I ! I ' I
I I '
II
I

I
! I I
II I i
I
, 'o 1o I I iI !
J
: I
, o
i
I
' I
I I' I i I

i I' :'
I I I

J 4 lO I I
I ' I
I
I I
I '
I I
I

'••;o I I'., I
I I I I
I
I ! I
'
I
, ! • !o
I ·1 I

' '
I
I I
I :
I I
I I I
I I I
' I
I

I I I
' I '
• o .o I I ' : I I I
: I : i
I I ''
I I I ! I i I
I
,.I I II I! i I I Ii
I I I
I I I I I
I
I
I
I I
I
I I
I
I ' I
i I I
! 'I '
' : '
I
: I I
I ' I
II I t ; I I
I ! I I; '
. ... . . -.... ..._.
I I
I
'

si vogliono definire gli indici in WORKING-STORAGE SECTION .


Quanti indici sono necessari?

Sono 3. Un indice per ogni OCCURS

12. Si definiscano tali indici, assegnando loro i nomi w-


IND-REP, W-IND-IMP, W-IND-OPE
- --- ---.----.----.--~----r--,--,r--
1 • o
' '
1 1t !o
' • o
• o o

22.11
Propneta ltals1el S p.A Le copie or·g1nal1 sono contraddistinte dal retino stampato in rosso Ne e vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
' J •
llOUUt Cf

IP'AQU ISl• IAl " A

o
1 I

' 10

;;;
o ..
' 1Z .. 20 ,. H 32
..... 40 .. . u .. •• .. .. "
I '
I I
. ' . !
'1t : W-:tH b-'R·E,; !I I '
I I i I' i
'
l' o·.
~·CJ· co.Hf
I I I

I
+1·
o!. o
~~ . w. -: 1~ lb·-:ob·_:, :, p
l i I' '
'
:
I
I

I I
I
:
IC
ID t C::: '39 coHP
: ~y
1'/C, •.
sy HC. I
: '
'
I wc.
I I :
'
.
I
o • •o :t,-1-, IAl,- .1:ti I E" ' ' io I e ~99: e.o Hf $.Y
I
''. o '~ I I
I I: ; i II ' I

L ' uso del livello 77 permette risparmio di bytes in memoria

13. Se W-IND-REP, W-IND-IMP, W-IND-OPE si riferiscono


rispett i vamente a W-REP, W-REP-IMP, W-REP-OPE, quali
i ndici si riferiscono a :
A. W-OFF-COD
B. W-REP-NUMIMP
C. W-REP-NUMOPE
D. W-REP-IMP-NOME
E. W-REP-OPE-COD

A. Nessuno (W-OFF-COD non è un elemento di tabella)


B. W-IND-REP
C. W-IND-REP
D. (W-IND-REP, W-IND-IMP)
E. (W-IND-REP , W-IND-OPE)

14. Quali val ori possono assumere i tre indici, quando fanno
riferimento ad un elemento di tabella?

W-IND-REP: i valori interi compresi tra 1 e 10


W-IND-IMP: i valori interi compresi tra 1 e 20
W-IND-OPE: i valori interi compresi tra 1 e 100

22.12

La cultura è un bene dell'umanità (fantomasping@libero.it)


l..."'-LSI EL
I~
I FORMAZIONE
Strutture
uRUPPO IRI FINSIEL per l'evoluZ1one

15. Quali delle seguenti istruzioni sono formalmente errate?


o!' fo '
' . .I
I
~ . I
.
! i .I
TI.
' . I-
Lu- tÙ~p; rno: ~-;l Ofi.'
J •

A.. iI ti OVE i '


I I ! ! ' : I
: :
I 1 ~ ;' I. I' :I I ' •

Ho!Jé .i Lt)-' R,éP: r~t. :


I I : ' '
o • o
;' -. I!
B. I'

' : ·I+ I
I I
o . lw-co
.. . H.' : .
'' . . :
I

I I
'
I !
' ;
I

,...
I !
'i .. ! I

c.. • '
;
'
I
o lo

' o
:

.! . :FH>D,
I
.. w-. REP:... NLliHJ H:~ J IV..J.1f" D:-iE P)
i .. i .
I
I To
'
W-TO
I

I ; 4 lo I
' I

o. I
i
t i6 o
I ·.su·a1 f?..l~·c1 , LU- ~~P:- "'1i11'0 PE. ;( i~)
... F·~o t w- TOTI LE.
1 ! 1 • (' I I . i I
I I ...
E.
I
I
, ' o :o
I

ADD'. ~-: eE P.- .NvH. 1~P


I .. j ! '
:cw·- INC- IÙP) TO t.U- ~f F>-HV HoPr rw -IN D• fÙ:P)
' : , 10 : I I
I
ts.1 VI HG w-;-:c I '-
..
1 • IO I

F• ". ,'. I

'
Hòvt:
I . '
: UJ- R.r~:- 1 :~'p
'
(.ii) :ro w-c okoo lo.
I

.
I
' !. 10 i
'
Ji_o_vE . w- R:EP:.. P:PI,t (J,t~-j ~~)
: I

G. 3 I oIo
'
TO w-c o.H.
' io ' I '
' .. , ~ I
.
I
' :
H. 3 1 . 10
I ;
I

~ov~ I w- ff.:P- o:P [ cw-:t H.D·-'f EP~ W- IH ID.-oP r) 10 (,L - e.o >1
;

t,. .r
I • I

I II 61° I I
3

_ uù,·
I I I

I. 3 I 1 10

' •;olo
I
'
;
I
~9 :vf I
tu- Rr:Pi- 1){p'
, I . i : . (w- ·1
i ' ;
I
H.D·- R.
,
I .

' , I
I
'

I : ) ~~Ji, TO w-TO
I
. '
I

'
' ' I

L. I 'f:Z :" i
. ft:D,V.E ' w- R.EP:- O.Pf'- le.oh (w- 1 HD-~ EP/ 1 ~) 'V~ .
Lll-co H. 1 I
q'3 G I
I
! ; I I

. I . ' I I
H. ' '
I •

tf.·'f.O
-
:
I
I
Hov·e w- REP- OPE.- "l>~r
-
<w· I HO- ~tf., lU- I HD-O PE)' Tl) W·l. o·Hob
I
o.

A. W-REP è un elemento di tabella a un indice


B. Un indice non può essere nullo
D. La tabella di W-REP-NUMOPE è formata da 10 elementi
F. W-REP-IMP è un elemento di tabella a due indici
G. Il primo indice non può superare il valore 10 (la tabella
di W-REP-OPE è una tabella lOxlOO)
I. Il secondo indice non può superare il valore 20 (la
tabella di W-REP-IMP-COD è una tabella 10x20)
L. Un indice non può essere nullo

Se l'indice è una costante numerica, il riferimento


all'elemento di tabella (il calcolo del suo indirizzo) viene
risolto in compilazione: pertanto gli errori precedenti sono
segnalati in compilazione.
Se l'indice è un campo di memoria, il riferimento
all'elemento di tabella viene risolto in fase di esecuzione
del programma.

22.13
Propr1eta 1tals1el S p .A Le copie originali sono contradd1st1nte dal retino stampato in rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


16. Quali delle seguenti istruzioni generano errori (in fase
di esecuzione)?
H OUl•Cl
IPAOU llHUAl
1 >• . ,.
z
8A ..,.
. ,. •• .. •o· ... .. .. •• .. . 71

!: Il °l'Io ! I ! I : I '
rI ~:9' (o t1 f $/N'c V~L v'i ~ .1 :
,I
o • o
10
JI ,' I I. II
I

i' . I
; I
c.
~IC 9~ coHP 5'/ffC. '·
o • ! I' ! 1
I o •,o I
. I i
~le. ~99 . c..oHP SY~C VrtLVE:' ~1;.
; t I I
I.
o o 11 .
I I .
1

I
t !
Pie. t(31~!/). , 1 !: ,
I
I
: I 11 Io 1-1 1 I I i P1t. ~lt.> I J I
I I ;

r '
·I·i 0
li I
I
:
I
1· I

!
I.
, ~ • 1o
I I '

A• ! 1
i1 1 10
I i
(~- :1n:n:.~E'.P); ro w-co;~ . · : .
I
I 1j O O

B. 7
I
1 IO
I
W-·I ttb- ~ if> ,
, •• ~ o
I 1 :·1
• •

c.. ,:.1.
I .
To
I i • IW.-1
i.
'ltff) -·~ f P .
.:
W-1 IN.D- .1 Hp'.
i '
I ! I

'I' j•
D.
I

I 1
3 · 0 10
J l
io· w..:llfD-~EP l w-'11i1D'- ollt.
! w-icf>:..IOPE"-~o :i)' /w-1WIJ-~'fP.' w-1ffo-·o'P1E)'
I
! ; I

l 1 •o
I • . , . . , . -' . lro
j ' i•io
! I ! I : I •, I
' I I

:: 'l+
,1·1 o
I

/
I

I
! I
'
I I
,,I
I
: ! I

I Ì I
I J ' I I
! .. t o! o I I : I t
I I \
I '

A. Un indice non può assumere valori nulli


D. W-IND-OPE non può assumere valori superiori a 100

Come tutti i sottocampi di un campo composto, gli elementi


ELEMl vengono disposti in memoria in modo consecutivo e
contiguo: ELEMl (1), ELEMl (2), ••••••• , ELEMl (n).
Ciascuno di essi contiene al suo interno gli elementi ELEM2,
anch'essi a loro volta consecutivi e contigui.

22.14

La cultura è un bene dell'umanità (fantomasping@libero.it)


l"T"ALSIEL I
& I """
GRUPPO IRI FINSIEL
FORMAZIONE
Strutture
per l 'e voluzione

17. Riprendendo l'esempio precedente


I , .
1 J, lo L
'
!
I ' '
'!•10 ' : !
i I
' !•lo ! I i
' L

+io
3 1 'I o 'oHP 3
'
.
!
' : i
; i ;
I I ' i '
t i l I• o
I L
;
.I
I :
: L ; i ~ ' !

I i
I
I
: I I , , i .
. . ' ' l ' i:.
L
I I .

A. qual'è la lunghezza dell'elemento W-REP ?

B. qual'è lo scostamento tra W-REP ( 2 ) e W-REP ( 5 ) ?


c. lo scostamento tra W-REP-IMP (2, 3) e W-REP-IMP ( 2 , 20) ?
D. lo scostamento tra W-REP-IMP (l:; 3) e W- REP-IMP (4 , 10) ?
E. lo scostamento tra W-REP-OPE (l~ .. 2): e W-REP-OPE ( 2, 3) ?
F. se l'indirizzo di W-REP-OPE. ( 1, 2) è 0123AO, qual'è
l'indirizzo di W-REP-OPE ( 2,. .3) ?

A. 3 .12·7 byte·s ( 3+2+26x20+2+26xl00)


B. 9.381 bytes ((5-2)x3127)
c. 442 bytes ((20-3)x26)
D. 9563 bytes. Lo scostamento tra W-REP-IMP (1,3) e W-REP-
IMP (4,10) è pari alla somma tra lo scostamento W-REP (1)
+ W-REP (4) e lo scostamento W-REP-IMP (4,3) + W-REP-IMP
(4,10); pertanto esso è di (4-l)x3127+(10-3)x26=9563
bytes
E. 3153 bytes ((2-l)x3127+(3-2)x26)
F. 012FF1. Lo scostamento tra i due elementi è 315310 = C5116
Bytes; pertanto l'indirizzo richiesto è 0123AO+C51 = Ol2FF1

22.15
Proprietà ltals1el S.p.A . Le copie on91nal1 sono contradd istinte dal retino stampato in rosso . Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Lo scostamento (o displacement) tra l'elemento (i1, j1) e
l'elemento (i2, j2) è pari alla so~a tra lo scostamento
lungo la prima dimensione ELl (i1) + ELl ( i2) e lo
scostamento lungo la seconda dimensione EL2 (i1, j1) +
EL2 (I2, J2)i e quindi è

d = (i2 - i1) Li + (j2 - j1) L2


ove L1, L2 sono le lunghezze degli elementi ELl, EL2.
Se I1 è l'indirizzo dell'elemento (i1, j1) 1 l'indirizzo
dell'elemento (i2, j2) è

22.16

La cultura è un bene dell'umanità (fantomasping@libero.it)


l ....""LSI EL I
& I~
GRUPPO IRI FINSI EL
FORMAZIONE
Strutture
per l 'evoluzione

L'estensione che dalle tabelle a un indice ha condotto a


quelle a due indici, conduce analogamente per ricorsività
alle tabelle a più indici. Il COBOL, però, permette il
trattamento di tabelle solo fino 2 tre indici.

Se l'elemento di una tabella a due indici contiene a sua


volta una tabella a un indice, si dice che gli elementi di
questa formano una tabella a tre indici (o a tre
dimensioni).

Tali tabelle sono dunque le strutture con tre gerarchie


ripetitive di dati

CAMPO { ELEMl (n) { ELEM2 (m) { ELEM3 (p)

I dati ELEMl formano una tabella a un indice di n elementi.

I dati ELEM2 formano una tabella a due indici di n x m


elementi (di tipo n x m).

I dati di ELEM3 formano una tabella a tre indici di n x m x


p elementi (di tipo n x mx p) • .
Il formato con cui si richiama 1 'e.lèmento, o un sottocampo
dell'elemento, di una tabella a t~e· i~dici i

nome campo (indice!,· indice2, indice3)


ove

· nome campo è il nome dell'elemento, o del sottocampo


dell'elemento, della tabella a tre indici

il primo indice (o indice superiore) si riferisce alla


tabella qi livello superiore
· il secondo indice (o indice intermedio) si riferisce alla
tabella di livello intermedio

· il terzo indice (o indice inferiore) si riferisce alla


tabella di livello inferiore
Le regole sugli indici (formato e definizione) sono quelle
indicate precedentemente nelle tabelle a due dimensioni.

22.17
Proprieta 1ta1s1e' S p .A Le copie originali sono contraddistinte dal retino stampato in rosso . Ne è vietata la nproduz•one

La cultura è un bene dell'umanità (fantomasping@libero.it)


Nell'esempio seguente i campi W-REG formano una tabella a un
indice di 19 elementi; i campi W-PROV formano una tabella a
due indici di 19 x 9 = 171 elementi; i campi W-COM formano
una tabella di 19 x 9 x 150 = 25650 elementi

.. . . ,. .. . .. .
H OUt NCl

,.
too-
Z
t 'AOU llUl lAl 81 A• • •• •o
, J • •
'" I
12

I' j I
I

' i I ;
, I ' :
:J i i : I

PI c. X(1
I ;
I
I!
PIC ~9 I
,I I'
I
I

Pie
J>I ~ I I

•I• jo (>I(.
' i '
1 0 I0 P•c .i
, ., 'jo ~5/. !'
' ' p I c. ; I I I
7j6 0 p/C.
_
I

''"°i
, ; • o I
' !
' _......,__._ _.__~-. ~

W-NAZ-CAP
W-NAZ W-NAZ-NUMREG W-REG-CAPL
{ W-REG (19) W-REG-NUMPROV W-PROV-NOME
{ W-PROV ( 9) W-PROV-NUMCOM W-COM- COD
{ W-COM (150) W-COM- CODl
{

18. Con riferimento all'esempio precedente, si indichi

A. qual'è il 5° Comune della 3A Provincia della lA Regione


B. la dimensione e il numero di elementi della tabella
formata da W-COM-COD

C . la lunghezza degli elementi W-COM, W-PROV, W-REG, e di W-


NAZ

D. quali valori possono assumere i tre indici di W-REG,


W-PROV, W-COM
E. lo scostamento tra W-REG (2) e W-REG (4)

F. lo scostamento tra W-PROV (1, 2) e W-PROV (3, 4)


G. lo scostamento tra W-COM (1, 2, 3) e W-COM (5, 6, 7)

H. L'indirizzo di W-COM (5, 6, 7) I se 0145BA è l'indirizzo di


W-COM (1, 2, 3)

22.18

La cultura è un bene dell'umanità (fantomasping@libero.it)


'T"ALSIEL I
& lGRUPPO
I~
IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzoone

A. W-COM (1, 3, 5)
B. Tre
25.650 (19x9xl50)

C. W-COM 5 bytes

W-PROV 767 bytes (15+2+5xl50)

W-REG 6.920 bytes (15+2+767x9)

W-NAZ 131.497 bytes (15+2+6920xl9)

D. i valori interi 1 + 19, l + 9, 1 + 150 rispettivamente


E. 13.840 bytes ((4-2)x6920)

F. 15.374 bytes ((3-l)x6920+(4-2)x767)

G. 30.768 bytes. Lo scostamento W-COM (l, 2, 3) + W-COM


(5, 6, 7) è pari alla somma tra lo scostamento
W-PROV (1, 2) + W-PROV (5, 6) e lo scostamento W-COM
(5, 6, 3) + W-COM (5, 6, 7), pertarito esso è (5-l)x6920+(6-
2)x767+(7-3)x5 = 30.768 bytes

H. OlBDEA. Lo scostamento tra i due elementi è 3076810 =


783016 bytes; pertanto l'indirizzo richiesto è
0145BA + 7830 = OlBDEA.

Lo scostamento (o displacement) tra gli elementi ELEM3 (i1,


j1, h1) e ELEM3 (i2, j2, h2) della struttura

CAMPO { ELEMl ( n) { ELEM2 (m) { ELEM3 (p) {

ove L1, L2, L3 sono le lunghezze degli elementi ELEMl,


ELEM2, ELEM3.

Se I1 è l'indirizzo dell'elemento
l'indirizzo dell'elemento (i2, j2, h2) è

22.19
Proprietà ltals1el S p.A Le copie or1g1nali sono contradd1st1nte dal retino stampato n rosso Ne é vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Alcuni compilatori impongono dei limiti alla ampiezza delle
tabelle.

Il compilatore IBM OS/VS COBOL 574~-CBl pone tale limite a


131.071 bytes.

In tali casi, quando il problema specifico richiede il


trattamento di tabelle di grossa ampiezza, i dati vanno
riorganizzati o distribuiti su più tabelle.

ACCORGIMENTI PARTICOLARI

· in fase di caricamento
· in fase di ricerca
Terapia

· controllo dell'indice

Es. se gli elementi della tabella sono 100 si controlla


sempre che l'indice associato alla tabella non superi il
valore 100

Questo tipo di gestione comporta la necessità di


manutenzione del programma •

•• • sfondamenti di tabella

• "tappo" di tabella

Si inizializzano gli elementi della tabella in modo tale


che, subito dopo l'ultimo elemento caricato, se ne trovi
uno con chiave più alta di quelle realmente possibili.

22.20

La cultura è un bene dell'umanità (fantomasping@libero.it)


"T"ft.LSI EL I
& lGRUPPO
I~
IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

1. Tabella inizializzata ma non ancora caricata

9999 .
9999

9999

9999

9999

9999

9999

CHIAVE CONTENUTO

2. Tabella caricata .···.

0123 BIANCHI ..
2728 ROSSI
3516 TIZIO
7081 CAJO
8544 SEMPRONIO
TAPPO - > 9999

9999

La gestione tramite tappo richiede poca manutenzione, a


patto che la tabella sia stata dimensionata tenendo conto
della possibile crescita del numero di elementi.
Impostazione del numero max di elementi che la tabella può
contenere e del numero degli elementi caricati.

22.21
Propr1eta ltals1el S p.A . Le copie originali sono contraddistinte dal retino stampato 1n rosso Ne e vietala la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Tale metodo prevede:

1. Una definizione della tabella simile alla seguente:

l ! O IO

," , '
. '
. '

~{ W-Tfl ~-
. . . ...
...
. ..
:1 • Io fJ3 W-Tfl B-NIJ JfH.ft ~ p /C. 99 . (1')
.. 1 :6 IO ~3· w- rn
B-HU HfR.ES p I C. ~9.
, • o
' .
~3 I
W-TA B-EL EH oc.c.u ~5 ~ ~TI HE.5.
• o o ~5 . IJ.J-T fl B-·EL E H-c. RH·{ PI e b<X •
420 ~5 ~-TA S-E.L EH.-C. ff#Q, f I C. IXX.
44:0 '
4-t°o
-

2. L'impostazione, in fase di creazione o di caricamento


della tabella, del campo W-TAB-NUMPRES con il numero
effettivo degli elementi caricati

3. Il controllo nei test di scorrimento che l'indice


associato alla tabella non superi il valore contenuto nel
campo W-TAB-NUMPRES

(*) contenente il numero che compare nella clausola OCCURS

Si evita così:

· lo sfondamento della tabella


Si riduce inoltre:

· la necessità di manutenzione del programma


il controllo, in fase di caricamento che l'indice
associato alla tabella non superi il numero di elementi
W-TAB-NUMMAX svincolando il programma da correzioni
complesse in caso di modifica delle dimensioni di tabella

22.22

La cultura è un bene dell'umanità (fantomasping@libero.it)


"T"'ALSI EL
lGRUPPO
I~
I FORMAZIONE
Strutture
IRI FINSIEL per l'evoluzione

ROTOLAMENTO

Per dare un valore iniziale ad un campQ di WORKING-STORAGE è


sufficiente utilizzare la clausula value

Es.: 01 PIPPO.

03 PLUTO PIC X(l5) VALUE SPACES.


03 PAPERO PIC S9(3) COMP-3 VALUE ZERO.

E' possibile inizializzare un'intera tabella, con una sola


clausola VALUE, nel caso in cui la tabella possa essere
assimilata ad un unico campo di memoria:

Es.:

01 TAB PIC X(lOOO) VALUE SPACES.

01 TABl REDEFINES TAB.

03 ELEM PIC X(5) OCCURS 200 TIMES.

Non è possibile farlo nel caso in cui la tabella da


inizializzare presenti al suo interno una distribuzione non
uniforme di configurazioni.

Es.:
01 TAB.

03 ELEM OCCURS 100 TIMES.

05 A PIC XXX.
05 B PIC 59(5) COMP-3.

Se si vuole inizializzare 09ni campo "A" a BLANK ed ogni


campo "B" a ZERO PACKED, puo essere utilizzato il metodo
detto "rotolamento"

.. '

22.23
Proprietà ltals1el S p A Le copie originali sono contradd1st1n te dal retino stampato 1n rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


In una operazione di MOVE alfanumerica i bytes vengono
spostati dal campo di partenza a quello di arrivo uno alla
volta e da sinistra a destra.

-
MOVE PIPPO TO PLUTO

PIPPO PLUTO

ovviamente la stessa regola vale se, dei due campi operandi


della MOVE, uno ridefinisce l'altro.

Vediamo cosa succede nel caso di una MOVE alfanumerica tra


due campi così definiti:
01 PIPPO

03 FILLER PIC X VALUE SPACES.


03 PLUTO PIC X(3).

PLUTO

PIPPO

effettuando l'operazione

MOVE PIPPO TO PLUTO

Il blank situato all'inizio del campo PIPPO si propaga


(rotola) nel campo PLUTO a causa del meccanismo della MOVE
or ora descritto

22.24

La cultura è un bene dell'umanità (fantomasping@libero.it)


""l'"ALSIEL I
& lGRUPPO I~
IRI FINSI EL
FORMAZIONE
Strutture
per l'evoluzione

Applichiamo il principio del rotolamento ad una tabella


complessa

I
,I' ~ o ' I
I

ti e f o i:i . ' I

.:+
7 ' 10

E.
I

!.

~.
Pi e (3
': . [o .-B P1c. ~S( coHP· ·j •
. • j
, • o

7
I '
!8•O
• .
! f
1 '
I
'
+ !
.. : i I· . I' .. 1 .'
.' I. I'
~1.: w~ I : 1 1 . I
3 o.o •
~O fF I Wt'S : W- ft8! •
; (i3' :
I ' -·c. I ' I '

i!; .; '.
' •
Pie: i(:,) .
rJ 3' I . _. D I " i 11
Pie S9{ ) ·co HP -' •.
:t • • o
' I
I . •
' . ' . . . ..
.. ~~·: :..:~
I ' •

'
! !
1
316 o
I '
I ' PI C. ( 59 )•
I
• ·o
. w· e.
l I
I

UJ-0.

A questo punto il 1° elemento di W-TAB sarà così


configurato :

I· ·I

Per effetto del meccanismo della MOVE alfanumerica la


configurazione del primo elemento di W-TAB si espande
(rotola) un byte alla volta in tutta la tabella che risulta
così inizializzata.

W-TAB-ELE (1) W-TAB-ELE (2)

22.25
Proproeta ftals1el S p.A Le copie orog1nah sono contradd1st1nte dal retino stampato in rosso. Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


CARICAMENTO DI TABELLE

Il trattamento di una tabella in un ptogramma si articola in


quattro fasi successive
- definizione
- inizializzazione
- caricamento
- elaborazione
La definizione descrive in WORKING-STORAGE SECTION la
struttura della tabella: dimensione, numero di elementi, la
loro lunghezza e formato.
Il caricamento dà il contenuto alla tabella: riempie i suoi
elementi con i dati da elaborare.
I modi di caricamento di una tabella sono sostanzialmente
due:
- con dati creati nel programma (costanti o contenuto di
campi)
- con dati esterni al programma (residenti su supporto
esterno).
Il primo modo si può realizzare
- in compilazione, assegnando i valori con la clausola VALUE
- in esecuzione, trasferendo i valori con l'istruzione MOVE.

Nell'esempio seguente la tabella W-TAB viene caricata con


l'uso congiunto delle clausole VALUE e REDEFINES

.u.. .. . .. .. .. ..
HOUlt• C I
io
fPAOll llUUAl
' • ,. •• ., IO
' J •
fl : o
" " 20 JJ Il
"
. '
o • o
~~ W-TA B.
.. ..
1 L IJH[ [) I .
~; :
I
o • o
.. F I L.l E~ Pie. x(9) VAL V[
n o n FILL a. . .
PI e >d ~) VAl VE
Pie I< { 9) VRL LJ[
1
~A~T fl> I I
1 H[ftc Oltb I I
.
F1LL [(i
• o o

, ' n Ci · f l l l E.R.. PI e X' ( ~) VIH IJ[ I G1 ov EC> I


VEH[ Re> I
I

I
.
.
• • o
~~ FILL [(t . . PIC X(') VAL VE I
PIC D< ( 9) VlfL IJt 1
.
~~ ·
I
•• o FI l l ER. 'SAM TO
• • o
. . f l l l ER, flC ~(~) I/hl vr I ~OHE HICf I
.
' o •

' ' o ~~ UJ-IA B1 . R,GC EFIHéS u -n~e.


) 4' ~H '-V-GI bRNC oc..c..ut. ~ ~ TIH r.s Pie. x('.3) •
: ,, " ~ -

22.26

La cultura è un bene dell'umanità (fantomasping@libero.it)


....ALSI EL I
& lGRUPPO I~
IAI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

Nell'esempio seguente la tabella W-LAZIO viene caricata in


blocco con una istruzione MOVE
J I ,O .
·- -·- - - ·- -
, o o
~~ lll-°l'A 2. I 0 •
' ' o
J ! • • o
,_3: W-Lfl Z1 .o- p·e:ov
I
oc. c.vRs s
'
PIC. xx.
.
I

PR.ocE"OVi ~ o I V(5 IOH.


.
J 6 (1

I
'
' • o
• o :o
!
HO v·E' w. io l{o 00 jJ'"O "-'-t.iA Z.1 o .
:
i

In quest'altro esempio la tabella W-TAB viene caricata


elemento per elemento, ancora con una MOVE

.. . .. .. . . ..
ltOUlNCI ~

..
z
IPAOU fllttlAl 8 A I
1 J 4 e 1 I 11 20 24 21 u 12
•• 12

o;' jo i
s:E~ ;
'
o1 · I· 1:0 :H..
O:•ItO
' I
: I
I I
I
' '
C 11 10 I
;
, .I Pie CO HP Ne
-~y \J~Lll E ~-
: i
t , O,O i ., I
. . ,. Pie. oHP -3 .
I
, ,, 1"

I jf i '
OCi:.U s ~. fu:.. .9V HP·- 3 .
' ; . 10

I
. I . ' . . . . .
' ' •o H.L:l31.-c RI e Hl i"O- .
' •'o

. I
' • 'o

' • o
, o o p::
.) :" , o

) I • 0

Il secondo modo di caricamento, quello con dati esterni, si


realizza mediante istruzioni di lettura (READ).

22.27
Proprieta ltals1el s p.A Le copie originali sono contradd1st1nte dal retino stampato in rosso Ne è v•etata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


L'esempio seguente illustra un caricamento da archivio su
nastro:la tabella W-TAB viene caricata con i records del
file "CARICO".
- ·-· - -- -· -- - - -- -

........, ... .. ..: .. ., .. .. .. ..


:;
..
llOUt•C.I

~rnwt:
o
I
. .. ,. ,, ,.
I
J I

. I "; ~· i" ! "I ì


"
I Ii I
I I I
I i
e~: ~ j(.,OI
II I i!: I I I
I i I
! :

I II
" I 4 I oJ
fD .
' I
' ;
:
I

~tloF ~: ~ ~'1~1
I
~o~r
I

~T~ ~cah·A
I
., •,.,"
I
L.A.& ~ I
: I
I

.. ; " '' "


11 r 11~ I
' ' I I
' I I I

o.R;~-
~~-1: : I I I
I I

I ot U
~:
I
LltRI
,: . I I .
I .
I .
I . '
: : : :
P.1 'c
I I
x/8f ). ·. I

' '
" Il . I : I
:
I
.. ~O,. ,K' Hf '. . ~o~ ~.(.
. I
i
I
I

'
...
.. r+
I ! '
w-· lt1 L) .
'
I
;
.
Sc-~7
I I'
'. : I
I 'jr·
I .
I

I
I I
'

P1c g{ ~~ CO(' ill' ~y l'IC VAL~ 'E" 1.


: : I
.. " .. '4 :r- W-ff I
'
P1~ 'X VAL vL I LOUI· 11/tLU E.
I
' : I
111 W-'(A 8.
,3
I
I
', , 1• I

. .I . I I. ; ' ~CC.LJ R.s :

~~'·:
W-Tf} B·CL TIHE ~. I

J ••

..
,, I
rls · W-T~ 8- IL ~·-ftilì.I I. i
I
I
fl1 e X(4)
p,,1 '3(0) •.
. '
! :

~5. w-:r~ ~-:El


I
p I I

, ... ,, f';' '·' I

' : .. ! il:
I
'
:
II
i i
I
I
I

' : I I I

I
I
J • ••
' ' I i
.... .. I
I I ! !
I i
I : ; ' ' i I
I : I
I
... .. : ' : I I
:
I
!
I I
: i ' ' ! I I

! I I
I '
I
; I : I :
I
I
; I
'
I
I " "

I i I I . Ii IlI ' I . II
f '.
I
I
I I
I I ' ; '
I
'
I
I
' I
:
I
I ! I ! I
i ! ! ' ' I I I
I
: I
!
I
I : I
:
: : I

I
I
I I I I
I
I ! I
I ' ' I
I I
i I

.... ........... .......

.. . . ..
___,__ - ·t-!-- · I

__ ..,. - - ·· · ~ ·

.. -·- ' I
-·-,.-- -j

J_' I

................
22.28

La cultura è un bene dell'umanità (fantomasping@libero.it)


... ALSI EL I
& lGRUPPO
I """'
IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

19. Si definisca e si carichi in memoria la tabella di


cambio valutario
W-COD [SAN] -
W-CAMBIO W-VALUTA (6)
{ { W-VAL [6N] con due decimali
i cui elementi W-VAL hanno il seguente valore
1402.55 (Dollaro USA)
200.05 (Franco francese)
600.35 (Franco svizzero)
730.12 (Marco tedesco)
2231.50 (Sterlina)
6.21 (Yen)

.i - ..I ! .. I .. I ' ...: .. .. . I:..


. . outllCI

fP'. . .
' ,,k.......... U A
...
:• .. •• n .. ..
Il
1 I IO

oJt I I:Ii I I I i • I I
' I
: I •

! · II I I I I ! ;I
i

II !· I
~
11
I I \ 1 I:
I! .1I I
I

I
• • o

:I O I O lI
I: :: ! !
Ii !; I !I
I
I'
111
' I .
I. II
:i
. 111
' 1·
11
I ·1 11
I

I
i I
: I
i. II
Ii Ii iiI ·! I!
I
IlI
' I o • o
,I i ! I j
I11 I I.
I
~ I
' • o
I i I: I I
I
i 1 1 I' i I
'I I I I I

I ! .I·. I
I i '
II I.
l
I
I ~ :
I. I
j
I

! II "I 1 i i I I 1 I

I '• :. I ' I. I I
' 1• • 1· 1
; j
'1. I :; I I I
II II II 11 : :
I I
:

'1·.
o

I I
'•
I

j I
~ ! :
I . •
I ' I
I

I I I I !II
I

:I I I
1 1 11
I

I
I I . : 'i
I . I:I IIi :: ;
I

I
I
1 i I I I" I
' I
I
: i
I
i I I I ,
I! I I

I : :I I :
I I 1 I ' I
' o •
i,, II
' I
· : · ' I I :I: I
I
I I
I I' I
.,:I·'1·• I I I: i I 11 ! II .
I I I I
i I , ; !
:I I' I, lI I' II
11
I , I
\
iI
I :
I I i
I .! :' i I
I ;
I
' I
I
T
t

'. , I 11 I I I
!!
I I
I
I !~ ~I
I
I I j I I I! 11 I 11
!i: Ii ' I I ·
i ,,·I·
'I :. ! i I i :I I '
I I .
I ! !I .11
I

)1·'· i 1 i ; 11 I
I
I
I ! I i

II I
I 11 II 1 I I ;I I

I
I I I •
'

I ' ! I!
I ,
I i II
I I'
: I ' ' '
l 1:
I
I I

+· II! I' , I !I
1 ,
, I• •
I ! . I' I
I I I '. J ' '.I ; :
I 1 II I
I
: I
I I I 11 ·
I '

!I II
iII
I ! 1'
' : I I

; I I I' l' I
I I : I ! I' I' I I I : :
I
I I'. :l ! I ' I iI
I
I
I '
I J 1•10
1
I
II I I 1I ! \. I'
II I :
I
I
I ! '. I
I
l Ii I ! !I I.
I

I ,
'
I , . I ; I i I i
I ·I I I I. :I .
'
: I >: • ' · I : I : !l I' II 1 • ' ! I I I I 1 . I ' ' I I:i i
' o I J
. 1. 1. I ~ . . : I I I i . . I I I I
I I
' I ' I

' II I I: I
:I I, .i I I I II
' I ; I I I
II
' : I I
I'
1

iI I
I
; I : !
I' 11 I 11
I I
'

I Ii :
I
I I I

I 1 i! I ! I .
I , I
j I : :
I 11' I I' i !
I
i I
II I 1 I
III i.I 11' iI
! ! :I I: 1I I
I

iI 11
I , , 11 1 :
'
I
'
I
:I ! I I , : I
! I I I I , i' ' I Ii i I: : , I
I i I

22.29
Proprietà 1tals1el S p.A Le copie originali sono contraddistinte dal retino stampato 1n rosso. Ne e vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


zo
. .. .. ..- . .. .. .
8COUINCr

l..AQll lllRl.& l
I J •
•'
U A

:
.:"• .. 20 21 JI
•• 12
•• 12

i i' 10 I ! uJ :. II I I
I i i !
.. I
!
I
I I
.. -~e HOOO .
I o ! : I ' I I
i I
o I • ,o
~H i I ; I
i I
I

I
I
I
+I·1·1·
I ,
' . _,...
rtB. I F.1~l E~
I
II .
I

I
I
: !
i
; r·1e;>(( s) . I
I

I! .
' VlfL vt
I I I
I pie ~(~) ~93 W4~l ·.~5.
' I

. .
I
I i
I
i
o ! I

!
1 1o
1

!
0
I : ) I
I I
Pie X(5.)
'I I
:I :
Pie 9(4) v99 :i~~ .ffs .
l I '1' 1° I
I I I I ! I. !
i
!
I
I i I
I VAL UE .
f ~-~5)
I I
: I ' • Io
:: I
I ji I
!
I. !
I
IC
I
I

' 1110
I :
'Ie o 1
I
I
!l ; I!
;
i •
I
'
I I PIG 9 4) \Ì99 V/tl ut 6;o_~ .3·5.
i
I

I I I I I . I
II
I

I Pie xrs) ' f 3;


I

' o o
:
'I I I I I II Pie B 4) v39 Vfi:LU_E .:1J.
I
.
I
I :
i ; pie. ~( .5 )
' ' Io I i I ..
,' • lo
. I
I i' I
I i
! : I
Prc. g_(4) v~g Vfll UE ~3~ ;5p.
I
'
: :
1
e 1o I
).
...... I
I
I i i
I
:
i
i i
Pie X(S) .
.t{.
I
, I e !O '
;
I
: i
I
I
I
I
I I
Prc S(4) v3~ VAL V[ 6
' J I O •O
1 ,
I
I i i : :
! I •: . I d I: I . : I ' ' i .. 1 :
J I, ~o
I ~: W-tf'l HB.l :C ! :~G Ef ;1 HE,>. ~~e: oMco o.
éS __
'

~3: pc ~i).es 61 !°I h


I 1
J:•10 W-VA K,._U;TA
x.r s,"
I
II rj5'
I
: .. .. J :
1 1
0 o p Il.
.i !i
I i ~- . co ' I

',...
3 6
i :l I I ; ! I

. .. J_g9.
I
' ' :

I ~~· '
i
i • I
I l.l)-VA L
;
I
I
I
;
i I I Pie. g(4' ~ '
I I " o,. i
I
I '. I II I I

I
I
I
I
.
I I
I I I I
I
!
I
I : ' :
. I I I !
I I
I
I : .
l
I I I
! ; I I ! I I I
i : I ! : I
I
I
! : I I

20. Si vuole caricare in memoria una tabella di dati


statistici su 30 Provincie.

La struttura è la seguente

PROV [2 AN]
Gruppo (30)
{ DATI [70 AN]

I dati di c i ascuna Provincia si trovano su un file formato


da 30 records, il cui tracciato è

22.30

La cultura è un bene dell'umanità (fantomasping@libero.it)


...""LSIEL
lGRUPPO
I """'
I FORMAZIONE
Strutture
IRI FINSIEL per l'evoluzoone

W-PROV W-DATI
2 AN 70 AN 8 AN

Sono corrette le seguenti istruzioni?

1
HOUlllfC(

IPAOll IHfUAl
J•
A
11 1
.,.
2
8 ' I
12 •• 20 J4 JI .. . "" .. •• 12 .. IO ••
i
.. "
I
I I '
I i
'
I '
I
I
; I • '
I
' I
! I

uT-S _.PR.o VI . :
I

'
I

pI c.. x· (a~). : ' ' I


I

~5 6'HP 5•YHC vf/l.u E 1. I

x· v~Lvr l.o~ -'IAL uf.. :' ·


I
I

T /JiES ~
PI c. ><><.
P IC X(+~); I

i·;•• ~{ w-.f>~ ov' . · · , : : : · 1


I
1 ·. .• i :
I

:! ' . .~ 3 . W- pRo " I - ,. 8'»V PI~ XX. I


•.•1° I! -,3:: ~-,PROVI -DATI I
I I '
1
' I' I' I Pie x(~~)'. '
I

,:.i. : .'i3 F,IL.L[~


, •• •
, . Di
:
oie b u~ r D 1 v1 s
I
1 oH •
P1 e X { 8) • :

:
.•• ~L-~.~ .tJ· -: 1 Htr' o. '
I I I 0 OPEH I tf P'->T P,R.OIJ I •
> o r R,E~t PR ov I 1.~TO W· PRo'v I Ai E MO
Ho.VE H 1 GH-VA t.IJE ro iv-fiF.
, • ( Cl I
I
' I t 10 ~L -f;?J? ~t. FW,.
1
' I
I 10
Hovr- w-PR.ov1-Pt.011 ro LU- P RO V (IAJ- I li [).) •
ro
I

., o' o H.ovE: w- P~O "~ .- .Olt TI . 11- PA r 1 ( W -.I ti l>) •


l , Io

)I. o R~AÌ:> PR.OVI I HTO W· PR.OVI AT t"tfD


MD\JE ,.. 1 ).H-V AL ur
ìo w- r::F.
IF , Lti-'FF NOI E&vftL Ht'3-H-VALllé
. A!>J> f io w.·1 Nl>
I

1
..•

Si'

22.31
Propneta 1ta1s1el S p .A Le copie ongrnali sono contradd1st1nte dal retino stampato 1n rosso Ne é vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
ELABORAZIONE DI TABELLE

Le tabelle, una volta caricate con i dati, sono pronte ad


essere elaborate.
L'elaborazione di una tabella è strettamente connessa al
programma specifico da trattare, al quale è associata.

Gli esempi di questo paragrafo illustrano modi tipici di


elaborazione di tabelle, che saranno sempre supposte già
caricate con i loro dati.

21. La tabella
W-CLAS-COD
W-TAB-SCUOLA { W-CLAS ( 30) { W-CLAS-AL-M
W-CLAS-AL-F

contiene, per ogni classe di una scuola, il codice


W-CLAS-COD e il numero di alunni W-CLAS-AL-M, W-CLAS-AL-F,
distinti per sesso.

La definizione della tabella è

I
HOUU•Cl

lfl'A011 IHIUAL
J 4
A
I 1 I

oI1 Io
~
z
8
I I
' a
' 12

: I I . ;
,. JO 2•

I
JI >1 . .., .. •• u Il tO •• . "
I
i I
!I
I
;
! o I·: o
-

I~ •
I I ! • ' .!- I
UJ. :r;A 57.~ ~OL fl
I • • I • •

.' ! '.
!
I . '
I
I
I I
;
I
'

. '. . ~3, ! t:!: U ~S .


I
I
o


1•10
. I
... ... ..i
.-C _Ll(S.
5 · Ct.
1
'$- OD
<I tHE
PI< ~(~)
I

I
i 5 ~·L AS·- · L~ H. Pie 9g c. of-(P- .
..
I I0 '0 I

I
' .o . . .... ! ··CL _.s:- .ttt..-F f lc ~ c.. OHP- 3.
• Io
'

Si vuole calcolare il numero totale W-TOT di alunni della


scuola.
Definito l'indice W-IND per la gestione della tabella e il
campo W-TOT

I •

I I

' • o
t ,0

0 I0

1 I0
0

~~
, •

~~ . UJ:'" _IHP . .
,

·r1-
, I

: w:-:TP : . : : ; .
I .. , ,

.. f' I c.

f IC
g~
~(
f )
HP
Co
5Yt
HP-3
~LUE ~~
. $15. \I lUt
.

22.32

La cultura è un bene dell'umanità (fantomasping@libero.it)


l "'P'ALSI EL I
& I""""
GRUPPO IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluZlone

si scrivano le istruzioni che riportano in W-TOT il numero


totale di alunni della scuola.

Un modo è il seguente

I I ' ; 6 !o

i ,;+
, •I•
. I
I I ,~' o
I I ' J

';r o , u -ToT
I ' •


I
I
i ,,1'. ·• 1·o
: I I
, ' I•
I
I
J
I I
,

. Io!o
: I .I I i I; Ii i I I i '
I
1 , i I I l I !
' I

! ' I
I I

I
' I , I :
I
I I I I

22. Con riferimento all'esempio precedente, definiti anche i


campi
-
llOUlNCl

.... 011 llHUAL


I I • •
.."'o
~

. ' Il•
"
,. ,. 21 ,, ... .. .. •• ., .. •• •• .. "
.
1 '

' I °I':· 'tf


:
I '
w-;c:o ~fo'l>.G I
;
iI ' I
i l
I :
p IC. ~~ co·Hr-3
. ; i
:i/fi L.ue
I I
~~.
I!
o 1• o I I
.
·i+
I
'
t~I I I
I
W·CO o:~ c..E I
\
: : p 1C. ~(3 ) I I
' I ' I I I I
o 1• •o
1
'· ~-

cosa contiene il campo W-COOICE dopo l'esecuzione delle


seguenti istruzioni?
1
0 0

.'
I

"
: pd-~t'.0- I C. E

.' .
1 ' . 'o

flD~ '(w- 1 HO) W<. LAS- -F G / V/ H W-foT •


' • o

IF W-c. oH 00 O
..
, , ! ~

' HOU LIJ- -/H() T W-c...oP 1 €


I
w KO O.
' • o

' '
' o o
. HO.V.E

rn»t> -1 HD.
J ' ' o

' • o IF '!U!t TE~· B(I .


:
) . • !o
;
.-4:. . ICE~c.lf.
)

• ol o
. • 10

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

22.33
Propr1eta ltals1el S.p.A Le copie orig1nal1 sono contradd1st1nte dal retino stampato 1n rosso. Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Contiene la classe col numero inferiore di alunni; nel caso
ve ne sia più di una, contiene la prima di esse

23. Ancora con riferimento all'esempio precedente, sono


definiti i campi

. . .... .. . .. .. .
llQUlNCl ,.;

,
f,.AOIJ l lUUAL u.
z
o
:'12• ,. 20 24 21 u •• •• 12
' • 7 •

f I
I I
t
! I ·o1 • o
r~. I,.W-C(.
I
1 1 ·-
I
RS-IH r;1:1: I
I !I 1 '
1 I.r I !I I
I! 1
I;
I I I :
..
l :
P IC
I
. I

: ~~

c.oH P-!~i . ~ ' I


: I ! J

I I
j I
I.i I I
I

l ] ·1+ '#t · uJ .W'.u H)fitf i I I


I ! i Ii : I fi~ :: iv~L,U.E l§l
:-'~. r..o'Ji P .I I
I 1
I . . .
I
I

I 'I'
iii ' I
i i :
I
o j • I• Il i : I Ii I I
'
I
I I
I

Si vuol conoscere e trasferire nel campo W-CLASS-MED il numero


medio di alunni per classe.

Quali delle soluzioni seguenti sono corrette?

f\.
::i:
' • o
I: 1 ..: j
I
1

:H:ov~ I I .
.i
IW,
I II i12iEl I i :
J01 I ~-~i .. Ll i I il :

I ',• iI
:
i
I
I
'
i
:

I
:

.I I
I

1
I
I
'
I
I
!
t
I
I
I

l
I
: I
I
I
I
: I~
II I'. II I
li:
' l ) I11 :
TT
I
i'
J ; '

I I
i
I

I:
1
I -r !
'!'
I I ! I I : I
' I

lilovE .I ~I ; I W· jl lti [),' .'I j I I


i I I
I, ' : i . i , ;

I T1I I i i I : . :!
I
I
I
o
' • o I:j j iSKf' ~ I
. ... iI
• I
I I .I j
I I l: I , I
i I

ftf1-;.2;- r 1C.iLlo I I .
J I l t : ' ' I
' i I I I I
I
! I '1o o ,I I!
l'
f .lric:-I . 1:Ho)
II

t 1 I I I I

!:I
:
l: ! ~J~
I •
. I • j [ I
; I . St',1 ~ il I ! I ! : I 1. .
I
I '!' ,(WJ· , ·~b) TO IJJ-T :::> rri
I : I
!
. j
I

' I
o
, • o I , ROO. Ll/ • IC L.11'5· w-~ (_~~ - AL~ F I

i II 'l+
L
I" I
·

I '
I ! f1j ;, r i. i
~I
i I i
-1 . ! D11
• •

I
I
' ; I
I . i
I • •

I
I

I
!
Il . i I
I .
! I .. ADD
I
:i, : I
1

' ! rbl l IJl-.1H .•. I


I I
I
I

i
i
lj
'
:,I:J,.i: o
I

11:
! . ,

:r!fi I
• I •

I I 'I ! I
.. j

~-'. 1tt D.. : ~ . - lI ç'.fiE~ iifi 3~


I I '
0.r
ii .
I
i
I
:
I I
I I
I t 1 I

' ,1·1· i .. l 1t rno


~ : ! I tT.o. . . ' I li{-~ k!.o:- ~ I !CL.O • . ' : I

I SIUP :! I
'!'I° I I
I
I

I
, • o
Af-.r/31.-c Alleo u» . i
3 .. i : ;
: I t
' l
i i : l "i
!
I
I
'
: :
I
I
I

· ~ .$K
I
I
·!•t• i!P I I
q.,2p
l' I
, I : 1
J. -~'. u ~H'. ~~ I I
I:.
otJ_ rfo'.f: ~· ·", rù;. ! i

:I ~!C
i
t .

II
l J I l)~ :
: I :t r I 'V
I
I
I I
I'

I I I
!t.tH
I I I
I I i : i
UI -C.L/f ~-· Ht D :Rp v·no c:r;. r
!;
'
o o
'
B. o . o tt:otif w- thHf~ ~·,e: ) o !-1 -:1 H.0 .
o • 1o

o
• . h_~ -~.l~ -:c. Il.LO'· ,
o (
51( I P13
A.Do w- ·c.L~·s. -AL·t1 (ui·1tto) w-c.<-~.5-RL-F (w- I ~I>) To lJ. -.T oT •
..,.
710
'
'
l
t t •
. I
~o
ISÙ.6TR.9c'.t ~. f=floH 1AJ-1HO •
'l e •O
I I
, o' o I~
i
, I>

, ...• . W- /NO
~: ro HOT EQIJA L èEfO
A·~:-~~,S-C::/GL.0

•o ()1V1ClfU-HV#tffll:V ltff"O iV-IPT 6'IV1Hv l)J-CL..AS-HECl eoiJ11bfD.


,'
- - ". · - · -· - ____ ....__._ _ .__..__ _ ... J · ·-· -

22.34

La cultura è un bene dell'umanità (fantomasping@libero.it)


..,.ALSI
lGRUPPO
I """'
EL I Strutture
FORMAZIONE
IRI FINSIEL per l"evoluZJone

1
lfQUOIC l

CP'AOll llUtlAl
' .•
o ' Io
zo
u.
1 I
I
11 11 10 .. 21 J2 ,. 40 .. . . .. IO .. .. 11

:
I
i .
c. . o • 'O

o e~o
H;o:~E ~H< o
'
1c I

;
LU- ~01.
i
0 8 In f}f '-q5~-C. IC.L.0 . :
'

o o SI( IP ~
.' 1 o ADC Ul-C:.L 1+.s. -Fl L.-.H (w-.1 lfO) 'JJ-C.L ~ S-ll L- F ( w- I 110) ro c.v-v oT .
1 1 4 j ('I

' • o i i
AbD ~
'
tfo: w-11-i [) .
' • o
1 o o
IF
I
w- ,,., () Lrss ~1
' "o -r.o TD I
~..f-(1 ~~-e I Cl. .C •
' • o
'
, • o PI VI t>E u. -l"lllH Hflx I tffO UJ-T k>T GIV I H17- LV- CL~ -HéA ~ UH ()E c.
1 • o ..
I

Ii
·1T lJ,'R,~"IN(;~ Sfo~ AG-:. '·~ I I
1 • I I ! ! !
I ' I
D. I
oI ' o
I '
$&'.T 1b".J/. ! I I

: i !
!
' I
i I i I ·
Ii : ' I

~sM
I I
•I•:• 3 i I I I I : i
I

! I t·· I ,
'
010
I

w- ·1H{)
.1. : ~-.!io iJ
;
I
I
; I' i
I
I
I II i'
!
I
:
I

'
t
I

I
I
I
P1 C. ~9 ; .co'Hp 5'1Hl VFtl I/E ·L
pie. q(f) c..o.>P- 3 lllfL UE 2 E!lp.
' I ; I I
; I' ' I
I '


I
'1 'i 0 I l : : II : :
I
I
i I
I
!
'
fR.o~J.' ou:R E V t ·SI '01'. i i' i

I
! ! I
: ;
I , e lo i i Stù ~P ~ I
:
!' I
I
i
'I
I
!
"
I I
' I ! :, , ' ; i .,
'
I I
! I'I
; I ' i
'
'1·1o
1I 0 O
: l ,: I
I I
!
I ! I! I'
. ' ..
t :
I ;
9{-~J~- ~
' 1' !•
:,K. I p ~ ..
'

'
I

'·I
ICL 0
1

. ' . i '
'
:

'IT w- e c.. ~5-l't L- .F


I} C> f) w-ò.. .4S -'1 t.·-:H (iAI·- .1 t-in)'.
'

: I ' I6 I o I
' j ' '

(w- 1ND) : ro UJ-To 'f.


! I'
, ' 1 10

:> o io
' ~DD ~ v-o· IO- /N [) . '
i
) ? I 0
'
i '. : ~ : TO
-/Jp -.C. I c. LO. A~ :
I J t •'o
f).1v:1DE w-HIJ HHfiX ,.ti ro w-Tor
I
J ~ • 1o 61 V/ /1 ~ UJ -CL·A s-~E l) •
I I
' • o
• !o o

'\

22.35
Propriela ltalsrel S p A . Le copie orig1nall sono contraddistinte dal retino stampato in rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


A.

In B. manca l'azzeramento iniziale del campo W-TOT su cui


si totalizza in ciclo: i _campi non impostati
(clausola VALUE, istruzione MOVE) hanno un un
contenuto imprevedibile
In C. manca l'impostazione iniziale (al valore 1)
dell'indice con cui si scorre la tabella: anche qui
il contenuto dell'indice all'inizio del ciclo è
imprevedibile
In D. manca il test di fine ciclo: l'istruzione di salto
deve essere pilotata da un test di fine tabella

- ~·1

• t<l !"' . ! '

' . ' . ' ' . IF


.. , .. I

L'assenza di tale test porta inevitabilmente ad una fine


anomala del progranuna
In D. si noti anche l'assenza della opzione ROUNDED: il
valore medio ottenuto è quindi troncato e non
arrotondato

24. Sempre con riferimento allo stesso esempio, si vuol


conoscere il numero di classi con più di trenta e con
meno di venti alunni.
Si scrivano le istruzioni relative, e si pongano i due
numeri nei campi W-MAG-30 e W-INF-20.

A A A A A A A A A A A AA A A A A A A A A A A A A A A A A

22.36

La cultura è un bene dell'umanità (fantomasping@libero.it)


l 'T"ALSI EL I
& I"""""
GRUPPO IRI FINSIEL
FORMAZIONE
Strulture
per l 'evoluzione

Una soluzione è la seguente

.. . . .. ..
llOUlNCl ~

..
z
IPAOU lll lllllAl 8A • •• u •o •• ,,
1 l '
/

op o
1 •
" 20 2•

'. I . I I ! I . l I I ! ' I : I
; o,.I I p I c. :zé R.o'.
~~~·~ HHRX
10 GDiiP -3 Vttt.'u é
+ o; elo ::- I : 11 ! ; i i I i : P/c 'C,oHP -~ ; VIJLV [ :31P :
li w-'5'ur . . I ! I I I rie :oHP -3 ; VllLtJ [ 3~ . .
't>I- w: -'1'.N~ . I I I : I ;i '. I PI c. coHP- 3 VMUE-l,~. i
1-.~ U:'-.H~~. - ·3i' I!. I!~ 'PI C. ~ollP- ~ V~Lvr lE ~· .
N, ~- : 1 .~ F. -J~ .: PI~ CO HP -3 VhLv f e R.D • i : '
I 6 I0
I i . ' . .I . . . . . . ..
I !

'
1 I0
'
PRoL rDu~ f' or
. . . . l
111 51 oH .·
' I
·I . , o o I ,
' , Io Hàv~ . ~{ ro W-1 tlD. : !

I ,. ' I
o Rr -~~- R/ :ciRù~. :'I ,.. !

: ·: ~. ~~:P~-~lfl·S-~L;-H, 1~:-: 1 ~o)! w-cu~s- AL- 'F


'I• o
' .
' .' o
, I•
, i o:o I ' I • ' I t
(w.· uioY c;1 vu1G w- ror.

> ' 10 ' ; I . l F; ! J-10 t i Gie:AT rei iu ..:svlp ' ' '
l • •O'I !i
' !
. . . . ~~ ~·
• ' ' ' • '
io
'
u;..:H ~-~ ~ ."
• ' ' I J ' • •
l
'
1 >j e!o 1
IP ' W·TOT ltS.S :1 w- .1>11' . .'
1

~()[)' ~ TO :w..:, 1lF _;~ ~. ! \

: Ptoo· - ~ · io · l!i-irNo".· i~;

' '

25. La tabella

zo
u.. .. .. .. .. .. .. .
HOUl ..CI

lf'AOll tlUIAl
• ,. ,. ••
' •• • '
u IO
" IO 40
"
o'. ' lo
' !
o • o

O t t 10
1 Ul-NB li ON
~~ .
. p'1c. P·
n t ·o
I 05 :
cc.u R.5
0 10 . f' I<.
.
I

' Io e.e. R.s


• o 11 -e OC ~I c.
.
'
V-N VH p IC. GO HP-3.
.
' n

• o

contiene, negli elementi W-PROV-NUM, il numero di abitanti


per ogni Provincia di ogni Regione d'Italia.
Si vuole conoscere il totale W-REG-TOT di abitanti per ogni
Regione, e il totale nazionale W-NAZ-TOT.

22.37
P•opr•età ltals1el S p.A Le copie originai sono contraddistinte dal retino stampato in rosso Ne è vietata la nprodullone

La cultura è un bene dell'umanità (fantomasping@libero.it)


Le seguenti istruzioni sono corrette? (I campi W-PROV-NUM
per i quali il secondo indice è maggiore del numero di
Provincie appartenenti effettivamente alla Regione,
contengono il valore nullo).

Z:
i
llOUlNCl
lrAOll IHIUAl
J4
A
Ili
3
• 12
• .. 10 . ..,
Pie.
••
oMP
., .. ••
I/ LV[
. ,,
:
:
! ol'Io
o
! o i !o I
. I
o ! 1 '
'
I
I
f> le oHP V l ur..
. i VII LIJE
i '. ; : ~ PlC ÒUf
.
6
I
p, c..
I

i •j •. o ,. I ,' ' Ok{' .I/li LJ[


!
: '
oo • I

' ' o :!
' • 'o
I
I~ I olf1• •
• .o
'
I I 8 '
10
' .i
', o o
' io
, I ;' o
HOv I. : ro -~ -6-:/or
~
I
·~ .ro W- I ND - •
I ' I e ,o

, I• i o
I
I w- I NO- P)
1
• t6- 1 or (w-1 HD - ) •
l j o :o
, ' ;o
,. . o

i ,i.!o I

I '
I
I

I
) I•IO I ..
I •
• j olo

I : 4Z .. ! : . ; . i .
~
4.4: • I
' :

~:O

No. Manca l'azzeramento iniziale di W-NAZ-TOT su cui si


totalizza in ciclo. Pertanto, prima del paragrafo ML-
020-TRAT-REG, va inserita l'istruzione

. • u.' . ;;
.. .. . .. . .. ..
HOUINCI

,
IPACH I flUUAl
I

o "o
o

11 .. •• ,, .., 11
•• •• ,,
:
o • o

o
HOVE. i!E R.o io W-Nll ll-To
._
I .
I O
_.__

Si noti che l'azzeramento dei totali parziali W-REG-TOT è


invece presente.

22.38

La cultura è un bene dell'umanità (fantomasping@libero.it)


l ... ALSI EL
I ""'"'
GRUPPO IRI FINSIEL
I FORMAZIONE
Strutture
per l 'evoluzione

26. Date le seguenti definizioni

I ! o I' !o I 'I
I I I I
I; 0 0
I i I I I p I e:.. ~9~ c.oHP
I
;
: :
I
! I ' '

I; 0
lo
:
!
! i
I
I I I
I
: I
I
I
I

I
pI(: 8~9 C. DHP ! !
A [ I
: l flL '3(3) VllL I

' O' O
' I
I : P1c... xxx . I '

I '. I O i
' o n ,, '<. 't 3) .

qual'è la funzione delle istruzioni seguenti?

, "o
Pli.ocr.f>'ut.[ DI VI~ I~,.,.
I
' t' 'o
, o Il o I .
'
' 11 , 0
I

,:o 11. tt'.(.-, 3i-


·Hoi/E: · 1 ìo w-r
. •
Tfl·, Ù- T~B'. : ·I . .
, ' i•o I . Abb . ..f UJ-J G:l,V, IH.~ U)-j .
3 j •!o tW- 14~-1 rsr - EL • I :
; , !•!• : lF i W-TA6-Ec. {t>i_-I) GREt-liffR. ui-TA.8-EL (f).-3)
I
) I I IO i ~OVE W-TAS- EL. (w-I) To UJ-coH
; , .oJo 1
NovE w- Tfl~· E:L 'rw~'J'> ro w-iTAB-EL (w-1'
t(OVE W· C,OH TD W-T~6-EL (u-r).
!j' ·i' I· I I i , '.
I .f., . I I
1 I I • I '
I
. , A'IJD : :
'
I i
I
oJt o
I1 I . i I

I
l 1 o: I :O
I'

i
' o o
'
i I.' :0
I'•
I ,
io

L'ordinamento per valori non decrescenti crescenti o


uguali) degli elementi della tabella.
L'algoritmo è quello del confronto, con eventuale scambio,
di ciascun elemento con tutti i successivi.

22.39
Proprieta ltals1el S p A Le copie orig1nal1 sono contraddistinte dal retino stampato 1n rosso. Ne e vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


27. Si ordini la tabella precedente per valori non crescenti
(decrescenti o uguali).

Si possono usare le istruzioni precedenti cambiando solo la


condizione di test

:rl~;i.
. . ' lo. o
'. . 'i' '.o
Il
i ..:flf;
. • .
. I .: .
'

I
'f·
·- ~.A
, . .
'I1 :11.I
I:
1

.
I•.
'j
:_JE!L
.
~i< ~-• r).
. , .: .; ~ ~
! 1,
' 1 I
.
.... :
1,.,-1
i •.
i . I' I, .

, l ' Io ___ I '· ;1 I ,


~-'-~-'-~-'-~-'-~-'-~~--

28. Riprendendo uno degli esempi precedenti

. .. . .. ..
llOUI NCl ~
z
IPAOfl fl UUAl 84 ,.
' J 4 • 1 • 20 21 JJ •• •• 12
•• 12

I O 7 Jo I
I I
I II I I I

! li o+ Ii I
I I I I I
i
·s:YHC. :
i !
II l I
I olfP
II I
I c. 9~ II
I• I
0
•I• I

! !
I I
:
I

I I
P1 ·c
p,·, ~~ COHP vti iJé 3·; .: ;
: II
I I o • Io I l' II
!
! i I
~~ oH'F' - 3 .i
;t .I.i. :
I
I

:
I ! :
i ~IC 9g coH -3.. ' I
I
: I
I
I
"o
I
I
I
: !
:

: '
P1c X( .3) .
' • 1•
! 'I.
i o
t I1 •O
I Hf .5 •
, o o PIC X(3).
I
' I
IC ~~t . H -3.
,'
710
I i
I
'I•
I I Pie ~~r coH 3.

si vuole conoscere e trasferire in W-CODICE la classe col


numero maggiore di alunni e, se ve n'è più di una, si vuole
la prima di esse (nella tabella).

22.40

La cultura è un bene dell'umanità (fantomasping@libero.it)


l"PALSIEL I
& I~
GRUPPO IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

Sono corrette le istruzioni seguenti?

. .. .
llQUlNCI to-
z
l 'A0rl llUIAl A 8 I
t >• 17 1 • 12
" 20 H
" •• •• •• Il

ot '1 0
'
o • o
. i
o:' lo
1
0 I •O

I j' 0

• • o

... l

, o o
t

'
I O

fil)D
i . .
W-l LA5- ~L..:- H {ÌU- I ft D) w-c LA.5- Al- F (w- IHb) GIV ING w-~ LL ,
I

, ;• o IF W-fU L "~·EAT éR w-co H


' 6 'o HOV~ ' w- LLA~ - e.o ti ( 11.J - JH()) 'fO w- c. "DICE
W- ~LL To w-c OH.
' 1
, • •o ~OVE
A.l>f> { ro ltl-:1 .Hb. '.

: lf IU-1 Hlb. : N C"r, ~~~ TFR. IJJ-11 tJ H


l .. ,o ;.o ~.. HL-, ~'1-i EST.

-----------------------------~---
No. Nel campo W-CODICE non si fa nessun trasferimento,
perché le condizioni del primo IF non si verificano mai.
La prima istruzione doveva essere

' I O
--- -....--· --·

• o • HOVé -l:E e.o To &.V-CO H.

29. Si modifichino le istruzioni precedenti per ottenere,


qualora ci siano più classi col numero massimo di
alunni, l'ultima di esse (nella tabella).

22.41
Proprieta 11als1el S p A . Le copie originali sono contradd1st1nte dal retino stampato in rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Basta modificare, oltre alla prima istruzione, la condizione
del secondo IF

.. . u.. ..• .. .. .. .. .. ., . .. .
llOUlNCl ~
z
o
IPAQU ISUUAL
•• ,. •• ••
'
o I' jo
'
I
"
I ! I : ! : !
I i.
I ' I
f i

nJ I
I
I o o I
I : I
~-·c ·o I-i . '
I

~àv:e .
I

.
I i I
I o 1e Io
I i
ièE R:O ; ! • I
I
I
I
' 1

: ! o1·!o ~· I ~ ! . ! I !I I
I
:
I Io o
,1, I. I
I W-.~L L i . I
! I I IF

' MOT; L;r ·ss UJ· c~H
i

30. Si vuole conoscere e trasferire in W-CODICE la classe


col numero minore di alunni e, se ve ne fosse più di
una, si vuole la prima di esse.
Sono corrette le istruzioni seguenti?

1':•1· o o
• I

1
i 1 i0
I ;

I I
'I',.
1•I O
.. ! • I I l

1
, ! • io w-,LAS-AL-F (~-I~~) ~I IN6 W- LL.
1
J IoI!o
I H . . . . . I. I i ,
.(w-1Ho) To w- or,.1c€ ;:
I
I J: 1 :O
I . I • '
' 1<10
II
w· OH. ·
, J 6Io

I J:I! O !: i lf.. uJ-H 11.H.


' to 10 I I
I

I
• i
I I '!
' : I
' ' . I . : l l
I i . . I . I . '
.. '
' '
I

Si'

31. La tabella

zo
.. . .. .. .. . .. .
11ou,•c1

,
fPAOll IUUAL
•'
u.. • ,. •• ., ••
J •

o;, Io " " 00 12

.. ...
o • o
~H W-Nll lit 0'11 G
f.
o~'=.'c/R
I
o • lo
i
~3 '. . w-u 1lj.
o • o
I
~5 w-·Pfl.
w-'PR.
$,
~"· o V- e es
OCC:. V e. xx...
~
' o o DO Prc
W- ·PR o.v-.11 vii Pie BO') cou f'- 3 .
'
' .
' o
'
o

22.42

La cultura è un bene dell'umanità (fantomasping@libero.it)


~ ITALSIEL I ~~~t~u~;IONE
'..J..I GRUPPOIRI FINSIEL per l'evoluzione

contiene il numero di abitanti W-PROV-NuM per le Provincie


di ogni Regione. (Tale numero è nullo se il secondo indice
è maggiore del numero di Provincie contenute nella regione).
Si scrivano le istruzioni che trasferiscono in W-PROV-MAX la
Provincia (o una di esse, se ve ne fosse più di una) col
maggior numero di abitanti.

Una soluzione è la seguente

i- ~-I ·-r--- -
: I
'i[I"
I
' I• !•
'
I I I 1 ·1 : i I iI i I I
~~- r I
I
I : ;
I

! ,Li. 'f.~. W- 111 I


I
I
;
; I' :
'
I
. !
I
i 11 11 f '
'
I'
I I p I C: ~g
I

B?~ /> ~~ H4 ! l/ALU' E, ~. I


i
~! II
i I. ...
,
:
~1i : .~-~!
I ~
u

!
i
'
! ! I I
! I
!
I
I
I
I '!
II I
!I
I
I I
IIi p I C.
I I
I
':\9'
, I
ff·I,, p : I "Fi·: : ' : ' '
'S.Y
I I

I I
'
I
.' ' ' I '
:
.~~ :t/~L "· ~ I ~:9.
I I
~-: Nv HtEG
I '
' ;" i" :/-1. I I I I PIL
I

i I
~: .: :
I : ; i I
~~ :
I
'
w-jN·~ ~ : P~O i I 11 Pii I I I

~~:L IJE1
I
I • • U

I ~ : ' I
I :
I
9.~ I I
I i
II I i
: I ' ' i I I
' I I I . I I
, I .. • I ;
.W.:,~ H : I
I
:
I , I
I •

,~(j ) ,c'c ~~_!.


'
I
I

~1i :

I I I I
I
'
I: v~ ,_vE i
'°"
I
.J I 1V ! I I i
! I I ,.
t • t •
' : I I
!I: ' I I
I I
" 4 lu
'
I
' I i I I

i I:
I
r(i· I
: !
''
J

,:• I..
•·1" 11iI
I
w-PI<. or :H.AK
I I '
'
:
'
'
i
I II
II !
I
I
I
I
I
Pii;. I
I

I
I I
I .
i I
!
:
I

: I I '
: ' I
:
I
I
II I II
I :
I
• •l l u
; I
I' I
'
I : ;

I :
I
I
I
I
I

:
I
I ·t I I
I ·1 i I

. I
I

I
: : !I ;
'
I ! I
'
!
' '
I

!I
I, I' I I I
!
I
I
I I
I ; ·'
i 11 I
i ' ' I
I
I
i I' i I !
I
!. ~
ILf'
I

J·1 I
i I
: i I: : l 1-1 I I I
'
II I I
I I
I I
I I
! !
'
' I I
I 111 I
'
j I I
I
I I
!
'

.._""' u•
tf'AU:I
z
.
MIMAI.
, .. . .. .. .. IO
•• .
I I I
~-;-1 - . ..
1 0 I I 0

o • 'o

' o o
---+

' I I .
~~ - ·--
.- - - - .!- - ·- - - - - - _L.:__

! I I

i · I

22.43

Proprietà ltals1el S p.A. Le copie originali sono contradd1st1nte dal retino stampato 1n rosso Ne e vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


32. Riprendendo uno degli esempi precedenti

,
alQU lflfCI.

l'"AGll
'
. • u.' .
8HllAL
i
o I

"
.. •• .. . .. . .. ..
I
•• 12 .. •• . .. "
°I' 1· III
i ; :
i !I ; I
I
' f> I r;_ ~~ :sy HC.
I
!
o!. ' o

• I• i•
I
I
I I
I
·1I
I
'' I i i p,·, ~,
'
of{P
Go.MP Vlt vt ~~. :
I !
•I·I i.I I I : I
i :
; p,·, ~~ o HP - 3..;
I

i
I
I l I
I
i
:
I
I
t I Q j

iI > 'io
0
I
' ' I
I
l
I C ~g
f) coM -3..
I
!

! I
1
:
:
' I
P1c X(~) •.
'' 'JI .;. I :
I
'I Jt

.
I IO
I

·!+ s ~: ' I HE.S


'1i o o i PIL x(3). I

..
!

H -3 .
!
I ' , 10 ! ' IC ~.9 '' I
I I
''
I
lOH P 3.
~'
, 1 .. j o
Ptc ''

Si indichi
A. qual ' è la funzione delle istruzioni seguenti

I I
• I
. I .
' '
t "'-·, ·oy · ··
I J j1 10
(w- 1kO) 6-1 IH6 LV.-ALL.
' I
J
.I 1 '10
l
'
• j : l
• Io I o
Ho ..
.. . '()
.o I '
• : I
I

B. il contenuto del campo W-ALL dopo l'esecuzione del


paragrafo ML-040-RICERCA

A. Ricercare la classe con codice = W-CODICE, e trasferire


nel campo W-ALL il numero dei suoi alunni
B. I ndeterminato se W-CODICE contiene un codice di classe
non presente nella scuola: il numero degli alunni della
classe W-CODICE, se essa è presente nella scuola

22 . 44

La cultura è un bene dell'umanità (fantomasping@libero.it)


...ALSIEL I
& lGRUPPO
._......
IAI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

Questo esempio illustra un tipo molto comune di elaborazione


di una tabella: la ricerca di un elemento che verifica una
data condizione.

Il riferimento ad un elemento di tabella non può sempre


farsi direttamente con indice ELEM(S); ELEM(I), se I
contiene un valore noto ,perché non sempre è noto il valore
di tale indice. Spesso infatti l'elaborazione di una tabella
consiste proprio nella ricerca dell'indice, perché vengono
richiesti gli elementi , e quindi gli indici, della tabella
che verificano una data condizione di ricerca.
(Nell'esempio precedente la condizione è: codice di classe
uguale a W-CODICE)
In tali casi si dice che l'elaborazione è una ricerca
tabellare. Inoltre, se tale ricerca viene effettuata
mediante scorrimento successivo degli elementi della tabella
(come nell'esempio precedente), si di'ee che la ricerca è di
tipo sequenziale.

33. Riprendendo l' e's empio

. .. .. ..
HOUEllfCI ..;
z
lf'AOU lH•UAl
1 J 4 I
O ? iO
81 .JII •
Il .. •• •• ,, ,. •• ., •• •• "
' I i 1
o .. . o -( ··.µ;-·N·
. I
O; 6 10
' . (3 cc 'o R.s 9.
o • 10 \I cc u ~$
> D D -P V-(ob Pi e x.
' ' o ~PR. oV-H llH PI c. (f.) coMP-3.

si vuol sapere se esiste almeno una Provincia con


popolazione compresa tra 80.000 e 100.000 abitanti. (La
condizione di ricerca è: 80.000 ~ W- PROV- NUM ~ 100.000)

22.45
Proprietà ltals1el s p.A . Le copie originali sono contraddistinte dal retino stampato in rosso. Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Una soluzione è la seguente

I i! 6 0
I
' I
I
' I :
I I !O loHP VAL € ~ •
, o Io ' I ' ~HP
, 1, I o
I
! I I II
! '
, •I• I I I . I
Pi e ~ ALoJ[ ..(
+~· 4'
• I V1'UJ é
' 1, 'o
I ' I 1 1 i I ; '. P/C
! i . ' ;I
J ,o o ' . : : I
I I
I
. i
I; I
I r / e 9( ~ ) CoHP· -:~ vA.l 11€' ooo
Ì . ' I I i ! VAL é ~
' '!o I '
I
I
I
Pi e "~) c.oH -3 ()o
·.
3 ' .o i ! I : I ' i
' I
' I I ' i
3 e 1n '' ' '
j ! I
• oIo
'
j
[ •t i
. ,
!
'
I
! I i

i I 11 I
' . I'
II I ,
I

! ' I :I I I I ! I

~
1 t
I

'
' j
I
I
I
1
, I
I:
I I :I
.' .
• I I

i .I
! 1
'
i I .I '' : I

I I ' ' I i I
i :
LéS Ui- H1 H M~
I
' .'
RE ER. W- ~)( I I
I I
{- .~ -T V~ A-EX.
I '

I '

' .
) I 0 10

I
,; R~'[» ·1·
' · • I L
, , ·o
I
I : ! l:F,
l '. • jo 'I ,I
I
' ' f>ff{f o:RH H~IJ 62- ,, HO~ fùV - Et..
'
I I

.I i I

I I

34. Con riferimento all'esempio precedente, si vuole sapere


quante Provincie possiedono piu' di 500.000 abitanti.
(Si devono ricercare e contare gli elementi W-NUM che
verificano la condizione: W-NUM > 500.000).
Si scrivano le istruzioni necessarie, e si trasferisca
in W-CTR il numero delle Provincie trovate.

22.46

La cultura è un bene dell'umanità (fantomasping@libero.it)


""l""ft.LSI EL I
& lGRUPPO I~
IRI FINSIEL
FORMAZIONE
Strutture
per I 'evoluZlone

Una soluzione possibile è la seguente

.. .. . . .. .
HOUU•Cl .,:
z
IPAOl!I ISUlllAL 8 A :e
1 J 4 I 7 I ' 12 11 20 24 21
•• to ••
~9~ 01110 I i I :
I .' I'
gs
I

J, ., I : j : :
T 0 0
~

p· 1 :~ Cof{P V;iL:u~ 1~
I
I °I' I;o l ! ::: : !
I I
r1 ·c· 9.9 (.oHP. : '
I
I

I
o ,. o

'I o' o
I I i I ! I i I I
p'1(. ~~
I

VALV(
I

'
I!' o I 1 I
I j '
pie · ~ Vf1LJi
1 ~ .. . o
I

' •o r·1c. l!J(i) co J<P- ~ v!ftv E :'Op ~#I- .


11I •O
Pie ~q VtlLVé ,2E~O.
) ''o o
I
' ' o
' to . I

I
I

' • Ilo I I
1' I I 0

J I 0 lo

I ' .'
:J l •
,.
~ o

; '
I I •Io 10 , I
' i IU> {) -l 'fo() UHL I ' ..: ! ! ..
1i i , I 1i= w- I :H:or ; ~~~·~Ee : ~ '-t·ùJU tFG
! 1 :;.o T.o · ti L-~ dif-T ~hT- ttE6.

Un altro tipo di ricerca tabellare, valido solo per tabelle


ordinate (crescenti o uguali, oppure decrescenti o uguali) è
quella binaria (o dicotomica). L'algoritmo consiste nella
suddivisione successiva della tabella in due sottotabelle,
con ricerca dell'elemento su una delle due (poiché la
tabella è ordinata, un solo confronto indica la sottotabella
da suddividere ulteriormente).

22.47
Proprietà ltals1el S p A Le copie ong1nal1 sono contraddistinte dal retino stampato 1n rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Data la tabella
TAB { ELEM ( 100)

ordinata per valori crescenti o uguali, l'esempio seguente


ricerca con l'algoritmo binario un elemento col valore del
campo W-COD. (La condizione di ricerca è: elemento uguale a
W-COD).
- - - - -- -~-~--- -

. ".
,.;

. . .. . ..
lfQUINCI

'
,
IPAOU flUIAL
I
"
o
1 I
I

" .. 10 ,, ,. 40
•• ., IO •• 11

(Jf>l o I'I° I
I
I
'
995
I
o • o
I :
I I
I
I p \ c. VflLU t 1. J

.
I
o 1. ,. i' I
Pie. 9~ VII-LU t J
!'
' I
' O ~
I
9 IO
I ' f IC iJ (~) Co HP 5YN
! I
1 ! o o I' I IC (45) Vfl Uf ! I R.àlf
' ! : I
I
' ' o

~ ~ i(~ 5).
'
1! ' io cue Pie.
1
:1e i o '
I I I 0
'
I
I
I
' 0 I0 (w- H.IHÌ I

, . , lo I
' I
' i. o
i
t'.H -~1! - TRJJ v1tTo -f.~. '
I

(W- HA.)(.)

HRU ~1 -.9,_ -.r~ l/J9T_o EX.

I
2.
' :1F '
' ~9~ TR-o r11T -ix.
n=
)

E'Ls
w- IHO TO

. . .. . .. .. .. .. .
llOUlllCI ~

'
, ""
"'AGII lllllUAL
' I
o
I
I
11 . 10 JZ ,. •• " IO 11

~~ o;, Io '
1.F :Clli-ti'~ X - 1.1.i-·HI ~( ) ~eEA j(R, 1
' '
o "0
!
.j.;I '
o
I
'
I
I ! ~.. ~<> : HL:.. .Q s;-~ I C.E:f, c~-1 AB.•
l
0 I I •0

' o o
'
'o

L'istruzione 002340 calcola l'indice mediano della tabella,


suddividendola in due sottotabelle.
L'istruzione 002400 stabilisce in quale sottotabella (di
sinistra o di destra) si può trovare l'elemento.
L'istruzione 003040 stabilisce la condizione di suddivisione
successiva: finché la sottotabella di ricerca è formata solo
da uno o due elementi.

22.48

La cultura è un bene dell'umanità (fantomasping@libero.it)


'"PALSIEL I FORMAZIONE
& lGRUPPO
I """
IRI FINSIEL
Strutture
per l'evoluzione

35. Supponendo la tabella ordinata per valori non crescenti,


si modifichino le istruzioni precedenti di ricerca
binaria di un elemento col valore di W-COD.

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Basta modificare l'istruzione 002260 dell'esempio precedente

I
----- -
I , I
I ;
i
I • ;

i; :\f
l '
' :1 io
' '
11~ :o
1 [aj o

1I I 0
. i '
I'
:i ! I J ! !
JI o o I ! I I

1 I I I
: ~ I
I : I
' '
i ' ; :
I I

' I ;
I i
'
. '' l
i

I ·
I

:l ' I I i

i i· I I

! I . I
li ' i .I.'
I

' ' I I i
I I

'
~
I
1
I : I I I 11 : : l 1 : .! ·I I .I
~ ! ! ~ j..
I '
I I I 11 I
I I '
I
I :I II

Si noti che:
se nella tabella sono presenti più elementi che v~rttJaano
la condizione di ricerca, l'algoritmo binario ne dà urao a
caso: esso si limita a rispondere se l'elemento estate o non
esiste e, se esiste, ne dà uno.
In una tabella ad una dimensione formata da N elementi, la
ricerca sequenziale di un suo elemento richiede mediamente
N/2 tentativi; la ricerca binaria ne richiede mediamente
1092 N.
Pertanto, se la tabella è ordinata e formata da numerosi
elementi, la ricerca binaria è estremamente più veloce di
quella sequenziale. A volte, se la tabella è disordinata e
con un numero elevato di elementi, è conveniente ordinarla e
poi usare la ricerca binaria.

22.49
Proprietà ltal s1el S p A .. Le copie originali sono contradd1st1nte dal retino stampato in rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


La cultura è un bene dell'umanità (fantomasping@libero.it)
l'T"ALSIEL I FORMAZIONE
& I~ Strutture
GRUPPO IRI FINSIEL per l'evoluzione

Capitolo 23

23.0

Propneta ltals1el S.p.A . Le copie ong1nal1 sono contradd1st1nte dal retino stampato in rosso . Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


La cultura è un bene dell'umanità (fantomasping@libero.it)
.....
lGRUPPO"LSIEL
I """'
IAI FINSIEL
l FORMAZIONE
Strutture
per l'evolu21one

LE CONDIZIONI COMPOSTE

1. Si determini per ogni periodo dell'esempio seguente il


tipo di condizione esaminata

. .. .. .
HQUINCI ~
z

'' '
, 8
fPAOl l (lllUAl
I 1 I
A I

"
,. 20 •• 21 ,, ,. •• •• 12 .. IO 11

•I' I• I

~-r6 rr.
I j
'
A. ' o i. io
l
; I
'
:
I F: I
' :~ EGA) IVE
1~ ' ~-({;• 1>-A-T ol. . :

' I
o;er i
I
: ' I HO:Vf !
I .I : .I I
5.f ,._e~ , :
' . I
!
I
o 1• 10
II I
I I
I
' !I: :
I

;
;o I i :1iF '
'tt lJ .11E .~ I C. ' '
8. 1 1o I UJ·CO 11 '
;
;

!
' 1 'O

• lo
I
I
I I
I I
I ff o:v.E [..V- c.l<>iH
I
ro w-,c:; HA C.L I , I ~ p, i !
! ' I I ' ..
' 1,
. '
• lo I F W·TO ~A·Ù [;.~ (il\Tt ~ u. -HA-X
:
I: I;0
!
~E~F ot}( s~ .- 181- E.R.~o ((E fH~l. e,~ ·99e ·E~J. O~E - tx.
, OIO
'
o. , ' !o \F
i PAR.
I
'
. I
I
'
, o
' HovE SP lfc...E ~ ' Jo w- c.oH.
' ' i
I
' • o
--- --1..... - - -·
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A. condizione di segno

B. condizione di classe

C. condizione di relazione

Ilo. condizione "nome di condizione"

Talvolta un'azione deve essere intrapresa solo al


verificarsi non di una, ma di una serie di condi zioni.

Si debbano elaborare, ad esempio, solo i record con

campo CATEGORIA uguale ad M

e con

campo ANNO uguale ad un valore compreso tra 80 e 92.

Il diagramma che segue rappresenta la serie di test


necessari

23.1

Proprieta ltals el S p.A Le copie originali sono contraddistinte dal retino stampato in rosso Ne e vietata la •1produZ1ore
La cultura è un bene dell'umanità (fantomasping@libero.it)
CATIDORIA=M

falso vero

ANNO> 79

__ fal_s_o_ _-< vero

ANNO< 93

_ _tal..s....o......._ _~ vero

ELABORA-REC

Questa ana lisi può essere risolta con una serie di


istruzioni IF:

, • 10

, ' o +o
953 PI c.. 'I.
J , •o o- K Hl.V 9-l
J • t o
f
> •'o IF
3 ' e •O

' o ,o IF E

23.2

La cultura è un bene dell'umanità (fantomasping@libero.it)


l"'P'ALSIEL I
& I lii-Il
GRUPPO IAI FINSI EL
FORMAZIONE
Strutture
per l'evoluzione

ovvero con una sola IF utilizzando, come si vedrà nel


seguito del capitolo, una condizione composta:

,
H QUU•Cl

l''AGl!I llHUAL
J • I
u.
~
z
o
1 I
I
12 11 20 ,. 21 ,, SI
•• .. •• ., •• •• .. .. ,,
oi' :o I I
Li- . ;
Ii
I
i
oi :o E~Ù:/+L 'H.' . A.H ()
I 4 I
lf. ui-cA I
ui-.AH HO-O K '
I
oI eIo
'
I
o;' . 'o PERV ~~H Ai- ~i'!· ELAB b~A TH~ u Al-l-1q 6-Et., A B O ~ h-n
' o' o
' ELSE
' ';o I N.E.XT ~E 'Hii>t ic:r.
• .o
'

GLI OPERATORI LOGICI E LE CONDIZIONI COMPOSTE

Una condizione composta è un insieme di una o più condizioni


semplici.
Il formato di una condizione composta . è:

condizione 1
{ OR
ANO
condizione 2 . [ANO
ÒR
condizione 3 ... ]
Condizione 1, condizione 2, ec6~, costituiscono gli operandi
dell'operazione logica definità dall'operatore ANO o OR.
Ogni operando di una. operazione logica, può assumere uno dei
due valoii: . v~ro o · falso.
Risolvere·. un'operazione logica, cioè una condizione
composta, significa analizzare le singole condizioni
costituenti gli operandi e mettere quindi in relazione ANO o
OR i valori assunti dagli operandi stessi.

L'operatore OR

La funzione OR fra due condizioni semplici è verificata se


una o entrambe le condizioni sono vere (disgiunzione di
uguaglianze).

23.3
Proprieta 1tals1el S.p. A Le copie originali sono contraddistinte dal retino stampato in rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Si esamini l'esempio ~eguente

I
' 116IO ì
I I
I I
I
I
I
>!I!O :
I I I
' o o :1f µJ-·A· EQ\J At.: . µj-8 OR,
',,:o
. i
; i
W-A ;EQc.J A.L. . W·t. • I . ' .
' • o p~'R.F o~H li~ :- '· ~~:'- ~oNT J!o t.. L. o-IM 119
' • o ' ' '

La routine CONTROLLO-DATA viene eseguita se

W-A è uguale a W-B, oppure

W-A è uguale a W-C, oppure

W-A è uguale a W-B e a W-C

La funzione OR può essere rappresentata nel modo seguente:

CONDIZIONE 1

falsa vera

CONDIZIDE 2

falsa

;- - - - - - - I
'..CONDIZIONE 3:
'- - - ,,,,- ..... - - _J
'
--< /

~ - - - --.
'
..... , ,""
, ,

Nella tabella in Fig. 23.1, per ogni combinazione possibile


delle due condizioni semplici A e B, è riportato il
risultato della condizione composta con l'operatore logico
OR.

A B A OR B

vera vera vera


vera falsa vera Fig. 23.1
falsa vera vera
falsa falsa falsa

23.4

La cultura è un bene dell'umanità (fantomasping@libero.it)


'T"ft.LSI EL I FORMAZIONE
& lGRUPPOI~
IRI FINSIEL
Strutture
per l'evoluzione

2. Una condizione composta con l'operatore logico OR è vera


se
A. almeno una condizione semplice è vera
B. tutte le condizioni sono vere

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A.

3. Si esamini l'esempio seguente

'! . o
: :
t •
., I o . o
. '
3:' lo lf W-To T1 ~.',eE ATER. UJ-T OTAL E OR.
:
, • o Ul-·io 7.t f>O.S I ~1,VE
HExT SE ti TEHc. [ :

,9,
l
3 6 o
'
:. : e I o tLS[ "
4 ' o lì PHt.F~ R.H 61- rJ~,- coHre THRU 61- ~o Hi R·E x.
; : i I I
...
I I : : ! '
I I I . I I '
I

Cosa succede al termine dell'analisi della condizione, se i


campi richiamati assumono i seguenti valori?
W-TOTl 20000

W-TOTALE 25000

W-TOT2 15000

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Si seguita in sequenza

4. Se, invece, gli stessi campi assumono i seguen ti valori?


W-TOTl 25000

W-TOTALE 25000

W-TOT2 - 15000

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A

Viene eseguita la PERFORM

23.S
Propneta ltals1el s p.A Le copie ong1nal1 sono contraddistinte dal retino stampato 1n rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


5. Si esamini l'esempio seguente
- - -

.. . .. .. . .. .
S(QUlNCE
io
IPAOll tlUUAL u A
I J • I 1 I
' I
·u 11 20 ,. 21 J2 •o ., •o n
o!, lo
: I
o . I
o
I
I
'
I
·l·F!
. I I
~
I
I '

W·C.O Il>- I~
I
!
i
! .
~Q kJA;L ?E:P-O OR 1
o i. 1o I ! I
I I I : I I
i
o !' Io ' I I
W- ·I H l>-1 .tf EQ lJAL ' ~iAl. E o R.
o.o ' i I
I :
' I
; :
' ' o
; µJ-.HO tt~:- . 1 ~I iEQ \)~L. SPAL E
'
:
i I
' ' •O I i i
.
I

1 1 • ;o ; ff.Rf= io'R:11 A3.- ~.~~ - ER.R: TH'- U ~ 3.qq i ·· ER IR. - EX


.
I

' !. o ' - -. - -

Viene eseguita la PERFORM se


A. W-COD-IN è uguale a zero e W-IND-IN e W-NOME-IN sono
uguali a spazio
B. W-COD-IN è uguale a zero
c. W-IND-IN è uguale a spazio

A., B. e C.

6. Gli esempi seguenti sono equivalenti?

' Io o
.--- -· - . -· -- - -- --
' ' o
' • o ~3: W·CO[) t) I c. xx.
' • •o ~8 w-co [)·Ok.. VALii E 'AV 1 'AN 1 1TN I .
~
, •• o

J o o

q(11~·l 1
AV
f\. J ' o IF W·C:O D I OR.i
' • o W-co [) E~l)~t. ' 'AH I OR..
, • o IV-COb fiQv A 'Tl'I - - ----
~
J

• o •
' n

IF W·C.O D-OK - - -- --

·-------·-·---------------------
Si, è però evidente che B è consigliabile

23.6

La cultura è un bene dell'umanità (fantomasping@libero.it)


l 'T"ALSIEL I
& I lii-'
GRUPPO IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

L'operatore ANO

La funzione ANO fra due condizioni semplici è verificata


solo se entrambe le condizioni sono vere (congiunzione di
uguaglianze).

Si esamini l'esempio seguente

u. .. .. .. ..
l(OUl .. Cf ~
z
"AQU llUUAl
1 >• •
o
1 I •
11 11 20 •• 21 ,, •• •• •• •• ••
' "
l 01' :o I
I
'I I ~ i ~ :
''
i o i· 1° IF I
tJ-A .EGU At.: I u>-a Fltf b '

.EGU ~:L;
I
I oi' :o
I i , I .. W-A IU- C.
'
I

PE:RF o~u A-1,- ~~ ·-


~~' ROL. L IO - ()~ TR 1 ti"v· q~-( loHV-R o.L L..C -r>~7 li-EX •
i
o I ' ,o A~-q
!
I 1
I
i o +o ' i I

La routine CONTROLLO-DATA viene esegulta solo .se .W-A, W-B e


W-C sono uguali.
La funzione ANO può essere ra·p ptese.ntata
.
nel modo seguente .

vera

CONDIZI CNE 2

a_ _-<
_t:_a~.s_ vera

I - - -...:.- - - ·,
; CONDIZIONE 3 !
' -- - - - -
/. --'
·--- - - --........
, ,,,.

23.7
Proprieta 1tals1e l S p.A .. Le copie originali sono contraddistinte dal retino stampato in rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Nella tabella in Fig. 23.2 per ogni combinazione possibile
delle due condizioni semplici A e B, è riportato il
risultato della condizione composta con l'operatore logico
ANO.

A B A and B

vera vera vera


vera falsa falsa
falsa vera falsa
falsa falsa falsa

Fig. 23.2

7. Si esamini l'esempio seguente

' , o
!
I I I

l:
; I ' I '

I :
I : IF I w- ,co C> E Q VA I.. HC>
I I I O 1 -To E l)~l
I ,1· +
, ., o
:; P~R;F R~
: I
·g1- 1~-
; I i I '
:rH " BJ -9~~ -~ .~LCOLO EX.

quando viene eseguita la PERFORM?

Solo quando W-COD e W-TOT sono uguali a zero

8. Una condizione composta con l'operatore logico ANO è vera


se

A. tutte le condizioni sono vere

B. una sola condizione è vera

A.

23.8

La cultura è un bene dell'umanità (fantomasping@libero.it)


l 'T"ftLS IEL
I~
I FORMAZIONE
Strutture
GRUPPO IRI FINSIEL per l'evoluzione

9. Al termine della istruzione IF dell'esempio seguente,


viene richiamata la routine CONTROLLO se i campi
richiamati hanno i seguenti valori?

W-CAT AV
W-CATEG AM

W-CONT-1 100

W-CONT 100

' • 'o
! ..
' • o
! I ! . :
7 11 O
I ' ,
H OT E.GHJA
l .o o -co ·, :..-1 : : : c~I ~ . -c.oHT
l ' o ~2.-~ 1,<J,-co;H:TR.01..1..0 LO- EX.
, • o

AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAA

No

10. Con riferimento allo stesso esempio, la routine


CONTROLLO viene invece eseguita se

A. è verificata almeno una condizione


B. entrambe ·1e condizioni sono verificate

C. nessuna condizione è verificata

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

B.

11. Si esamini l'esempio seguente


, -.. .- - -
l .F · 1 ~V I
·- ·-
' • o W-<.O C>-111 EQ VAL MH>
• o o !41-C.O [)-IN E"a VAL I ~/j I

+2 o PERF oR.H ~~:-- r;1~- 'rCoHT llJJL LO Th e.u ~ 2-:- ~~ ~-lO wr~o l l.0- EX.
'f4o
~o
O• o OOM . . O 0• ...

quando viene eseguita la routine CONTROLLO?


AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

23.9
Propneta l!als1el S p A .. Le copie ong1nal1 sono contradd1st1nte dal retino stampato n rosso Ne è vietata a riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Mai, l'esempio è errato, W-COD-IN non può assumere contempo-
raneamente due valori diversi

12. Si esamini il seguente esempio

. .. .. .. ..
SlOU(NC( ~
z
lf'AOll lll lUAl
I ) t 1 I
o
u. •
" " 20 ,.
" "
,. •• •• ., •• "
ol ' Io I
I I '
o' • o
1r W-FF ~
I

! NoT f<NAL H I G-ff • llAL V E ftH()


o 6 !o I !.Il, F.F2 ·l'io:r, ~QVAL H IGM- VAltJ r ftHO
: I '
o • 1o
i ~- Ff ?>. NOT fQIJA L HIGk- VALU E
' o o
'
f' e R-_F oR.H ~'frl- TRAT T TIUH I-EX.
~q,_
I I 7 '0
'
A~ - T~~l) fH-
' • o
--- -

quale affermazione è corretta?


A. viene eseguita la routine TRATT solo se i tre campi
sono diversi da BIGB-VALUE
B. non viene mai eseguita la routine TRATT

A.

13. In quale dei seguenti esempi viene incrementato il campo


W-CONT nel caso in cui W-STIMA sia minore di 10000 o w-
ORDINI-IMP sia diverso da zero?
...
' I O

A. ' o o
' . lf U)-SlltiA L.[S.S 1~~;~ OR.
W-OR1>1N1-1HF' f1oT E~VJlL lE:~o
' ..
' ' o
fÙ) D -1 ro w- (.o m- .
' • o

B. IF l..cl· ST 1 HA LfS s 1 rll~r/ RN D


' o • W-D(è OIH/ -1/'lp f{orI'" é()U~L èl'eo
• ' o AE>t> -1 To L(J-co Jfl' •
' • o

' • o
> I O

• o o

A.

23.10

La cultura è un bene dell'umanità (fantomasping@libero.it)


.....
lGRUPPO
I~
ALSIEL
IRI FINSIEL
I FORMAZIONE
Strutture
per revoluz1one

14. Si scriva il periodo che analizza la seguente


condizione:
se W-TOT è minore di 1000 e W-COD è uguale a e il
programma va in sequenza, altrimenti viene eseguita la
routine LEGGI
,
I
, i ' Io
• •o
I
I
. I

i
'
I
I .

I : I 1

,!·1 o I
I
I I !
I
!
i
I ' 16 o I i
' I I I
, I • I•
J • . ' :
I i ' I
3 1o o
I
I!
I
I I
,1, o
!
I: I :
'
I :
I ! I
:
'
14lo
I
I I I I ' I

!
.!
J I
: : : :
:
'I'
I
• J
! :
I
'i : !o
fo
I I
II
I
I
'' Il ' I
I
I .
I

.
1 ,1 I
I I I . I
o jo I I I

I
I
I
! II I
! l I I
I

!
!! I I
I
I I
I I ;i

---------------------------------
' J •
llOUlNCl

l"AO ll klUUAl
1 I

;
....
o .... 11
•• . ..
, JJ ,. 40 44 .. .. .. •• •• .. "
o!,10
I i'
I
I
I I o I 4 10
I
I
;
t;F JJJ-~c IT 't ES.5 ~~; ~· f\HD I

!: I 0It IO
I
i I I

0 I I 0
'
w-c:o o EQUAL 'e··
' o o H°ff.1 5E ~Ttf'i ICE
' , o : ELSE
' • o
, I• o ·f>tRF o~H fH- ~·~~- LF:"I i HRV A1- 'f9~- L.EG'6 I -EX.
,'. o - ·- - - ~

Si noti che:
E' consigliabile utilizzare NOT nelle condizioni semplici
(NOT EQUAL, NOT LESS, NOT GREATER, NOT NUMERIC, ecc.)
- nelle condizioni composte le operazioni vengono svolte nel
seguente ordine:
· calcolo di espressioni aritmetiche
· operatori di relazione
· NOT
• ANO
· OR
per alterare tale ordine si deve far uso delle parentesi.

23.11
Proprietà ltals1el S.p.A Le copie originali sono contraddistinte dal retino stampato in rosso Ne e vietata la riproduzio ne

La cultura è un bene dell'umanità (fantomasping@libero.it)


15. Si esamini l'esempio seguente e si determini la sequenza
delle operazioni.

'i°!° i I : : I
I I I , Ii
' ' I
' ' 'o

:I ,F. ! W-A :+: u-~


• I

~~.ATE i
I'
, • lo
I
I I
I uJ-c.
I
!
1 ft O
! I . I . IJ I I

' I•
f

I I
o
I

1
1
: I !~ W-'1Jl'.: -
, 1
11.i -c. : E~tùt 1..
t I
w-o
I 'i l
l
0 0
j? I O 1
I I ~ : l ;
I I I
• I
! I . . I

I '

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

calcolo di W-A + W-B e W-A - w-c


analisi delle due condizioni di relazione
funzione ANO

16. Si debbono elaborare solo i record con


W-GIORNO = 10 oppure
W-SETT =4 e W- MESE > 6

quale dei periodi seguenti è corretto?

. .. ..
llOUlflfC(

.. ..
;
,
l'AO( I IHRIAL
) I

o ' o
1 I
ou.
,,
I
.. •• .. ,. ,, ,. •• ., . •• 11

fL n • o IF ( w-G-1 O~tiO EQ VAL 1/5 OR,


0I t 0 W-5E rf T f Q\JAL 4' .i'\M b
w-HE SE
...
•• o

PERF DR.H
(jRf f} TtR
- -- .. -- .
6
• :o r

B. ' • o IF w-G1 O/lNO éQ VAL 1~ oR.


rrr f Q\JAL
W-5E At4C
.. 4
' • o

w-Hr SE
'

' ..' ~
6-R EhTEf-
PERP '(>R.N -- - - -
6
:"
. . -. - -· . . . .. .

B.

17. Quali record vengono elaborati col periodo A.


precedente?

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

23.12

La cultura è un bene dell'umanità (fantomasping@libero.it)


"'l""ALSI EL
lGRUPPO
I~
IRI FINSIEL
I
FORMAZIONE
Strutture
per l'evoluzione

I record con
W-GIORNO = 10 o W- SETT = 4

e W-MESE > 6

CONDIZIONI COMPOSTE CON ELEMENTI IMPLICITI

Il linguaggio consente di scrivere una condizione composta


da condizioni di . relazione, evitando di ripetere il soggetto
(soggetto implicito) di una condizione quando questo è
uguale al soggetto esplicito precedente.

Si esamini l'esempio seguente


' • o

-- -,~-: ~ÌA~~1~L±
· w-~ AN.()

J
' .6 o
' • o . . Efl TE.R.. W·C..
'1 0 IO
'
___.___'I
:J ______
0.....__._
I.
~~
. . .
--
' .
-

Il periodo è equivalente a:

' • o

w-a At4 e
.....
, ,, . e
,IF W-A [GU FIL
,
..

.I
w-A GRC iflT lR. w-~
. I

Inoltre il linguaggio consente, nelle condizioni di


relazione con soggetto implicito, di non esprimere
l'operatore di relazione (operatore di relazione implicito)
quando questo è uguale all'ultimo operatore esplicito • .

23.13

Propneta ltals1el S p. A Le cop ie originali sono contraddistinte dal retino stampato in rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Si esamini l'esempio seguente

. • ".z i . .. .. . .. ..
HO UI N CI

1 ,
1.-...011 ISllUAl
o
l I 12
•• 20 •• ,. JI
•• •• u IO 11

I
ol' Io
I
j : i !
I I
i !
w-·A :C:fiE AiE°~
'
• • I. I i LV- B ~ I.V-e.
' ·~
J 1 tU> ~ :
I o I 1• I ; I
OI O I I I ''

il periodo è equivalente a

o • o
1
! I
I

t 'o o
I

' ' o I
I F, W-·A GRE 1)1.E R.
I
LJ- 8 AHC>
I ~ ' ;0

' I
: 1i
uJ-~. (;.R.f A1ER I
w- c.
' • o l i
- -- -

18. Si riscrivano le condizioni composte seguenti eliminando


soggetti e operatori di relazione impliciti.

' . I I I -
' ; . 1o
I I

' o lo I I
I . .
' !' :·
, i 4 10
: ..:
:rF
I
~-A. E~ LJ ALÌ
1

~- ·s lt-H O u -(.. ~fio w-t>


J
'
' • o
'
"I
..
o.o I 'F W-fJ CQU A-L k.li-B oR LfSS u. -(. ~fH> Gf?f Af(~ w- D
l

' • o
, o
...II

1 • o
"I I •0

• o o

) • 'o

"I , • o
l ' o

' • o
' • o

• o 1o

AAAAAAAAAAAAA A AAAAAAAAAAAAAAAAAAA

23.14

La cultura è un bene dell'umanità (fantomasping@libero.it)


l'T'ft.LSIEL
I """"
I FORMAZIONE
Strutture
GRUPPO IAI FINSIEL per l'evoluzione

u. . .. .. .
HOUINCl
io
l''AGU llUllAl
•• •
I
21 •• •• ., IO •• ,,
1
O . , +O
1 I
" 11 20
" 40

I I I
I
I
? • .. l o I
IF LV-A EQV ftL W-6 AH t>
é~I) /H~
! '
t> e lo I w-A IAl-C ANl>
,, ' Il o
i
!
W-A E6W ~L w- [)
.''
• o o

. , o
I

. • o

' 1e o
' • o IF W-fi ECi? IJ AL w-·s f) R.
, 'o o W-A LESI> w-'l,ll- AH I)
' ' o W-A G-R.E lA.i .ER D
I
' • o I
I
' ' o I

Si noti che la scrittura di condizioni composte da


condizioni di relazione con soggetti o operatori di
relazione impliciti, rende più semplice il periodo anche se
non sempre ne rende più facile la comprensione.
E' sempre preferibile non rendere impliciti soggetti e
operatori perché questo può portare facilmente ad errori,
anche se ciò comporta ripetizioni che a prima vista possono
sembrare ridondanti.

23.15
Proprietà ltals1el S p A .. Le copie originali sono contraddistinte dal retino stampato 1n rosso Ne e vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
La cultura è un bene dell'umanità (fantomasping@libero.it)
l"T'ALSIEL
I~
I FORMAZIONE
Strutture
GRUPPO IRI FINSIEL per l'evoluzione

Capitolo 24

24.0

Proprietà ltals1el S p.A Le copie onginal1 sono contradd1st1nte dal retino stampato 1n rosso Ne è vietata la r1produz1one

La cultura è un bene dell'umanità (fantomasping@libero.it)


La cultura è un bene dell'umanità (fantomasping@libero.it)
..."'LSI EL
lGRUPPO
I """'
I FORMAZIONE
Strutture
IAI FINSIEL per l'evoluzione

I PUNTATORI E L'ISTRUZIONE SEARCH

I PUNTATORI
1. Il riferimento a un elemento di tabella si fa
mediante •••

indici

2. Il riferimento all'elemento si traduce, in compilazione o


in esecuzione, nel calcolo del suo •••

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

indirizzo

3. Tale indirizzo si calcola ·· sQ.nu:n.a ndo all'indirizzo di


inizio della tabella il ••• ,

displacement dell'elemento

4. In una tabella· ad una dimensione, in cui L è la lunghezza


dei suoi elementi, qual'è il displacement dell'elemento
con indice I?

(I-1) L

5. Se IND è l'indirizzo di inizio della tabella, qual'è


l'indirizzo dell'elemento con indice I?

IND + (I-1) L

Usando gli indici, l'indirizzamento ad un elemento di


tabella non è dunque immediato.

24.1

Proprietà ltals1el S p.A. Le copie originali sono contraddistinte dal retino stampato 1n rosso. Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Per una gestione più efficiente delle tabelle, il linguaggio
definisce dei nuovi elementi: i puntatori. (1)

I puntatori, come gli indici, permettono di far riferimento


a un elemento di tabella. In tale senso non si distinguono
formalmente dagli indici: EL (P, Q) è l'elemento di tabella
relativo ai puntatori P, Q.

La differenza tra indice e puntatore risiede nel loro


significato.
L'indice è il numero intero corrispondente alla posizione
dell'elemento: l'elemento con indice 2 è l'elemento che
occupa la seconda posizione.

Il puntatore invece ha un significato indefinito. Il


linguaggio si limita a dare solo le regole formali sull'uso
dei puntatori. Esso evita volutamente di definirne il
significato, e lascia ai compilatori la libertà di
realizzarli "su misura", sfruttando le caratteristiche della
macchina cui sono orientati.

Il problema dell'indirizzamento viene così superato con una


adeguata realizzazione sulla macchina.

Il compilatore IBM OS/MVS COBOL assegna ad un puntatore un


campo di una voce contenente il displacement in binario
dell'elemento cui si riferisce.

Pertanto, se P è il puntatore degli elementi EL di una


tabella ad una dimensione, con indirizzo di inizio INO,

· il displacement di EL (P) è P
· l'indirizzo di EL (P) è IND + P
Il problema del displacement viene risolto in maniera
radicale: il riferimento all'elemento si fa mediante il suo
displacement.

Analogamente, se P e Q sono i puntatori degli elementi EL di


una tabella a due dimensioni, con indirizzo di inizio IND,

P è il displacement di EL (P,Q)
lungo la prima dimensione

· Q è il displacement di EL (P,Q)
lungo la seconda dimensione
Pertanto
· il displacement di EL (P,Q) è P + Q
· l'indirizzo di EL (P,Q) è IND + P + Q

(1) Lo ANS COBOL definisce subscript l'indice, e index il


puntatore

24.2

La cultura è un bene dell'umanità (fantomasping@libero.it)


"T'ALSIEL
l;RUPPO
I~
I FORMAZIONE
Strutture
IRI FINSIEL per 1·evoluzoone

In una tabella a tre dimensioni la definizione è analoga: i


puntatori contengono un displacement lungo ciascuna delle
dimensioni.

I puntatori si definiscono mediante un nuovo formato della


clausola OCCURS:
OCCURS intero TIMES INDEXED BY nome-puntatore
dove nome-puntatore è un nome formato secondo le stesse
regole di formazione dei nomi di campo.

L'esempio seguente

, . .•, .
SlOUl N Cl

fll'AQU llUllAl u •
I

o ' o
o

" .. 10 ,. ,.
"
,. •• .. •• ., . •• •• .. "
" • o 61 LU- .Se. uoUl,
n • n 1;3 tp-C:::L fl55[ oc ICU~5 3~ tN DE.Xf D p.
n ' n ~5 W- C l flSS E -e.o D PI c.. 999.
' o o ~5 W-C L fllSSE - ALL f'IC 99 c.oHP -3 •
' 1 n
- ·- -~

definisce il puntatore P per gli elementi di W-CLASSE.

6. Si definiscano i puntatori P-REP e P-DIP relativi agli


elementi REPARTO e DIP della seguente struttura.

W-OFF-COD [3 N]
W-OFFICINA
W-REP (10) W-REP-COD [ 3 N]
W-REP-DIP (100) [6AN]

p I C. 9( ~) . :
," C.. I) ~­ I HOf.Xlt> 8)' P-
-·u -U> PIC ( 3) .· .

, .. . -·RE P- D I P. '. .
. . . . ~· i .· i '. I~( :o· X ( .) •

24.3
Proprieta ltals1el S p.A Le copie or191na!I sono contradd1st.nte dal retino stampato 1n rosso Ne e vietata la roproduz·one
La cultura è un bene dell'umanità (fantomasping@libero.it)
I puntatori sono definiti completamente dalla opzione
INDEXED della clausola OCCURS.
Essi non sono campi di dati, pertanto non sono definiti né
descritti in nessuna altra parte del programma (neanche in
WORKING-STORAGE SECTION): al contrario degli indici la loro
allocazione in memoria e il loro formato sono demandati al
sistema e non al programma.

Per richiamare un elemento di tabella mediante puntatori, si


usano lo stesso formato e le stesse regole formali indicate
per gli indici.

Ad esempio, richiamando l'esempio precedente si può


scrivere: W-REP (P-REP), W-REP-COD (P-REP), W-REP-DIP
(P-REP, P-DIP)

L'assegnazione di puntatori ad una tabella non preclude


comunque anche l'uso di indici.

E' vietato solo l'uso misto dei due in uno stesso


riferimento, per il diverso significato che essi hanno.

Ad esempio, con le seguenti definizioni


- -- -
~~~e .-
l O n

1 ' ,,
tr W-1 N DRE.P 9~ 'ç. o Hf'
(> I (...
I . to
'll w- t"" DD I P flL e99 'r<..okP S y ttC •
' • r

' ' n ~{ W-OF ~ I C. I fllj.


• o n ~3 w-R.E P OC-'-U f.$ -I~ I Ht>E XH P -R tP.
'f.Z o 05 UJ-RE f'-OIP oc.<-uR IS 19S' I HDEX ~e P- l>I P p IC. '/( (&) .
~4~
~oc

i riferimenti W-REP (W-INDREP), W-REP (P-REP), W-REP-DIP


(2, W-INDDIP), W-REP-DIP (W-INDDIP, 5)
W-REP-DIP (P-REP, P-DIP) sono corretti.
I riferimenti W-REP-DIP (2, P-DIP), W-REP-DIP (P-REP, 5),
W-REP-DIP (P-REP, W-INDDIP) sono errati.

Per tale motivo, se si vuole fare uso dei puntatori, essi


devono essere definiti per ciascuna dimensione della tabella
(la loro mancata definizione per una di esse, costringerebbe
all'uso soltanto degli indici).

24.4

La cultura è un bene dell'umanità (fantomasping@libero.it)


... "LSI EL
lGRUPPO
I """'
I FORMAZIONE
Strutture
IAI FINSIEL per l 'evoluzione

7. L'esempio seguente è corretto?

. .. .. .. ..
llQUOICI ~

fPAOrl flllUAl
'
!
> ..
o.' 10

z
8A
1 •
, I

" .. JO •• li ,, •• 11 IO ••
I I
I I ! 1 I .
1 I OI •
I
o I
I
cot1P 5YH~.
:'
0 It 0
.' ' I ' '

W- I H 1> PIL .X(4).


I 7 0 : I

No. Sono date due definizioni diverse di W-IND; come campo


di memoria e come puntatore (un puntatore può essere
definito solo con la opzione INDEXED della clausola
OCCURS}

8. La seguente definizione è corretta?

I ' 41 i 0
I I . . I . . . . I I :
I I

~ j 1 j• ~ o rp-l W-H~ ' I


:: ~3 '
j I :
t~ ·~ ~, : 1~ o~.xe e · :p.
:I:I:
, I' 10
I
I
! '
1
!
: j
:
I
;
I
'
r
I ~R
' , I
I ' '
I
~
-1P.
I
~ ! ~V S ~ IHbtX~O B~ P.1 .)(. .

No. I nomi dei puntatori seguono le stesse regole dei nomi


di campo, pertanto devono essere unici

9. Date le seguenti definizioni

, • o

i.V-I f>I C. S'tNC.


w-J P1 c. YHc.
w- I< P1c e HP «;, Yllr- •
w- HIJH f> I C. li/) •

Ul-l D Pie

p.
I HD 'KEO Q
99~ CO P -3.
I HO EXEO t PI e ( S) -

24.5
Propneta 11als1el S p.A Le copie originali sono contraddistinte dal retino stampato 1n rosso Ne e vietata la nproduz·one

La cultura è un bene dell'umanità (fantomasping@libero.it)


quali delle seguenti istruzioni sono errate?
·- -· ...
. .... ;
.. ., .. .. ..
HGUUtCI

'"'""''
'
......., ' o
.,:• >• "
I I
! I I I I
I
:.."lI: ,~
: I
A. I I )! ; . : 11 '
I Ii ·
I I I
~-tç 1 I
-e.o ·'I I!
I I I ' I

!
I

I I :Ii IU-C D:. I


'
I

I
i
I
I i I
I
I I I .
B. I
•I•
...
I lfJ.
I I I
I I I
I ; I '
I I
i II I I
I ' •
!
I

I ' i '
c. '
I
I

I ' •" • Y

I: I
'

P. II I :I
i
J
'' I' '° I
I
I '• '
I I I I I
[. ' J i \1 1 Y
I
i I
I I
I :; 1 .. ; I I
I
! ' I
'

B. Nel riferimento a un elemento di tabella non sono


permessi contemporaneamente indici e puntatori
D. La seconda dimensione della tabella ha nove elementi

Si noti che l'istruzione in E. è un esempio corretto di uso


contemporaneo di indici e puntatori
Nel seguito
· quando si richiamerà il contenuto di un puntatore, si
parlerà di valore di puntatore
· quando si richiamerà l'indice (o posizione) dell'elemento
cui il puntatore fa riferimento, si parlerà di valore
indice.
Tali valori sono distinti ma associati tra loro (entrambi
fanno riferimento allo stesso elemento).
Per il compilatore IBM OS/MVS COBOL la relazione tra il
valore di puntatore P e il valore di indice I di un
puntatore associato ad una dimensione di lunghezza L, è
P = (I-1) L

Ad esempio, con la seguente definizione


• I I
: I. "
.. ,; ...I I '

I:I .1y t
. ! '1. 1..

24.6

La cultura è un bene dell'umanità (fantomasping@libero.it)


.....
lGRUPPOALS I EL
I """'
I FORMAZIONE
Strutture
IRI FINSIEL per l'evoluZtone

se l'elemento W-REGIONE (P) coincide con l'elemento w-


REGIONE (5): il valore indice di P è 5, il valore di
puntatore di P è 80 = (5-1) 20.
Se il valore indice del puntatore P degli elementi EL di una
tabella è I, si dirà anche che P punta all'elemento EL (I) .
Nell'esempio precedente , P punta a 5 o, anche, a W-REGIONE
(5)

Coi puntatori, oltre al riferimento diretto agli elementi di


tabella, è permesso anche il riferimento indiretto
elemento (puntatore± intero, ••• )
In tal caso, il valore indice del puntatore viene
incrementato o decrementato, per 09ni dimensione del valore
intero; e il riferimento e fatto all'elemento
corrispondente.

10. Con la seguente definizione

, . 4;o j'· •

{ . w·-HA
' '
' 1• 10
' i' .o
, 1o o
...~3~:
f - PR.o v

se P-REG e P-PROV puntano a 2 e 3 rispettivamente,


A. qual'è l'elemento W-REG (P-REG + l)?

B. qual'è l'elemento W-REG (P-REG - l)?

C. qual'è L'elemento W-REG-PROV (P-REG + 2, P-PROV - 2)?

A. l'elemento successivo a W-REG (P-REG):


W-REG (3)

B. l'elemento precedente a W-REG (P-REG):


W-REG (1)
C. W-REG-PROV (4, 1)

24.7
Propneta ltals1el S p.A Le copie orig1nah sono contraddistinte dai retino stampato 1n rosso Ne e vietata la riprodu11one

La cultura è un bene dell'umanità (fantomasping@libero.it)


La somma, o differenza, che compare nel riferimento
indiretto non è una somma algebrica, ma è piuttosto una
somma logica, perché relativa a due elementi non omogenei:
un puntatore e un indice (il numero intero). La somma
algebrica viene effettuata solo dopo che il valore di uno
viene convertito nel valore dell'altro.

Il vantaggio del riferimento indiretto è quello di poter


fare riferimento a più elementi di tabella senza cambiare il
valore dei puntatori.

Dalla definizione segue che lo scostamento tra EL (Pl, P2,


P3) e EL (Pl ± nl, P2 ± n2, P3 ± n3)
± n L ± n L ± n L
1 1 2 2 3 3
ove Ll, L2, L3 sono le lunghezze dell'elemento lungo le tre
dimensioni .

Sia che si usino gli indici, sia che si usino i puntatori,


non si può "uscire fuori dalla tabella".

Ad esempio, se è data la definizione

IEOUlN Cl

f ..AGl l

' I
J •

o ' lo
zo
•,
llUUAL u •
. •
" .. •• •• .. ,, JI •o .. .. 11 .. •• •• .. "
~~:
:
o • o W-~E ~1Df4 E.
p
•• o

" • o
~3 W-R.E G- PR. o Il OC.'-U ~~
-' I HO EXE~ p I::: xx.

e se P punta al terzo elemento, i riferimenti W-REG-PROV (P


- 3) e W-REG-PROV (P + 7) sono errati.

24.8

La cultura è un bene dell'umanità (fantomasping@libero.it)


"T"ALSIEL
lGRUPPO I~
I FORMAZIONE
Strutture
IRI FINSIEL per l'evoluzione

In generale, per ciascuna dimensione, se P punta


all'elemento con indice I, il riferimento relativo P±n è
corretto solo se è
1 ~ I ± n ~ NU1't
dove NU1't è il numero di elementi lungo la dimensione
considerata.
I puntatori possono essere confrontati tra loro, con altri
campi e con costanti; essi possono comparire quindi nelle
condizioni di relazione della istruzione IF.
Il confronto avviene tra il valore indice dei puntatori e il
contenuto del campo o la costante:
Il compilatore IBM OS/MVS COBOL richiede che il campo o la
costante siano numeri interi.

11. Sì considerino le seguenti definizioni

"o o

I:' : 0 E: ficT •9~. ·


:
.
I
" . '0
I
' : e !O . . '
Ptc.. 9(4)
I '. ~
". o
I ,
le ~(4)

' o' o Pie. 9(4)


o

'.
'' l
o

' •o LU S -l DE)(f:b P-R.


' •o - PR. V oC.<:..IJ .9 I tib EX[ P-P~ PI C. X •
o o
'
.J
' "o
, o . P1c (1&).
' ' o P re. xx.
' • o

o •

24.9
Proprieta ltals1el S p .A Le copie or191nah sono contraddistinte dal retino stampato 1n rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


sono corrette formalmente (in compilazione) le seguenti
istruzioni) ?

t
a1ou1.. c1

l"AOll IHlllllA L c.J A


)4 •11
;'.
o ..
·u .. >O ,. JI
•• .. .. ., .. •• •• Il 72

o · 1 ~o
I i I I
A. I
o!. 10
, l :f , w- fttk;-Pfl!ov
I . I '(

w-r -t: 1',


'.

w.- 0). . E~U/lL UJ-cor>-P.~v


I

I I o:•lo I
i I I i I I HO.VE I w-R.EG (.t.) To, W-ciot>-R.E"G.
o • o I i

!
B. I
I ! o Io I 1= w-R;q;:-i~o'v: ( P-.RE~ -+ ~ ~ P·pR.ov :- z)' ~tss w-c:o.D.-PR.o'v'
I
I
I
, o
I ' l(Ovt W-~f6 (f.>·REG.,) To LU-e o {)- RfG •
'
' • o
c.. I
I \ 6 ;0
. I
I I IF ll!-J. ~\)~·L' .f '.
I

'
• o : Ho\/E ui- ~[G (f'- .RiG) To ())-e o.D- R EG •
I ' O IO ' I
D. )
I
1 •O .I f P- RE~ :u:5:s. P- P R.OV
11 4
I
'o : : H:o·vE · W-R{~-PR..o\J .(P.-R.E6- ...: · ..{ 1 P.-PrtoV) ro w-coJ>-PR-011.
1I 6 t0

~! G (~· JAt ~
..:
I
F. ' e I 0 i ; .f F f'-
l
I
olo
~foc, 1{ ro: I ~-:J
+i·
I ' ! : I

1 ! i ! l I l I :

F. l 4 fO
' ' IF I P·- ·~t~ ' GfiEA:i Ei : tJJ-.I :
~
: ,:•i. : 1 ·
1
f/ove Sf' AcE i.o w-co 1>.
'
1
: W-(l~ l{ip -~ Eb): u/-~t(;.
' I• ~ o 1

G. '
i .1.I. : ; I ;H0v 1e lio: : l(cu-1 ).
: i
l<i:210
H. I '
I
44,0
I I 14~ ;0

L'unica istruzione errata è quella in A.: il riferimento


indiretto non è permesso con gli indici.

12. Con riferimento all'esempio precedente, l'istruzione

zo
. .. .. .. .. .. .. .
llOUl•Cl

11•...au
I
IH•tAl u •
J •
•' •
" . JO ,. JI J2 12 IO
"
.
• ' o
o o
Hov.E w- RE.G- P~ov ((l- REG - -l il p-f (lOV ~ .f ) TO UJ- !Co D- PRO \J .
• • o
- - . - - -- ··- - - -- -- - -- '

A. e' corretta in compilazione ?


B. genera errori in esecuzione ?

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A. si'

B. dipende dal valore indice di P-REG e P-PROV

24.10

La cultura è un bene dell'umanità (fantomasping@libero.it)


'T"ALSI EL
lGRUPPO
I~
IRI FINSIEL
I FORMAZIONE
Stru1ture
per l'evoluzione

L'istruzione SET

Con eccezione della istruzione IF, che ne permette i


confronti, i puntatori non sono gestiti dalle istruzioni fin
qui illustrate, poiché non sono campi di dati. Essi possono
essere gestiti solo con le istruzioni SET e SEARCH
L'istruzione SET permette i trasferimenti e l ' incremento o
decremento dei valori; l'istruzione SEARCB permette la
ricerca tabellare.
Il formato seguente dell ' istruzione SET assolve a funzioni
analoghe a quelle della MOVE (inizial i zzazione e
trasferimento)

puntatorel [ puntatore2 puntatore 3


]···
nome di campol nome di campo2 nome di campo3
intero
dove
· i camoi devono essere elementari numerici interi
· intero deve essere positivo.
Il valore indice di puntatore3, o in contenuto di campo3 , o
il valore intero viene assegnato al valore indice di
puntatore!, puntatore2, ••• , o trasferito in campol, campo2

I valori dei puntatori (puntatore!, puntatore 2, ecc.


dopo il trasferimento, e di puntatore3 prima del
trasferimento) devono essere validi: devono puntare entro la
dimensione, à loro associata~ della tabella.

Con le seguenti definizioni

o • ·o
' o o r~ Lu-1 li D Pie ~(4) e HP ~YN
' , o

' • o
i W-tf
;3 cU ., l HPtX [b BY P.
' • o
, o o
-R.E -P V cc.U e IH )C(t> ~'I Q PI L xx .

24.11

Propneta 1tals1el S p A Le copie or1g1nah sono contradd1st1nte dal retino stampato in rosso. Ne e vietata la np1oduz1one

La cultura è un bene dell'umanità (fantomasping@libero.it)


esempi di uso dell'istruzione sono
(if,f ,'i'.l . I,uJ. Tf I II I T'I I I: 'I I, I !
- --· I '

-! i- +M I ! iI ! I . I
I
I;
r Ii
I

rp; I ' ' I' ! I


I
.11 I I I

~ J4 :I
/
i I
1
I i ' ,, ' I

! I I I , i I I II
I I I ' I ' ;
' 1• !"' ' I ~ . I I I ' ; '
: i
:
II
I
$cr' I - 'I
I .Oj ; ~ ., ,
I I
I ' ! I
I' • ' "
I I I I ' I II i

f ~ .1 1
I
i .j. i. i
!' , I
' I I . I I I I
: I
II I I ' I I ' I

! , I
"!" P·•
I
.I ; . , ~
I
11
:
'.SEJl.
I
ip, i I i I
To.
. . :
.
I
IJJ-
. II
:I l !
I

1
'
!I
j I
I
i
I
;
: I I
!
'
I
I
I i!
i
I I I

I
I : ;
I i

, .. I
! SL!IT: f-1 mo ~. : l I
:
'
i ' : ! I
I I

I
>ID 1 '
: I , ' I '
I
' ;
i ' I

i I Ii
' ! I
I '
I
I •: •

i ~ .I I
u ' ' I I

W· I '11 ~ · T pi
:
.. .. .SET' 'p I
I ~ I
I
I
I
I
'
~ !; , I
I I I

1· I
I I

I i i!~ !: ! :
I
:
I
I! ! I ' I
i
I

I I
I
II
i I I
' I
I
II I
I

'
I I
I I ' i ;
'
I'
i I I I I
i
i I il i I
I

i I
I
i '
I I I
I
I

I!
I
I II
11 I
! I I I
iI i i I
I
I

L'istruzione 002240 "inizializza a l" P e Q.


L'istruzione 002280 assegna a P il valore indice di Q.
(L'istruzione è corretta solo se il valore indice di Q è
compreso tra 1 e 9).
L'istruzione 002320 assegna a P, come valore indice, il
valore W-IND. (L'istruzione è corretta solo se il valore di
W-IND è compreso tra 1 e 19).
L'istruzione 002360 trasferisce in W-INO il valore indice di
Q.
L'istruzione 002400 equivale alle due istruzioni 002280 e
002360.

Le combinazioni ·valide offerte dalla istruzione sono


puntatore2
1. SET puntatore! ~ nome di campo
intero
2. SET nome di campo ~ puntatore

24.12

La cultura è un bene dell'umanità (fantomasping@libero.it)


"T"'ftLSI
I""""IRI FINSIELEL
lGRUPPO I FORMAZIONE
Strutture
per l'evoluzione

Si noti che
· l'istruzione SET non imposta un campo con un altro campo o
con un intero (tale funzione è demandata all'istruzione
MOVE).

Si fa osservare inoltre che l'istruzione, per poter gestire


i valori indice dei puntatori che come si è detto, hanno un
altro contenuto (valore di puntatore), è costretta a
convertire il contenuto di puntatore3 nel valore indice
associato, e poi tale valore o il valore di campo3 o
dell'intero nel valore di puntatore!.

13. Con le seguenti definizioni

1
HOVINCE

IP'AGU llUU4l
l • I
zou.
1 •
..
12 .. 20 •• . .. li
•• .. •• .. . "
•' "o'
P1c ~(4} .coHf> SYHc
' I .

~~ ~-~: (j.
i o! • io
I I
I ·: •1· '
'
I
I 0 I $ 0
. -~
' o o -e ' . ~-. D p-IZ Pie X(
: ' ' o
' . o
: w-R.E 10
I I6 0 1}3 -P Il Pt e x.
' • o

quali sono gli elementi.puntati da P-REG e P-PROV, dopo


l'esecuzione delle seguenti istruzioni?

. ~--- -
' o o
ft. ' ' o Sf T P-P P.,OV ro 1.
' • o SET P-R tG TO P-P R,o.,,.

B. ...
.. "' ti
. . !>ET P- te EG P- P~ ov To i.U-J.
'.
' " o

c. ' . I
At>D 1 ro w-I.
•• o
5eT r-~ l[G 10 W-I.
~t>D -i rro ~-1.
."
l ' ,O
' .
)
. . SET P-P tov ~o W-}.
• o o

D. f4 2.D 5CT f'- RE:G- ~o .. 1~.


q_+o . '
.SET P-f R.ov To . '
P-er ~-
~60
-- -- ......... _, -...

24.13
Propr1eta ltals1el S p A Le copie ong1nal1 sono contradd1st1nte dal retino stampato 1n rosso Ne é vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


A. W-REG (1)
W-PROV (1)
B. Nessuno: un puntatore non può essere "impostato a zero"
C. W-REG (l.)
W-PROV (2)
D. W-REG (10)
P-PROV non punta ad alcun elemento: un puntatore non può
"uscire fuori tabella"

Si noti che
· Un indice I è un campo indipendente di memoria, e può
essere impostato a qualsiasi valore (positivo, negativo o
nullo) con la clausola VALUE o con l'istruzione MOVE. Solo
quando si fa riferimento all'elemento EL(!) si richiede
che l'indice non esca fuori tabella.
· Un puntatore è associato alla tabella che lo definisce e
non può mai uscire fuori tabella; pertanto può essere
impostato dalla istruzione SET solo a quei valori che lo
lasciano entro la dimensione della tabella.

14. Con le seguenti definizioni

HOUlNCl

u.
• ,.011 llf•••l

' • •o ' , o ' .z . o


,,• .. •• .. .. )2 .. •• .. .. ., . •• . .. "
.. .. . '
o • o
'Pf W- flH> ' . p I c. 9( 4 ) (.o HP .5 Yf/C.
0It 0

. .
o I O
~1 w-HA z.
/13 ' W- lt>E G o C.c..uR 5 ~ 9 I HOEX Eb P-R.E G-.
' o o

' '
' • o
. ~5 W-flE 5--PR K>V o C.LlJR. s 9 IH DEJ(E D p- p R,orJ
_ .____ -
Pie X ~-
-

qual' è il contenuto di W-IND dopo l'esecuzione delle ·


seguenti istruzioni?

-- - --
' • o

A. ' • o S'ET w-1 Hb rro 1· •


' • o

s. SEI P- .k rG ro 5.
P-Rr. ,
' ' n
;" • o SET W-1 ff /) tro ~.

24.14

La cultura è un bene dell'umanità (fantomasping@libero.it)


.... ftLSI EL I
& j
lGRUPPO

,
I"'"'
IRI FINSIEL

!• o
FORMAZIONE
Strutture
per l'evoluzione

f ( i' : I
: I . ,
c. , I a 10
, ,• I.
I

I! I .5rT. P:-P ~·" ro.' i ~ 'J'o


~- 1.eE~
: I

P-f'.Ro~ .
I
'
• .

! .S '41 W-1 Nf) '


+:· 1 ' '
I
!' I ' ·, ; I '

D. ' I• Ì
0 ;srr, f>- p ~ov
' ' I
P- 'R.E G T o. 1 ..
1
: , 1 •!o .SET W-l~l> IT:~ P- p°t~ Oli •
l i. o
I I A·D·D: f ro.' W·'I N (:).
!;' '
• o o i '

i I ! i I
I I
I

A. Nessuno: un campo non può essere impostato con una


costante mediante la SET
B. 5

c. 2

D. 2

L'altro formato dell'istruzione SET assolve a funzioni


analoghe a quelle delle istruzioni ADD e SUBTRACT

UP BY nome di campo
SET puntatorel (puntatore2 - - -) [ J DOWN BY intero
dove

camoo è un campo numerico intero


intero ha un valore positivo

I valori indici di puntatorel, puntatore2, ••• , sono


incrementati (UP BY) o decrementati (DOWN BY) del valore di
campo o di intero .

I puntatori puntatorel, puntatore2, •.• , sia pr ima che dopo


l'esecuzione dell ' istruzione devono essere validi: devono
puntare dentro la dimensione, a loro associata, della
tabella.

Ad esempio, con la seguente definizione

l • o W-HR
(J3 ...
• o • f' - pR.o V X •

se inizialmente P-REG e P-PROV puntano agli indici 2 e 1


rispettivamente, dopo l'esecuzione delle istruzioni

24.15

Propneta ltals1el S p.A Le copie ong1nail sono contradd1st1nte dal rettno stampato in rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
, , .. ,.
HQU(N(,l

tf"AQU tsllUAl

o! , o
~
z
8A •
12 11 20

I •
o!• o t
I I I
o •• o
' I

nlt . o
• o o

P-REG e P-PROV puntano agli indici 1 e 2.

15. Con le seguenti definizioni


, :' (I

' • o

• • o p, c. ~(4) cof< 5'f HC .


' • o fil( (-l ) .
, o o 101'1 f.
, , o
-RE o /) ~ ~g X D p PI c.. }{ { ~~ ) .
, • o

qual'è il contenuto di W-COD, dopo l'esecuzione delle


seguenti istruzioni?
I ·-
1 • 10 I
' ...
A. '
, • o

'
I
HO ve: ~· 1o UJ-1 Hl:>.
> o o SET p !O w-1 Hb . . .
. '
:- , •o
I •
5ET. p UP ~y 1.
, • o
.. HOVé I).I - f,[G ( f' ) To W-' OD.
B.
' • o

'
• o o
.. HOVE:
5CT
5 To
p TI>
..
W-1 ff{) .
~Q,.
. . !'1lC 5€T. p t>Ow tf fy c.. -1 ~D .
440 HovE w- R.EG (P) il) w-c b t>.
460

A. W-REG (2)

B. W-REG (14)

24.16

La cultura è un bene dell'umanità (fantomasping@libero.it)


'T'ALSI EL I
& lGRUPPO I~
IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzoone

16. Con riferimento all'esempio precedente, qual'è il valore


indice di P e il contenuto di W-COD, dopo l'esecuzione
delle seguenti istruzioni?
,.
. . . . .. .. ..
SIOUlNCI ~

trAGt:I klHUAl
I ) 4 e
8
1 I
A ' I
U . •• •• OA 12
•• •• "
i O! , jo
I' I, !i ... :
o;" I o , .SET
i · :st1·
;P. ITd L:
'
: l
I 0
1 I
I e 10 ! p UP f>'t t .:
I

.
0 1 . 10
)
· · · H·ovE: w- ~.ti'; (P.) To I.V- ( OD

;: :s:r~'.
I I 0 0

B. ' , o f . rr o. . 1 .i : .
: , ..H.o\(E 1 w-~G. (P, -t ;i) f'V. w -e oc.
' ; ' I l ; : I :

A. 3
W-REG (3)
B. 1
W-REG (3)
Il riferimento indiretto non cambia il valore indice del
puntatore, ma solo il riferimento all'elemento.

GESTIONE DI TABELLE CON PUNTATORI

La gestione di una tabella con puntatori non differisce


sostanzialmente da quella con indici. I due formati della
istruzione SET, e l'istruzione IF, poiché gestiscono il
valore indice dei puntatori, assolvono a tutte le funzioni
che gli indici richiedevano alle istruzioni MOVE, ADD,
SUBTRACT e IF, e che sono necessarie per la gestione di una
tabella: inizializzazione, incremento e decremento,
confronto, salvataggio di valori.

Usando i puntatori, una attenzione maggiore va prestata al


loro valore: al contrario degli indici, i valori fuori
tabella non generano errore solo quando si fa riferimento
all'elemento di tabella, ma sin da quando tali valori sono
richiamati dalle istruzioni. Ad esempio, se I è un indice,
l'istruzione

._____J
è corretta; se P è un puntatore, l'istruzione

24.17
Proprieta ltalsiel s p .A. Le copie or191nal 1 sono contraddistinte dal retino stampato •n rosso Ne è vietata la rrpr.oduz1or>e

La cultura è un bene dell'umanità (fantomasping@libero.it)


_ _--,_.,..-__ , ,. . ._
., l~~f .-
.. j._·---gr--
~ili .: -: :~:- = ::~: .~
- -- - -~
- -· - - ··-. ~ --g - · · - -.~i - ~·-- --~ ----

~~ --= ••.·~ : . : ... : : ~ • .~ . -:- ~. : -_::- -==


-- ' I O

=~ ~~
' • o
~ $Ef !: ·~ to -. _p_.-· ~- - ~ ~-~- -- ~-
--- :-~- ~ :-~ ~~~ ~- ~ ~-= -=~::=_

1-

genera invece errore in compilazione.

Come esempio di applicazione dei puntatori, nel seguito


viene trascritto il caricamento di tabella della domanda 20
del capitolo 22.
(la ENVIRONMENT DIVISION e la FILE SECTION rimangono
invariate).
&IOUl•Cl ~

tPAGl l
' .
11"'61. 8• A
, .. .. ..

-· . - ·- - ---- ~- -·
I
-- ~ ·-- - - .. . ~=:I]-
I '

-+--!-+-t--1-+-+-+++...-Hl-t-,--t-t+++-t-t_._, __....,+.- 1
I .
~
• j ~ - : ·; .!..~-I I

..,.
• .• . o
- -r- · ;-,--:--'
'
' - ' -r--
~- - --;--
•• :o ' I I '

- .L..
;--,-. -r-r-:
- ~- - ~- ........... ___..~---
~ - "'T'" . • • ·-
'

24.18

La cultura è un bene dell'umanità (fantomasping@libero.it)


l ..."'LSIEL I
& I~
GRUPPO IRI FINSIEL
FORMAZIONE
Strutture
per l 'evoluzione

u. . .. .. .. . . ..
HOUINCI

.
~
z
Ui'AOll tHIUAL

' ' o: •
o
1 •
:I
" .. 20 •• ,. 40 ., 10 12

I ,
.
2 10
I
~ i
i II
! I
o
I
o
j
.lf, i w-·F:1~E- :F ILt .H.01 (.Q uA·L
I HIG ~- ·VA LVt AHD
r>. : ~ oT ~A Tf.R.
I

Gb TO HL -~.~9 -E.L~ ~..~.


o It o '
I
.
I I I
o ;
! :
• 1•
I '
I J I
I!0' 0
' J I
. I
j
'

..
' I .
: I' ' "o I .... ! : I !
'
o tf L.- 89j6:-F /Ht .• ! I'
' •!•!o : , . :s.~1 'P 3. . . '
I
!
·i· o iI :::L.05 t .o.ROlr"f I

' o Io sr~P . R:tJ ~..: I I


I
'
: .
' ' o '

Si noti l'inizializzazione diversa (al valore 1) del


puntatore, e la conseguente invers~one tra la funzione di
trasferimento dei dati e quella di ~ncremento del puntatore
(prima il trasferimento e poi l'incremento}.

24.19

Proprietà ltals1el S p.A . Le copie originali sono contradd istinte dal retino stampato in rosso Ne e vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
17. Si trascriva l'esempio del capitolo 22, usando il
puntatore P per la gestione della tabella.

.. I ! ..: i I "; '. ~ ...


NOUllH:I .,.

f'l'. . .t Ma.Al A
•8 :e
I •4 •1• ·~ - H H .. .. •1 M M M U H

:i :it 11 ! : 111 I I I I! I ! i l
I ! ~ !: i I I! ; i :
! I ': : I
~ I i i ! I '1 !'
1

II !'
I !! !~
~',· I·, ·1
I I 1' I

+1 1 1 I I '
I I :,
·1·· !j l I ·, :' :. i. I! 1I ' I ;.
' ' I ' I . • 1. 1' ! " ' ' I I I
1 1 1 ' I ! '.11 I I '
; I ' 1.

i ; ! i : ; j I :.
·1
·

1i I I, I
!! I. !:; !I i I: :: !I !;
i I l l l I ! i II
1.
;1·
i !. 'i . ., 1, : ·,i !I i:

:I '1°1° II ! I j : II ii! ;;: i


·, I 'I ' '1 " :I I' I
I
I I . ' I '
' '
I I : I : II iI ' I .I l:' ! ' ' I
I .
I ' : :' I
I i I :
; I
I

I
:

I ;
I
I
I
'

I
I
I • '
I
I '

I
I I
I I Ij : ' ; I II i : ~ I ,. I ! !: I ! II ", : '

I i' ;' : !
I :

1;t ili !j
1 , I

Ii i : : : ; ~ ' I
1

~
I I ' • o ., , I : . :i !I :!, ·,.:I '1' i!!, ·1 ' '1.i

I •.
1

1
I : '
iI: ; ;
ii I i : :I !: 1· : . : ' :

I j I
I . !
i I i
: ! : :: , ,. ! ! ., I
I . : ; ! I I I · ::.
I
· 1
I
i, : . : : : 1 r : , ,

!I I 1
: 1 :

i i " :'
I

i I t I I I ! ' I I
I I : :
I
i1 : 1 1'

I :I:I: I I ., , : : t I I
I ;I
I ;
i
'
' :
' ,·
I
1 I
I ' i ' i Ii
I
I I! I 11
I I ! I :' I' .I i !. ; ~
I
!, J
I !i i
·I. :
I
11 '. ..
1
I'
·!
. .' ,' :, ·. ;'

! l :I: : I' I

I • : i I ·,! I I

i
I il

I I i ! i :!i !! ' i '.


iI
i! I I I ., I '1
1
1 I !
1, : :

i
'

I
I ; I
: ; ;
I
1'

I''
I
.,

I
:

I
: '

:
"

.
!~
> • o
I
• I

.: .I .'
'

·, '
'

I
I '

!.'
:i
;
> • o
•• o
il I
I
I
i ·
' \
.
1 I: ,I 111 ! I 1!: ::: '
I i
! I
: I
i

I
I . ' I1 : ,
' l
I I
I
'

. I ,. I
I' I I I I ' I
·.' '· , I ' ,.
I'.!I !i
' ., i 1, !, ! ' I: :i ' I '
! :;:
' I '
l• i · i !I :
I : '

1'

I 1
' '
l I i
I.
I I I
1,


1' ·'
! :.I I I ' I
I
; r :
I I I ·
' I
1 '
, I .

, • o
'
vnL tJ€
' '

~~
~(q)
'
' +6 n W-TO T PI c. coH P-3 ~EFtC.
, • o UJ- se UDLfl •
) o (1
p~ LU-C.L AS oc.e. VR$ 3'6 I H Il IEXEO p.
1 , •
~5 I.V-Cl.. ~S-c. oD p/C. qt/q.
1 • o ~5 W-CL AS-A ... - H Pie 99 KoHP . 3 .
, • o
'ls W-CL ~.s-.4 L-F P/C 'H COHP - 3.
I
l
.•
'
n

'•
• o o
- . - .
n
. ' ·o
. EJEc T ..
o' . o pR.ocEO uR, f. () I VI S I oH.
• • o ~1P3
".' srr p Jro .J •·
' " o .SK1f'1
. :- " ~L - ;1~ -~ OHfM •
' • o 5tof'3
• • o ADD w-c l..~.S- AL- ti ( P) w- c. Ll}S- RL- f ( P) 70 w- 7oT.
. .
' I O
..
' n o
.. lf p L E'SS _3?
' ' o ~cr p lJP 8'/ .J.
, • o
.. . '
{71() TU Ht. - ~>t; -soH ~ .A.
;",.ti

, • o
".. 1. ..-·'
...
.. .
...
. ' . . ...
·-- ·- .._ . • • _ .._i-....A.__._

24.20

La cultura è un bene dell'umanità (fantomasping@libero.it)


....ALSI EL
lGRUPPO I~
I FORMAZIONE
Strutture
IRI FINSI EL per l'evoluzione

18. Con la definizione del campo SCUOLA data nell'esempio


precedente, si trascrivano le istruzioni dell 'esempio 30
del capitolo 22 facendo uso del puntatore P.

t
810Uf:llCI

, _.... lltcHMAl
'I 4 a
.,.:

8"
1
4
I
.. ..
,, 10 14 H IJ H . .. u .. •• .. ..
I t i: 111
I
I!
;
I
I
!
I
I
I
!
I
I
1

j
I I I
: I j
i

I
: I
I
I
!
I

:
:+ I· i i i I
I
1; I . !
I
I I I
I ! 1
iI I I I
i, ;'
I I I
I i: : I i I I

. •1· ~ I : I I I

Ii :" . :'
I
: I
I
' Io
I'I
I
o
Ii !
I I
I '
I I ' ; ~ I
j
I I
~ I
I I I ;
I '
! i
!
I : t;':ft
, 1• •"
: I
I I
!
'
: ;
I I
II : '
I '
! '
!
I I : '

!
! I I I I I I

I I ' i I !
i I

i I I I i I ;

!I I : I
1
I1: I !
I

i '1 I ! : : ' I ' I:I


i I I j·
I : I
I
: I I

! I
1 I
: !
I, 11 i I ! . '. :
I I

II I j
II I : !

1 1 1 I
I I
i;l : '.
'
1
I i
1
I i
I

!
I I
I
I

! '
IiI
I
' I ' '
il ! i I I I I I
I I

I '
Il
I

' I !
i!i
I . : I ' :i
: 1 I1 1

! !

.i I I
: ; ; I·' ! I
I I
, II I I! I ,: : I
' I

' I 1 i ·(

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

. .u.' . .. .. ..
;;
.. ..
llOUINCI

l~AOU
1
'
llUUAl

o' ,
o I

" .. 20 ,. H
" H
•• u •• "
10
' ). . . ...
99 10
I
• • o
' KovE lV-C bDIC. rt.
o:• .o SET. p rfo L
o • o S/<.1 PH
' o o HL· -~3~-J EST.
' , o

' ..
..
51<1 p ?>
ADD U)-~ LAS- A_L:-H ( p) w-c LAS- AL- f ( p) G. I v IN6 l.U-R LL.
'
' .. 1·F W- RL l L iss w-c oti
,,
,
.
, o •

..
HOllt
KOVE
p
w- ~LAS -'"o e: {P)
w- ALL tro
3~ .
w-co H.
To r,.--
w- ~ODI ._t:.
If Ll{s.5 ,

, ..
, .• o ~CT p UP &'f ~
i.-o
D . tro Hl :...~ ~T tsr.
) o •
~- · -·- -· . ~- ·-

24.21
Proprieta ltals1el S p A Le copie originali sono contraddistinte dal retino stampato in rosso Ne e vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
19. Si trascriva l ' esempio 31 del capitolo 22, definendo e
usando i puntatori P-REG e P-PROV per gli elementi
W-REG e W-PROV, rispettivamente.

I I II
.i,.•
I
.. .. .. .. .. . .. .. . ..
I I I
M
I
IO
I
... .. ,.
I ! ! i: I
o • o
l i i i':
.' I . . . II !i
o • o I i I I
I
1 i I I•
~
I . , '. : I!

!I
I '
1
I I I
, ! I
I I
, ; I I I, ,
:l ~ :: i i I
' I .
I I I!I ';
l I :
I I
I
I I I

J ;: i
I
~ I
I
i'
I
I
II
•!
I
~ :!
I
i : : ;I: ' !
I :

! : : :1: 1 I I
I ,
I
I I ; 1,
I
: ; :

: I 'i-
I I : 1
'

I I • I !I I •
' •'
, ; I I ' I
'
'. ! :i:: I 1 ! i:
I I : i
1 i I
I .I ''
I :
I
'
I :

I
I I
! I

!' i !
'
:i! • I

iI :1
I

: : IlI j
~

I
' i
I
!
I

I .' II I
iI:
I

I:
I

I
I I '

I I :i:1: 1
I: I I I I I
~ I! I
I I

II 1I . I
I
I!
i I! I I : I
o
!~ :
• 1 I I
' I I

I ! ' • o
I I
'
! i I
I
I I
I I ' I '

iI ) 1• o I ., I I i
I I
I

'
I
I
.
I
:
,, 1 • o
• 0 0
!; 11 I j ::
I
I I I

II! I I I' ! i I
!I
I I I I ' .

i ,,! i!I 1 ! I 1
!i II I . ,
I i I I , I
I .
t I

!I I I ,

Il
1 :
1 I I
1 I
iI I I I • I

! 1·
I .
1 :
I I I I
I
I
I
I I : : I : I ' I i i
I I
. I
l I.
• ,. , o

i .i. . I: I I I . '
0 0
I I
! : ! ! 11 I i I ! ! I I ,! I II .11
i I. , I
I
I

? I J
' iI
!
,
I
t
1
'
I I
I : ' I .
I
; I
' : I I Il '. ; 1 I
I
I I
I
11
I'i i i I . iI I
I;
,

·, I I
: I
o 1.
I I
I
o i
I
I
I
II
I
!
! :i
I :
I I

!
!
I !
I
I
11
'
I
I
I
!
i
;
:i
I
I
I I
I '
:I
I
I
I I
! I
' 11
I
I
I
II I
! :

l 1
I
' I o oo

I
'
~ '
I
fl
..
I
I
' :' I'
, ' I . '.
I

I
'
!
I
I
'
! j
I i I1 I I
j : :
l I I! ; I
I
·'·I•
1
I I !I I I I ; I

I I I I I .
I I . '
1 I
I 1 ! I
:
I
I iI I I i ' ' !
I
I I' i I '
' I

II I .
.

I
I 1 I • !o
I
'
• I,o
I I : I ~
iI I i!: : ~
I •

'
I
' 1

':olo Ii ! ' I I : ,
I ~ I ! : I I '
l
I
I 1
I I '
I , '
:i ii I
I I j ! '
; I

I: +O I II ' : 11I I II ;
I
; I , !, 1
·' •
I I I
I I I I
I . j l ' ! : I : I : '

i :
1 ·
I
I
I •
I iI : ,,! i 1· I
I
; i

'1.: i I! !' I! I I ! I
I
i:I
I
I ' I
: I'I' ! 0
I I I f I I : I I :
I
i
II! !lI
o I j
I!
Ii I I ' !I
. , II ! '
1 :
I 1 1o lo
I I : : I ,
• I
I :
I
,;,I.
I
1 I I I

i!I I: I::
I I I
I , I .
,' I
I
I I I , I ; I I I iI i
I
! I I
.'
' : • 10
. iI,
.
' I ' ' I I '
' 1 I ' I I I I I I
' I
' I

•• o
! I
i ! .. I
I

I

I
I
!I ,
I

; I
'
j I i ! i
I
' . I
I I

.
Iii iI
!I . j I ;; I : i : ' I
I I 1'
III I

! i /1
I
I : I
I
i
I ;
' !I I l :
'
'
I
I ! '
I
I ' j I I
' ! 1

24.22

La cultura è un bene dell'umanità (fantomasping@libero.it)


"T"ALSI
lGRUPPO
I ""'
IAI FINSI EL
EL I
FORMAZIONE
Strutture
per l'evoluzoone

-
.. .. .. .. ..
HOUINCf ~
z :
t",t,Q(I ISUUAl 81 •A : I
, , .. • 12 11 20 Z4 21 J2 31 •
•• 12 •• 72

1 :1:1: ~i~ ~-H t ~tf6 1


1 1
: '
: I
f> I c. : ~·, v11k'._(/ { 19.
' +!· t~ ~ -:H~H. f.~,ov p I C. 3.
'

·'
I ! I
I I :
VII LVE
o' e o
!
'I o·o +:f. w-"c:b K '
I
I
i
Pll. ;gn~ CO HP-3 V/IL UE ~.
'" ·• ': ff •
W-P~kJVH~lX
• t • •
I I PIC xx.
' • o
.: •• ~· w-H°ll210HE. ,,
1 te o ! : ~3 W-R.E G ' Ok:c ·u~f.>· ' ~ ~ ' I HDn ED P- RE~.
1
I
o!o
'
' ' ~5 w-:PRIOV k?CCtJ ~5 B l rlD f/( E'n P- PR oV.
' ' o
1

: , 1 ' • • ~t. · ~-:r~bv-Cloo Pi c. xx.


' • o 1 , (jf t.µ-.P~blJ-.HVH f1c .9(-1) lOHP-3.
7 I6 ('I

. ' I : '
, i l!I 'o : ! I

,I.:.I
:I i' ' , I I o
:
' ' I
:
'
:
i
I
'
;
I
I I
3, , o i I .
i
I I

I
I i
: : I

>; • •o '
I I
I :
i

I I : :
I
I . i
I 1
' I I : I I

I '
i I'
I I ;
'
I
:
I
I i

o!' 1· I ! :E.j_E~ I . . . i .. :
'. I

I
o!•!o P:ROCE.OlJ ,RE DI y I~ I O:tt, •.
' o t 6 +o
6Kl 'P3
:
0 I I J0 j ' " '
' '
' o o
,o
SEI P-f.EG
.S K 1'p1
ro: {.
: '
' . o H.L-~~-T llltT- r?,EG-. -
•o 5K I(' .3
•o SET ·p- P R.ov fo ~•
•'o
',
' n HL-~~ -T R.fff- 1PR,o\J. :
' n•
,' o
...
5KI P3,
IF W-P~OV-NvH (P-REt; P-PR.Ov) (;R.EAtrfR. W-cbH
1-<0VE w-P~ov-coc ;l{P- RE6~ P-PRov) TO w-pty,ovHAtx
' o o t-{ovE w-PR.o-J-H"K (P-Rf6 P-fR.ov) To w-c.oH.
' ' o IF P-PRk>ll LESs tu-HVHfRo./
' o . t>ET P- P R.ov vr BY ~
Go ~o HL-p ~-T ~flT- PRov
.. ' n
J

o n lf f>-~f6 ILESS UJ-1-!Vt\~EG-


4to iSET P- ~ EG- uP BY 1
4-40
46 .0
c;.c rro HL-'- lD-T ~T- ,_EG.

24.23
Propneta ltals1el S p A Le copie originali sono contradd1st1nte dal retino stampato in rosso. Ne è vietata ,a np_roduz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
20. Si trascriva l'esempio della domanda 26 del capitolo 22,
definendo e usando il puntatore P per la gestione della
tabella.
NOU.#CI

,,...., MMM
' ••

!
• '1.
A
...;. .. - ... .. . .. . ... . .. ..
I: t t: I 1
1
1 iIi
I : !:i :1 !:
. 11 I I i i : : i ; ~ , : I II ' I I I
J
; I
l
l : : :I: ' :I1
I ,
I 1 I I I
I I I
I i
o
I I;
j

:
I
1,
,
·i·.
O e O
! i I
i I I i
!i I I.I I
I,, iI I I
I.I I
I !
I
I
i ! I
1'
I

I
I


I
! Il I : II !I
I I
II I i i :
j

i I : i I . ,. I'.I! I I I I :, ;: II I
! I I ' i I I .
I
; I .•o
! I .,• i ' I I :I I I i ,I I . I I I
I • 1'

!
I

:I i
I

I ' •• I I: I I i
III
I
i I I
I i I . I I
i I:
,i I
; I
• I

I
I 11 ! i i I I I ~ ' I I
I ;II
I

lI
i!
t 1. o
i I· l : 1
I :
: I !
I
I
I :
I I I I ! : I
I

: iiI I .: ; ~ ;
II I I II. :I l '. !: : I: >I :,
I a 0
I . 11 I : '
I
I
' o o I I I ' Il : I i i : II I I
I , , • ! I ' i I : I
I Ii ,! II'i ii' ! I .
I I i
III
I i :1 Ii ''. :I i II ' I ' : :
I
! :

I :I:,:
I

I I i !, I i : I

~ :I I
j I I
II ,, ,•• !•• .l ' :.
1
I i '.
I' . I ! ; ' I :
I
I
'
I
I• I :
I , , •
I , .• I
I '
I I I' I i I.
'1 1 : : ! :' I : I
: ; I
I,
! I.
!; I

I i ! II i I I I' iI .I I I
'
l!I
1' 1 ; : :

11 T· I I ! 11 I I I! I. ' '. 1 I : I 1

I 'I
I I

;i 'i' • I : I j I
I

I ' ·Io o ! I
i
I I ; . i I
' I
I
i
• '
I '
I
I

I
.:I ' .I ' I '

I I:
1
i 11
!I !
I
I :
I I I
!
' I' i i !I: I
I ! '
1 • Ì I ' I ' I 1 l I

: : I

!' II Ii ;i .I ! I !! 1
: Ii I , '
: !
j
I
I1 ;I I ,
, I :
I' I : ' i I I I
I ; 1 il, 'i ; I
I I I
I ,
I

I
: I i I I I I
I '
I ' I . I I
I
I:
I

I I
I
I : I
I
I I I
I :
;
! I
I

i
I I .
i;; I : ~ I : : ;
I : !I I ' .
i I
'
I I
I
' ~
I
I ; J ! ; I : I 1 I :
I
'
I
I
I
'
j I '

i ! I
I'
1
::: i iI I : i
'' ' ' I
I
.
I

I
'
' '
.

i I: Ii ! I :
!! ..I
' '.
'

iI II i ,: li 1' I
! I i Ii i i l : ' ' I
i '
I !
I I
l
!I I '
. I

I : 111 i !
1 ;
1
: j· I '
.
I
I
I
:
' ; I : l I .
I
I' II
I '
Ii I i I
I'
I I

il I !I I i
I ' · ; I
! ' I I
II I
I '• II '• '' ' I : I ' I

I
t !'!

I:
;Ii I'
I
I: iI ! ! I I
' .I
11
!
I '
I I

I : I I I
l;
I: I I :l
I I o •
' I I
I I '
I I
I ' I I
1 ' I I Il ; ·, I I I
lI
i I ! II 1 ! 111 I iI j 1 , I i ; i
;; I
i i !i'
1 : ; ! I I :i :. I ' I . I I I! ' '
1i I ' I o i I J ' I

' I I
; I I
I
I ' I
I '
l1
l: ' I ' I ! I I
I : I I ' '' .1 I o I

11 I I I i : : I ' I I i

24.24

La cultura è un bene dell'umanità (fantomasping@libero.it)


...ft.LSI EL
lGRGPPO
I~
I FORMAZIONE
Strutture
IRI FINSI EL per l'evoluzione

. .. ..
HOUINCI .,:
z
C"AOll l lUUAL8 A ; I
1 J 4 f 1 I • tJ M 20 U :Il 22 H t4 U 41
•• .. JJ

:'
I
I '
I
:
! I ! :
I I

I
i I I
I
I :
I II I
I
r· ~-
; I
I
I
I I

i I I ' • ' : I

'
I . . ...

Si è detto che l'uso dei puntatori non oreclude l ' uso


contemporaneo degli indici nella gestione della t abella.
L'esempio precedente ne costituisce un caso.

L'istruzione DISPLAY non gestisce i puntatori.


Pertanto , in fase di debugging, il loro contenu to non è di
facile accesso. In tal caso, il valore del puntatore s i può
prima trasferire con la SET in un campo di WORKING-STORAGE
SECTION, per poi accedere a tale valore (con l a DISPLAY ) .

I vantaggi dell'uso dei puntatori sono


· un migliore utilizzo dell'hardware
· la possibilità di usare una istruzione specif i ca ( SEARCH )
per le ricerche tabellari .

24.25

Propneta ltals1el S p.A Le copie ong1nali sono contradd1st1nte dal retino stampato in rosso . Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
SEARCH seguenziale
Il linguaggio mette a disposizione una istruzione specifica
per la ricerca tabellare mediante puntatori: l'istruzione
SEARCH. Essa possiede due formati: uno relativo alla ricerca
sequenziale, l'altro relativo alla ricerca binaria.

In questo paragrafo viene illustrato il formato sequenziale.

21. Si trascriva l'esempio della domanda 28 del . capitolo 22,


definendo e usando il puntatore P per la gestione della
tabella.

24.26

La cultura è un bene dell'umanità (fantomasping@libero.it)


....ALSI EL
lGRIJPPO I~
IRI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzione

l~ ' : :. l I '. . l I ' ~ ~ . : ~' -r--.~-~-·-


U»R.1<1 ;tfG·- STO RAGE' SE~:t I'( )/{·

rrl: ~-~iuH!;i l!Ì iii.I!: I

ti: i ·. UJ-co I);•LE 1 i


1
;:
'
'
I
I
t
Plt g~ ·co" P v A·L u E 3s6 .
• 1 , 1 , • I Pie. 9.(3) CDHf-3 V~LUC ~5{.
' ii 1- iI i ! t 1 I .-: I : I 1

~{ .W!-bc. Jo'c.'fl ,I : I r : ' : I I


I '

> I
1
' I•
i Io
•olo
;: ;, :. ; i i :'. ,5 ; '.
~:~ ~ ~<'-~~: o:~~ ~s'. ; ~
~-l.l A.s !-~ op , ,,
1Hl>EIXE b
, P1r.
B.'f
9~9.
p.

+!·
l 110
' i : : I : , ~ ?. ,
, 1 : : ,
~-e :1- AS:- .Pl L~ .H.
1 '1s. : IJ)-tL ~5.-flL :- : F :,
rie
PI C-
~9 e.o HP -·~ •
' 'H e.o HP -?; •
J '• •o
' ;! :;
' ,;.!· ' ) I

J • I •O
I
I ! ' ' '
' I O :o I I i

I
'I ! I
1
i i
i I
I
' ! ! I
' ! i I : i ;
I ; I !
'I

lfQUIHCl

1,.•au tHtUAl
l l ..

o!, Jo

z
8, •• ,,• .. ,. ,, . .. .. u
" •• . " "
o,·;· I,

o'• 1o
'
0 II ,0
I '
I :0 '0
I 1 0

I • 0
1.F Oc:i. ( P) VflL W DI €
' • o ~~- ~9- R,oVA:To TH IJ . 1·9 -T OVAI -EX.
I ' I 0

' oi o lf W· ll H
' ' o p UP BY -i
' . .. o : 6.0 HL· ~~-LOCER.CO.
:' • o
1 I O f> ERJ= o R-H TH v 8 - 99 - NO Ttt'J V- Ex •
, o o

' , o

, .. SET P

, •• .SEA

24.27
Proprietà ltals1el S p.A Le copie originai sono contradd1st1nte dal retino stampato 1n rosso Ne e vietata la r1p.roduz·one

La cultura è un bene dell'umanità (fantomasping@libero.it)


L'esempio precedente illustra le due fasi di un algoritmo di
ricerca sequenziale

- inizializzazione del puntatore (002080)

ciclo di ricerca, con un test di ricerca (002140),


incremento del puntatore (002220), test di sfondamento
(002200).

La SEARCH sequenziale si assume il carico di tutto il ciclo


dell'algoritmo di ricerca (test di ricerca, incremento del
puntatore, test di sfondamento), ed ha il seguente formato

SEARCH elemento [AT END proposizione imperatival]

condizionel proposizione imperativa2


NEXT SENTENCE

[WHEN condizione2 proposizione imperativa3


NEXT SENTENCE ... ]
dove

elemento è il nome, orivo di puntatori, del campo


ripetitivo descritto con la clausola OCCURS e l'opzione
INDEXED BY
· condizionel, condizione2, ••• , sono condizioni qualsiasi,
sia semplici che composte.

La SEARCH esegue uno scorrimento ascendente della tabella e

- se viene trovato un elemento che verifica una delle


condizioni

viene eseguita la corrispondente istruzione imperaliva


(o NEXT SENTENCE)
il puntatore fa riferimento all'elemento trovato
· il controllo passa all'istruzione successiva alla
SEARCH, a meno che la istruzione imperativa non contenga
una GO TO

- se non viene trovato alcun elemento che verltica una delle


condizioni:

viene eseguita la proposizione imperativa della clausola


AT END, se questa è specificata
il controllo passa all'istruzione successiva alla
SEARCH, a meno che la proposizione imperativa non
contenga una GO TO.

24.28

La cultura è un bene dell'umanità (fantomasping@libero.it)


...ALSI EL
lGROPPO
I~
IRI FINSIEL
I FORMAZIONE
Strutture
per l'evotuz1one

Il diagramma dell'istruzione è il seguente

no

si proposizione
imperativa2 1--~~_....

1 no

si proposizione
imperativa n+

L.------1
incremento con ro o a
puntatore istruzione
successiva

si
ontrollo a
ragre.fo GO T

24.29
Propr1eta 1tals1el S p.A Le copie originali sono contraddistinte dal retino stampato in rosso. Ne è vietata la riprnduz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
Si noti che
La SEARCH sequenziale non imposta il puntatore all'inizio
della ricerca; pertanto, se all'inizio il valore del
puntatore non è valido (fuori tab~lla), la ricerca non viene
effettuata ("si esce per non trovato''). Inoltre la manc~ta
inizializzazione del puntatore al 1° elemento può porldre
ad una ricerca incompleta se il valore del puntatore è
comunque all'interno della tabella.

Anche usando la SEARCH le due fasi della ricerca


sequenziale, inizializzazione e ciclo di ricerca, rimangono
distinte; la ricerca va realizzata conglup~am~ot~ dalle
istruzioni

SET (inizializzazione)
SEARCH (ciclo)

Con l'uso della SEARCH, le istruzioni relative all'esempio


precedente sono

.. zo
.. .. . . ..
HOUINC(

•• "'
tPAOU ISUlllAl
1 •
12 11 20 2• 21 >2 JI •o 52 IO ,,
•!,Io I E.j El. T ' . '
I
o; . o
I
r.Roc E.PUR r ,[)\ 1\11 SI OtL
;
o • •o

Q I.
:
0
~ET p tro 1.. . I

' • o

' ' o 5EAR i!.H W-C.L A5 AT (N.O


• • o
'
PER.F O~H ~- tJ1~- HOHl R.O V TH~ U Bl-99 ~-HO HTR.O V- EX
I 6 1o UJHEN w- ~LA~ -coc (P) E~L ftL IJJ-c.o Dlc..E
• • o Nt.XT f:.EM irnu -.
~

'

'
'
o o

..
' o a2-~1 .~- reovA TO

. - ' • o ~

' -- -

ovvero

- -~ - - - . - - -- . . ..

... ':'

. .
Il ,,

srr p tro J.
. ''
.SEA~ CH AT EHtl
. W-CL A5
• • o

' .' . PEeF ORJI ~2.- ,1r/- NONi ~V THilJ B~-99 '·NO 'HT~o V-E.X
J • " WHEN w- C.L AS -C.Ot:> ( P) ç~ tJ f}L. w-c.ODI c... ~
• o " PrR.F oR-H B2- "~~- rQov ~TO THRV 8 ~-qq i-TR O'({)T O- EX •
.. '

. . . .
'

24.30

La cultura è un bene dell'umanità (fantomasping@libero.it)


"'l""ALSI
lGRUPPO
I""""
IRI FINSIEL
EL I FORMAZIONE
Strutture
per l'evoluzione

Si noti che

la SEARCH permette la ricerca sequenziale sotto più


condizioni di ricerca: condizionel, condizione2, • • • I ecc.

Tali condizioni sono esattamente in successione, e, al


verificarsi della prima di esse, la ricerca termina e viene
eseguita la corrispondente istruzione imperativa.

22. Data la seguente definizione

,
llOUlNCI

IP'AOU llUIAl u •

i
l •

o1' ' lo
.. io
,
I
.,,• .. ?O ,.
:
21 l? li
•• .. . ., .. IO .. . "
'g(6 ) CO HP-3 VRL UE ~ ~f34 'ri ..
I I

'If ~
I
o f. o I
W-Hfl TR, '
PIL
o 1, •o
. UJ.-IW ME Pie f(-2 "') .
;
o • •

' .. 'Dd. w-·1:r ~LSI


i
{L.
p ok:c..ùR s
:
' , o : t']3. W-DI 15~~ IHC> EXEC B't P.
I
!0 ~6. W-DI P-HA Te. .. Ptc CJ{ b) Co HP-3.
.
I ' •

I' :
I
'
'
I
1
6 0
~5. UJ-.01 P'-NO ~r :
Pie.. x(l ~)
I I· o t
! :
> o 'j o I
I :i '
.

si trasferisca nel campo W-NOME il nome del dipendente la


cui matricola è contenuta in W-MATR. Se tale matricola non è
in tabella, si trasferisca HIGH-VALUE in W-NOME.

! 1·1.. . ; I
I I
I 1:: -: ,1·1 1 1 i
i
I I
I; I ' '
,I i '
I I
I i
l
I .
I
I
'1

I

' •i• ·lI 1i I! I· 1


I i iI I I : Ii
I I
i
I
I ·,
I
I
I
I
! '
: ' I:
i'
·1·;• I
I
! i
I 'I

:; :I:j: I. ' I
I ;!
I
! I

I
,

I .' I ' I i :

I il
I
;
I
I
;
I I ! ;! I t I ' I I
' i
I >I' o iI I, I iI : I I i I ;I i I,
! I J, e O
I ~ !
I 1 •
I
10 O
I
i '
1
I
t I
I
.I
I : I
I . I II : I :
: I
: I ..
1
I,,
Il
I I
I I I I I
: I o I
'
I : I !
I .
1' I i I : I I I
1 I I '
I 1 I :
: ' I ' ' ' ' ; i : I I

''
' .....
'. .
P~OcEDv.R ~

SET P To
C> Iv I 5 I Oli.

-i .
' ..
, ..
..
EHI> W-ClP AT
,.
.. 5EAR '11
HOVE TO w- tioHE Hl GH-V FtLVE
, ..
'

,...
WHEH w- D1P- HATf<. ( P) E'GV ~L W-Hlt Tft
HOVE w- DIP- (p) TO
..
. ..
'
. . . . NDHE LV-H Otff.

24.31
Propneta 1tats1el S p.A Le copie orig1nal1 sono contradd1st1nte dal retino stampato in rosso Ne é v•etata la r rroduz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
23. Si risolva il problema precedente supponendo che la
matricola W-MATR, se è contenuta in tabella, si trovi
nella seconda metà di essa.

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

.. .. .
HOU f ,..Cl ~
z
l'AGU ll UU4l
1 J 4 6
81 AI •
12 .. 10 11
•• •• •• •• "
, I .

:$EY I
p

Le istruzioni possono essere ancora quelle della domanda


precedente, ma la ricerca è più rapida se il puntatore si
imposta inizialmente a metà tabella.

Si noti che
la ricerca può limitarsi a volte solo a una porzione di
tabella. Secondo i casi, il controllo del ciclo di ricerca
si affiderà alla SEARCH con opportuna inizializzazione.

·- - -- ,-.. . -
n
•o
' 'o o SEI f rro UJ-H I ti.
o 5EA~ k:H
.'
. I
o

o
I
'

o alla IF, con metodi usuali


- .- -
, o •

' ' n SET. p lrP ui-H1 ti.


' • o HL.-p3~-~ ICLO

I
' • o
1 I C

i e e

1 ' e lf p LESS W-H Ax


> • e SET p lJP B'f 1
' • e ;o lf () H.L:-t> ?>~.-c. IC.1.Cl.
) I O

'
• e e

24.32

La cultura è un bene dell'umanità (fantomasping@libero.it)


l ""l""ALSI EL
I~
I FORMAZIONE
Strutture
GRUPPO IRI FINSIEL per !"evoluzione

24. Data la seguente definizione


-
.zo. . . .. .. . .. ..
llQUINCl

"AGII llUUAL
' J • 1 I
I
• .. •• ••
:o
•• H u .., •• •• "
0 I 1 10 . I · I I I
I :
' .1.;. t.1-: w-;c:o MO PO
I :
' I
'
PI e: X 'l/ALU € ilM.
0 i. i· ~. ~-R;E ...'
I•
~
I

' I
0 11
I ;
o
! ' 11?.3. ' W-D·I P. '. o ~.u~s
i
i
~ ~r/ I HPE tEb P.
I
' o o
I I '
I

I
~. UI- DI P.- ET~ PI C. 99.
' !
' I'~
I
i
I
I I .!__.:._l I jlj_2. FI LL ER> P1c x(J~) .

si scrivano le istruzioni che "accendono" (impostano al


valore 1) lo switch W-COMODO se esiste un dipendente con
età compresa tra 18 e 21 anni.

:~-
1 ' 4'0
I I
' 1' 10
:
1: 1
I I
o
iI !
SET r ,·o:: f.i:
i
"o lo

' I, o I'
;SE~ ' i.V- DI !p
1I . I0

' 6 !' o :
I w- Dr .P.- ·i,t:) ( p') H oT LéS 1 D
, ! W-1) IP J>'t. (f:) f/OT 6-R f'.)TE . ~~
';' e.o
I
' 't'1_' I : ;-ro w- oko 1>0.
: :I ' ' '
l o'o

Quando l'elaborazione di una tabella non è una ricerca


sequenziale, l'uso della SEARCH è sconsigliato perchè può
creare blocchi di programma non immediatamente
comprensibili. In tali casi, .QY! mant~n~ng9, se si vuole,
l'uso dei puntatori, si consiglia il ricorso ai metodi del
capitolo 22.

24.33
Proprietà ltals1el S p A .. Le copie or1ginal1 sono contradd1st1nte dal retino stampato 1n rosso Ne e vietata la rip:oduz1one

La cultura è un bene dell'umanità (fantomasping@libero.it)


25. Date le seguenti definizioni

.. .. .. .. ..
llQUINCl ~
z
o
IPAOU llUUAL u •
'
• ,. u •• •• 12
' oi, io
I
"
o. I I
o i
!
pI r.. . 3) coH P-3' Vfl U[ .
'
o I • Io
I
I' I Pie (3) c. oH
?> r- VAL UE ~
o I o ' ' I
PIC 9(3) COH P-3 VAL lJE -1
~'-·
I ''o o I Pie:: g3 V~LU E ~p
,o Pie .9 l/ltLV [ 516.
..
'
o
I
!
I
' •: o i W-R. Rl2
•I• o ~3 -o I f> c. R-5 llSfd P.
,oo I 5 - !) I P. -.E.T ~
; I -DI P.- .NO Hf.
.
1J1I0

, o
.. ' i I
I
' I I
''. o I I

qual'è la funzione delle seguenti istruzioni?

, I o St'T
I
> o •o
1,-~l~:-'. '
! : : ... i ' '

I
> "o
>
I
. o 'I
I
I

I
I
:-Strt
'
'
'
.'
> ":o I
W-1 .H,F
i
j
I I ;
o
.
>' I I
: I : I
o o

lf

Calcolare, e trasferire in W-NUM24> e W-NUM54>, il numero di


dipendenti con meno di 20 e con più di 50 anni.

L'esempio precedente illustra l'applicazione della


istruzione SEARCB ad un problema che non è di ricerca
sequenziale. Esso è piuttosto un problema di scorrimento
tabellare, con esecuzioni di alcune azioni (incremento
contatori) al verificarsi di alcune condizioni (età
inferiore a 20 o superiore a 50 anni).
La soluzione proposta è formata da un ciclo di ricerche
sequenziali che distorce il problema. Una soluzione piu
adeguata fa uso dei metodi del capitolo 22 (vedi l'analogo
esempio 24), ed è la seguente

24.34

La cultura è un bene dell'umanità (fantomasping@libero.it)


...."'LSI EL I
& lGRUPPO
I """'
IAI FINSI EL
FORMAZIONE
Strutture
per l'evoluzione

'"•ou
, J
11ou1•cr
IHIUAL
' •
~
2
8 ...
1 •
.•
12 " 20 24 .. .. .. •• 12 .. IO

, I ,
. ..

' I ' ~0I0


. i
, I , 1I0
'. I I '
, I • 10
I I • r •
1[ i ! ' !o
'i.!.
1 I oi o
. . , ~ ' io
'l' 1·
, I' o

Come si è visto, la SEARCH · ges·~fs.ce una tabella ad una


dimensione: quella formata dal cainp.o ripetit ivo descritto
dalla clausola OCCURS e l'opzione · INDEXED BY.
Se tale campo è un elemento di tabella a più dimensioni, la
ricerca sequenzial.e (vedi esempio 34 del capitolo 22) va
effettuata · ~on più · ciqli (pari al numero di dimensioni della
tabella)', scorrendo gli elementi prima lungo la dimensione
inferi6r~ (ciel~ ·interno), poi lungo le dimensioni superiori
(cicli esterni:}°.
Alla SEARCB si può demandare solo la gestione del ciclo
interno.

24.35
Propneta 11als1el S p.A Le copie ong1nal1 sono contraddistinte dal retino stampato in rosso Ne è vietata la npr.oduz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
Per una tabella a due dimensioni, lo schema di ricerca è
allora il seguente
SET puntatore superiore TO valore
CICLO.
SET puntatore inferiore TO valore
SEARCH elemento
WHEN condizione
GO TO TROVATO.
I-F puntatore superiore LESS dimensione superiore
SET puntatore superiore UP BY l
GO TO CICLO.
NON TROVATO.
TROVATO.
Si ricorda che la gestione di una tabella mediante puntatori
(ad esempio mediante SEARCH) impone la definizione di essi
per ogni dimensione della tabella.

26. Si risolva il problema 33 del capitolo 22 facendo uso


della istruzione SEARCH.

I '
I •

t ..
.
I O l I 10
- .. .__,. -···
I

- .
~

.
.!
' I

I O O I I I
: '
.. - I ' I
i·.
·;i
I 1 0 I
j..
I .I
' • o '
l
- ..
I • I jO ' I I
I
·-I
t • :1 I

J • O 10

1 1 '0

' • o
J I •I

I • O

J 1 o
.. - CO ~-,3:_.
I I
J • o ! 1. .. . ·.:....___.;,-+
J • o _... , .' ,!....
I
. i-i,_
I
I :
L ~°""' · -
> • •

• , •I

24.36

La cultura è un bene dell'umanità (fantomasping@libero.it)


"'l'"ALSI EL I
& lGRUPPO
I "'""
IRI FINSIEL
FORMAZIONE
Strunure
per l'evoluzione

..
1
HOUlfllCl

l'AOU ISUU.t.l
J• Ili
~

8 A ' I
' 12 11 20 ,.
" J2 . •• .. •• " .. IO . .. "
ol' Io I I . :fl . .
!l
I '

o' .'
;
O I. fO I' :SET :P:-; '
~
: I ·!·I o
l .. · I : I : ! I
:
i
! I
I n ,
i ,
0
A.~:_ :~itA-'.
I 0 ,0
. i .
I
. 7 lo o
' • o
:

' . .
o'V .
I I 6 0 ;
I
I
I , : ! I j
~-~~OV-~V .(P-fEG) r-P o~) -1-HJ 1 H/J
I'
' t' o
I
PRoy- _
. W- N.VH .{ P-R.EG-; P-P ROV) w- ffl.))I
, 0 I0
8~- .1.'1.- Rov fJTo TH u 8 -9q
' ' Io ... f-R LES~ W-H~H
:XT P- t"G- vi . 6't
;
I
' • o ! i . ' .. :
. I
' •'o
. I
ero n A--t -~~ -.R.1C. eRe
' • o
j j . , . I
' oo

Esempio di gestione di tabella a tre dimensioni con


l'ausilio dei puntatori:

.
.. .. .. ..
ltOUUICI ~

IPAOll IHfUAL u A

' J • I 1 I
o
:o ,, .. 20 24
" J2 •• " IO •• •• "
~~~ i i ~! I
1
0 7 I0 '
·i.:i
o: . o
o
I .i SfT
'
l

r- ~ é6- : rfo
I
I
~· .
:
.. '
. .
:

I
:l · 1• .° ' i .
I):~~~~:-! iR.AT- OR.OV
•.
• n o '
I
• ' o
s:rr 11> L .
' '
' : • io ,. . P-P R.ov
' • o
•• o ri~ ·- -?3.~ -~ 1cft e~.
' o o

' ' o 'SET P-c. o)f 'fo 1..


'I . 0
, • o SElt/~. r.J.i tV-co ~
1 I ,O llJHEN w-ICOH- NIJH (P-R -6/ P-P~ k> V P-CO ~) /.. OT L ESS UJ-tf V H.l
THR V~ .. q9; -TR-c vrnc - EX.
:
' o • ftR .FoRJ{ .A-2- f)11- TR.OV i.'tTO
P-PR O'/ w- Ni,ll{F
.. lf l-ESS
• , o

' lSET P-P ~V UP BY 1


l • o GO 'fO FM ~3t ·~I e ERCfi •
' • o lf r- R.l ~ L i[SS W-N LIH~
• o o !srr P- ~ EG UP e,'Ì fl
Go To IH -t>i9 -T~ T-f' R I/. o
... 4lO
440
~60

24.37
Propneta ltalsiel s p.A Le copie ong1nal1 sono contraddistinte dal retino stampato in rosso Ne e vietata la f'produz1one

La cultura è un bene dell'umanità (fantomasping@libero.it)


SEARCH binaria
La SEARCH binaria si assume il carico della ricerca
tabellare secondo l'algoritmo binario.
Come si è detto nel capitolo 22, tale algoritmo richiede che
la tabella sia ordinata.
Per poter fare uso della SEARCH binaria, tale ordinamento va
descritto nella clausola OCCURS con la opzione seguente
ASCENDING
KEY IS nome di campol (nome di campo2 ••• ]
DESCENDING
dove
· campol è il campo ripetitivo o un suo sottocampo non
ripetitivo, descritto dalla OCCURS
· campo2, ..!....!....!.. sono sottocampi non ripetitivi di campol
L'opzione specifica che i campi ripetitivi sono ordinati per
valori crescenti o uguali (ASCENDING) oppure g~çr~§centi o
uguali (DESCENDING) di campol e, all'interno di questo, di
campo2, ecc.
Si possono specificare al massimo 12 chiavi.
La somma delle lunghezze delle chiavi non può superare 256
bytes.
Ad esempio, con la definizione seguente

.. .. .. . .. .. ..
ll OUl MCl -.

fPAG () I SUUAt.
1 , 4 '
z
8A
1 •

" .. •• .
,
"
,, ., •• "
n ' o
., . o
~ W- MA li OH E.
n
•o 9H -N l-C.A P PIC
n
•o {b3 -Hfl - NIJ H~EG pie
n
' ~3 -R o 19 E'HC ING
,' EH D1N
...
'
o. l>E'X D
o f IC
f

' ', e - HO HE
' t
, • f

.. '
1HG W- OH- COD
p-co •
' ,' x.
' • o (-1
' • o
) • <

• o o

24.38

La cultura è un bene dell'umanità (fantomasping@libero.it)


l"'P'ALSI
I""" EL
GRUPPO IRI FINSIEL
I FORMAZIONE
Strutture
per 1·evoluz1one

la SEARCH binaria può essere eseguita:

· sugli elementi W-REG, ordinati per chiave ascendente w-


REG-CAP e per chiave discendente W-REG-NUMPROV
sugli elementi W-PROV, ordinati per chiave discendente
W-PROV-NOME

sugli elementi W-COM, ordinati per valori ascendenti.

Il formato della SEARCH BINARIA è il seguente:

SEARCH ALL elemento (AT END proposizione imperativa!)

EQUAL costante!
campol IS = TO campo3
espressione aritmetical
nome di condizionel

EQUAL costante2
campo2 IS = TO. Camp94
espressione aritmetica2
nome di condizione2

proposizione imperativa2

NEXT SENTENCE

dove

· elemento è il nome, orivo di puntatori, del campo


ripetitivo descritto con la clausola OCCURS e le opzioni
INDEXED BY, ASCENDING/DESCENDING KEY

i campi campol, campo2, devono essere chiavi


specificate nella opzione ASCENDING/DESCENDING KEY:
inoltre, se nelle condizioni della WHEN viene fatto
riferimento ad una delle chiavi, bisogna far riferimento a
tutte le chiavi precedenti della opzione, quindi se ci si
riferisce a campo2 bisogna specificare anche campol

· nome di condizione!, nome di condizione2, devono


essere a un sol valore, e associate a chiavi della opzione
ASCENDING/DESCENDING KEY.

24.39
Propr,eta ltals1el S p.A Le copie orig1nail sono contraddistinte dal retino stampato 1n rosso Ne è vietata la r·r~oduz1one

La cultura è un bene dell'umanità (fantomasping@libero.it)


La SEARCH ALL esegue una ricerca binaria sulla tabella e
- se viene trovato un elemento che verifica tutte le
condizioni della WHEN

· viene eseguita la proposizione imperativa2 (o NEXT


SENTENCE)

il puntatore fa riferimento all'elemento trovato

il controllo passa alla istruzione successiva alla


SEARCH ALL, a meno che la proposizione imperativa2 non
contenga una GO TO

- se non viene trovato alcun elemento che verifica tutte le


condizioni della WHEN

viene eseguita la proposizione imperativa! della


clausola AT END, se questa è specificata

il controllo passa all'istruzione successiva alla SEARCH


ALL, a meno che la proposizione imperativa! non contenga
una GO TO.

L'impostazione dei valori del puntatore, sia all'inizio che


durante la ricerca nella tabella, è controllato dalla
istruzione; pertanto la SEARCH ALL non richiede (al
contrario della SEARCH sequenziale) alcuna inizializzazione
del puntatore.

Si noti che
la condizione di ricerca della SEARCH ALL può essere solo
una uguaglianza, o una congiunzione di uguaglianze

· se gli elementi non possiedono l'ordinamento specificato


con la opzione ASCENDING/DESCENDING KEY, i risultati della
SEARCH ALL sono imprevedibili.

Il vantaggio dell'uso della S~CH ALL è di evitare la


codifica dell'algoritmo binario. Il problema di ricerca
binaria del capitolo 22 si risolve infatti in maniera
immediata

24.40

La cultura è un bene dell'umanità (fantomasping@libero.it)


"T"'ftLSI EL
lGRUPPOI~
IRI FINSIEL
I FORMAZIONE
Strutture
per l 'ev oluzione

.... .. •• •• •• ., . .. .. "

I o ' '
'I

,;•I..
' !
I I
' ' ~ !"
' I
I
I ' ,
J • T Il

1 H.dv
I
Ii '
'
' '

27. Data la seguente definizione

.• .. .. •• . •• . .
-. ~i. ·""- -·--+

...
•••
-;
. -. .
,-, .
---
.

.- ---; ~..,....
-i~ ..-.: ~ . .: .
:-,-~
;____: . .'. . .
- +-i
---~.J
H··r·
!......J '
: : : I ~ Ì I' ' ''

si vuole trasferire in W-REGl la regione con codice W-REG-


COD uguale al contenuto di W-CODREG.
. T · -- ·1
'
i I ! : '
' : I
I
!
' i I '
: ' i I :
''
I
I
'
I I
i I
I ! I I
I

I I 1 II I I I I ~ I
I
I
I
: Ii
!
I : I' ' i I '
I'
I I iI I
i i' : I
' I ! I I
I

' ;' '


I

II '
i I
I i
II i
I
I
i
I I I I 1. i ! II I
I
I ! I
i I !i i I
I I
I I
I
!
I
' 'i : I
' f.
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

24.41

Proprieta Jtalsiel s p .A Le copie originali sono contradd1st1nte dal reti no stampato 1n rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


28. Con riferimento all'esempio precedente, si vuole
trasferire in W-REGl una Regione che possieda meno di 3
milioni di abitanti (valore di W-REG-NUM).

Una soluz i one è la seguente

&ICWl•Ct

• ACll I llU NAl


J 4 I
.e ..
~

1 I
A
tJ Il 2G .I• 2• •I IU

I • ,.
" .e; I!
!! I!
I I :
1 ,11,1
I
!'
! I

, i"I I
. ! I
l 1 iI I' :
I1
I .
I I~
I :
!

Si noti che la condizione di ricerca D.Q!l è una uguaglianza,


pertanto l 'uso della SEARCH ALL non è ammesso.

Si noti che
- la presenza della opzione ASCENDING/DESCENDING KEY D2n
preclude l'uso della SEARCB sequenziale
Come la SEARCB sequenziale anche la SEARCB ALL gestisce solo
una dimensione di tabella. La ricerca binaria su una tabella
a ~iù dimensioni va effettuata, come quella sequenziale, con
piu cicli, demandando alla SEARCB ALL quello sulla
dimensione inferiore.

29. Con r i ferimento all'esempio precedente, si richiedono in


output, mediante l'istruzione DISPLAY, i codici
W-PROV-NOME delle Provincie che contengono il valore
zero nel campo W-PROV-NUM.

24.42

La cultura è un bene dell'umanità (fantomasping@libero.it)


'T'ALSI EL
lGRUPPO I~
IRI FINSI EL
I FORMAZIONE
Strutture
per 1·evolullone

, ! o.o I
I

K.:
I
' '
1 !, :o ' ' SET .P:-~ ~ I lr:o :
'I
11 • I 0 I
' : ' .
! . ".i
' 1.
I
o
o
~~()~~- :~ l~·Ef !CA:•.
:
'
!
I
I
I
i
'
I

I
I
I
I

J o 1
0 5é~~ ~H ~LL 1»-f> ~·v·
l
I

.' 1•
I
;
;
~EH w- Priov ... 1--1·vH '(?- R.EG P-P ~ov) E.Q tJAL ~E~ o
i l .'io
I
I
. I . '
.~ISP L~)' I :..:'f( Ppj,\1
' ·~·'
lt ' .: .•
'j
I W- PR.O"- (P- R.E6-,, P-P RoV) .
' 1,f, P-flf. ~ I L ES~. .-19
I
I 3. 61 o I
I

! J '1 lo
I

Ii
'
:
!i SET P-fè EG- . kiP ~ &'/ . {
I
' :o o 6-0 Te : A~ -IVI. -~IC :R.c' .
. Ij
I
I . I I

.I
I
' I I
I : ~
'
I

I
I
; '
: !
:
i' !
I I
' ;

Concludendo, la gestione di una tabella può essere


effettuata, coi metodi descritti nel capitolo 22, mediante

· indici
puntatori (usando la SET)
Se la gestione della tabella è affidata ai puntatori, e se
l'elaborazione consiste in una ricerca, oltre ai metodi
descritti nel capitolo 22, si può usare l'istruzione

· SEARCH, se la tabella non è ordinata


· SEARCH ALL se la tabella è ordinata e la condizione di
ricerca è una uguaglianza (o congiunzione di uguaglianze).

24.43

Propneta ltals1el S p A Le copie ong1nal1 sono contraddistinte dal retino stampato in rosso. Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


La cultura è un bene dell'umanità (fantomasping@libero.it)
l"T"ALSI EL
I~
I FORMAZIONE
Strutture
GRUPPO •Al ANSIEL per !"evoluzione

Capitolo 25

25.0

Propneta ltals1el S p.A Le copie ong1nah sono contradd1st1nte dal retino stampato in rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
La cultura è un bene dell'umanità (fantomasping@libero.it)
.....ALSIEL I
& lGRUPPO
I~
IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

L'ISTRUZIONE CALL
INTRODUZIONE
Problemi di una certa complessità possono essere risolti
ricorrendo a programmi separati, ma logicamente lnterdi-
pendenti.
Si può così realizzare un programma che segue una MAIN LINE
sintetica, affidando l'esecuzione di determinate funzioni a
programmi da esso richiamati, generalmente detti ROUTINE.

RICHIAMO TRA PROGRAMMI

Prog
1

rog
.I·:•1•' -------------------
::

- -- ~- ------ ----------
--- ------ ----------
------ -------------
•1•1 ---------------
----------·-·-----·
----
•1 -------------------
.1 ------------------- •• II..
.1 -------------------
• 1 -------------------

·:•' .:::::::::::::::::::
------------------. '• I. :-Prog
- 2
- - - - -- - - - - -
:: .•
..•.•.------------------- 1 •• I
-- -- -- -- -- -- _1.
------------------ - 1
1 • - - - - - - - - - - - - - 1•
•1•1 ----------··-·--·--
········---···--·-·
•• -------··-----··--· ••
••
I.
.1·~ ----.. --.. ----.. -.. . . -. ;:~
•' ~. f t f f f f f I I I I f I I f I I I I: •

•' ::::::::::::::::::: '• 1,.


I I I I I I f I I I I f I t I I I I 1

·I·
1

·~
••• ' •• ' • •• • •• I I. I.

25.1
Propneta lta1s1el S p A .. Le copie originali sono contradd1st1nte dal retino stampato in rosso. Ne e vietata 1a riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Il passaggio da un programma CHIAMANTE a una routine è
ottenuto con una CALL, istruzione di richiamo, codificata
nel primo.
A seguito di una istruzione di richiamo, al interrompe
l'esecuzione del programma chiamante e il controllo passa
alla subroutine.

La prima istruzione eseguita nella subroutine è subito dopo


il punto d'ingresso, l'ENTRY POINT.

PROGRAMMA CHIAMANTE PROGRAMMA CHIAMATO


Cessione del <ROUTINE>
•• ..
••
I

•:--------------------- .
I I Controllo 1.

...
··---------------------
•t:::::::::::::::::::: • 1.
.1:::: :::::::::::::::::_
,1 ____________________ I•

..
•::::::::::::::::::::::
------ ----- ----------
.::::::::::::::::::::::
ti:::::::::::::::::::::
ei:::::::::::::::::::::
1•
1•

.
1•
.:::::::::::::::::::::: •I::::::::::::::::::::: 1•
·----- ------ ---------- •1::::::::::::::::::::: 1•
.··----- ---- -----------·
:::::::::::::::::::::: .1::::::::::::::::::::: 1•
·--------------------· . 1::::::::::::::::::::: •
Entry
Point

25.2

La cultura è un bene dell'umanità (fantomasping@libero.it)


l ""l"'ALSIEL I
& I~
GRUPPO IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

Il passaggio inverso è ottenuto con una istruzione di uscita


GOBACK o EXIT PROGRAM, codificata nella routine.

Per effetto dell'istruzione di uscita il controllo viene


ripreso dal chiamante a partire dall'istruzione seguente
quella di richiamo.

PROGRAMMA CHIAMANTE PROGRAMMA CHIAMATO


Cenione del <ROUTINE>

... ..•
Controllo

...
----------------------·
·---·------·······-----·. •
·:::::::::::::::::::::::: •
·- --- -- ---. -·-- -·- ---. - ........•...•. • ••..•... . •

. -----------------------·
....
············-· ·---····· ·.
---·--·····--· -·-·-···- ........................•
·---- ------ ------------
·--· -·-·- · ··········-·---··-··----·
·······--·-··· -----. ---------------- -
-------------······-·-- .
...
--
. --. ---------- -------.
-----------------------. .:::::::::::::::::::::::: .
······· ······---------·.
·········-·············.
·······················
············- ·· -·······
········-··-··········· ..
:::::::::::::::::::::::.
..
. . -.. -----------. ----. - -~-------J.L·: :::::::::::::::::::::: •
-------···-------------
----------·······--·--· Recupero del
·········-·--·----- ----

----------------------
·····----------·--··-----
----------------------
----------------- ------ . Controllo

Estendendo il discorso sul richiamo tra programmi, possiamo


dire che ••••

25.3
Proprieta ltals1el S p A Le copie originali sono contradd1st1nte dal retino stampato in rosso Ne é vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Un programma può richiamare più volte la medesima routine, o
anche più routine distinte.

PROGRAMMA CHIAMANTE
.•',
-------------------
, . outine
-------------------
•'.,•'•'
------------------- '•'•'•
1•.
..
··----------------·
----- -- -- ---- --- --- :·
.'•
I

, -------------------
------------------- ,
••, -------------------
------------------- ,,••
•• ·------------------
•'•' ------------------- '•
•' ------------------·
•' I
----------- -------·
------------------·
·------------------·
•• ----------- --------
••
•••• --------------------
------------------
,••
••
.
:·'•
••••
•••• -------------------
------------------- Routine B
---- -- ----·--------
•'• '. -------------------
------------------- '•'•
I•
•' --------- -------- -·
•'• '. ---·--------------- '•'•
----------·-------- I

25.4

La cultura è un bene dell'umanità (fantomasping@libero.it)


'..J..I 1TALs1eL I~e~1~.;;~
....Ll 10
NE
i3AUPPO IRI FINSIEL per l'evolu21one

Una routine può essere richiamata da più progranuni.


In tal caso si dice che la routine svolge una "funzione
generalizzata".

PROGRAMMI
CHIAMANTI --------::
--------,.
--------1:
·------··
---------::
1
----------...!•
.----------
I

----------..,:
1-----------,,
__________
,1 ----------~·
..
Il

...,.
l - - - - - - - - 1•

·---------.:
I 1'

I -
I
-- - -
- - - - - - - tt
1'

'•
,." '•
I •••••• ' .
lt I I I I I I I I
I

I
•••

t I I
·.:1--------·
-, ,
I ••• ..... ••••••••·••••••••••••••••• I I
I ·••••••••••••••••••••••••••• • •• t I

I ································I:
I••··········••••••••••··········I t
I .••••••••••••.•••••.••••••••••. 11
'······························· ,.

25.5
Proprieta ltals1el S p.A Le copie originali sono contraddistinte dal retino stampato in rosso Ne è vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
Una routine può a sua volta richiamare altri programmi,
diventando così un programma chiamante.
In effetti qualsiasi programma può essere un chiamante o un
chiamato.
In questo modo si riescono a realizzare strutture
ramificate, anche molto complesse.

ROUTINE A
PROGRAMMA CHIAMANTE
•. :• ,,..
-- - - - -- -
-------- I
I

• '' · · • • • • • • • • • • • • • • • • • • • • • Iie '--~ --------I


•!::::::::::::::::::::::: ~ ••
:1:::::::::::::::::::::::; --------I
,
••.
I

·:: : : :: : : :: : :: : ::: : ::: : :: :- •


•I : : : : : : : : : : : : : : :: : : : : : : : :-
•I: :::::::::::::::::::::::-
· : ~~~~~~~~~~~~~~~~~~~~~~~: __R_o_u_T_l_N_E_B_......
I
I
I
• ROUTINE C
I •
• :e
I
I
: MOVE 12 TO PIPPO
I
I
I
• • COMPUTE PLUTO • 10 i ' e

I•
'•
: PIPPO
I OISPLAV PLUTO
l
:

,.
••
I

: '
'
'
'
,•.
'
I

25.6

La cultura è un bene dell'umanità (fantomasping@libero.it)


.....ALSIEL I
& lGRUPPO
I~
IAI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

Abbiamo suddiviso il "richiamo tra programmi" in due


argomenti che riguardano la sintassi e la logica del
richiamo tra programmi:
FORMATO DELLE ISTRUZIONI

CALL STATICA E CALL DINAMICA

··.

25.7

Propneta 1tals1el S p .A Le copie ong1nal1 sono contraddistinte dal retino stampato in rosso Ne è vietata la roproduz1one

La cultura è un bene dell'umanità (fantomasping@libero.it)


ISTRUZIONE PER IL RICHIAMO
Iniziamo con l'istruzione per il richiamo, analizzando il
seguente esempio:

CALL ~
' PROG2' USING ,ALFA Bj;IA GAMMA,

ENTRY POINT PARAMETRI DI


DELLA SUBROUTINE PASSAGGIO

'PROG2' è un nome che indica il punto di ingresso alla


routine, ovvero l'ENTRY POINT.
ALFA BETA e GAMMA sono tre campi che il chiamante mette a
disposizione della routine.
L'ENTRY POINT può avere il nome della routine, ossia quello
codificato nel paragrafo PROGRAM-ID di quest'ultima.
In questo caso, dopo la CALL alla routine vJeue eseguita la
prima istruzione della PROCEDURE DIVISION di quest'ultima.

...
PROGRAMMA CHIAMANTE

...
•': ---- ------ -- - - - -::•
ROUTINE

.,.
• I - - - - - - - - - -: •
Entry I PROGRAM-10.
I Point PROG 2.

.. ... . ...... ,
ALL ' PROG2'
••'C USING ....... .,
.• ---------I._,..
I

:.••
I ALFA
• • 8 ETA
'
• 1

: :
·- ------ - --'
GAMMA .

MOVE O • , • ,
,.
,.
··- ------
I o

I
f

I
f

I
I

I
I


I

I
I

f
I

I
I
I

I
I
I

I
I
I

I
I
f

I
I
f

I
f
f

1•

25.8

La cultura è un bene dell'umanità (fantomasping@libero.it)


l'T"ALSIEL
I ""'°'
GRUPPO IAI FINSI EL
I FORMAZIONE
Strutture
per l'evoluzione

L'ENTRY POINT può corrispondere ad un qualsiasi punto entro


la PROCEDURE DIVISION della routine, individuato tramite la
clausola ENTRY.
Osservate che il nome dell'ENTRY POINT, in questa ipotesi,
deve essere diverso da quello della routine.
L'istruzione eseguita dopo la CALL è quella successiva alla
ENTRY.
Più avanti torneremo sulla ENTRY.

PROGRAMMA CHIAMANTE

..,•'
•:-- -- -- ---- ---- -- -- ~· .. ROUTINE

:-

..,
- -
e•I CALL
----
'SU801' ---..,...,---.,
• : US ING ALFA

,
BETA
:.
I
-:
..
I

el
I

•1 ·
PROGRAM- 10.

I f
PROG2 .
• . ..... . .. ... ,
'

. .. . . ....... .,.e
. 1

elI
I

PROCEDURE
I I I I

, , , , ,
.
••
I
GAMMA. . , •• , .• , . • • • I
:.
-'...
I '

....----- -- -- ---- - - .
I
, _________ _, •1
i..------+....,..e
ENTRV ·sueo1·
MO VE 1 T O .... ,
1•
e
- 1
I '
. .... .. .... .. .... .. ... 1•

Entry
Point

25.9
Proprietà 11als1el spA Le copie originali sono contradd1st1nte dal retino stampato 1n rosso. Ne e vietata la r1produnone

La cultura è un bene dell'umanità (fantomasping@libero.it)


I PARAMETRI DI PASSAGGIO sono campi che il programma "mette
a disposizione" della routine tramite l'opzione USlNG
dell'istruzione CALL.

Il programmatore li definisce nella WORKING - STORAG~ del


chiamante.

Non sempre è necessario che vi sia un passaggto di parametri


fra programmi.

PROGRAMMA CHIAMANTE
0
DATÀ 'Div'ISibN . . . . . • .
0

PARAMETRI ~ WORKING STORAGE SECTION


DI 01 ALFA PIC XUO> .
PASSAGGIO 01 BETA PIC 99.
01 GAMMA PIC XCS> .
• • • • t ••
I I I t I I I I I I I I t I t t o I t I I I

PROCEDURE DIVISION .
ISTRUZIO~
.............
DI ________.,.. CALL 'PROG2' USING ALFA
RICHIAMO BETA
GAMMA

25.10

La cultura è un bene dell'umanità (fantomasping@libero.it)


....ALSIEL l
& lGRUPPO
I~
IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

Osservate questa figura.

L'ordine di definizione dei campi nella DATA DIVISION non


deve necessariamente coincidere con l'ordine adottato nella
lista della USING •

. o· AT À . D VI SI b N . . . . . . . '
~

WORKING STORAGE SECTION


01 GAMMA PIC XC10).
01 BETA PIC 99.
01 ALFA PIC XC5>.
....
t t I I

PROCEDURE DIVISION.

CALL 'PROG2' USING ALFA


BETA
GAMMA

Tra il chiamante e la routine non avviene un pasua9gio


fisico di parametri.
Tramite un registro di indirizzamento, il regJstro 1, la
routine accede alle aree di memoria del chiamante occu pate
dai campi da passare.

25.11
Proprieta ltals1el S p.A Le copie originali sono contradd1s11nte dal retino stampato 1n rosso. Ne e vietata a nprodu11one
La cultura è un bene dell'umanità (fantomasping@libero.it)
Grazie a questo esempio vediamo che non vi è passaggio
fisico di parametri fra programmi.

CALL 1 PROG2 1 USING ALFA BETA GAMMA

COSA RICEVE IL CHIAMATO?

""'7
.-----1 IND. LISTA I
Reg. 1

j 1ND. ALFA IND. BETA IND. GAMMA I


Lista

Con l'istruz i one CALL viene richiamato il programma PROG2.


PROG2 "vede" i tre parametri ALFA BETA e GAMMA tramite il
registro 1, i l quale punta alla lista dei loro indirizzi.

25.12

La cultura è un bene dell'umanità (fantomasping@libero.it)


..."'LSIEL I
& lGRUPPO
I~
RI FINSIEL
FORMAZIONE
Strutture
per l'evoluZlone

Non vengono passate notizie circa nomi, lunghezza e formato


dei parametri.
Il programmatore deve ridefinire i parametri nella routine.
Per ridefinire i parametri si deve inserire nella DATA
DIVISION della routine la LINKJ\GE SECTION dopo la WORKING-
STORAGE SECTION.
La LINKAGE SECTION ha senso solo quando vi sono parametri
passati, cioè quando la routine è attivata da una CALL con
l'opzione USING .

PROGRAMMA CHIAMANTE
I

•' - - - - - - - - - - •
I
• • DATA DIVISION
,. ROUTINE
1•
DATA DIVISION
e: ••
I

WORKINC STORACE WORKINC-STORACE le


•1
•'I 01 CAMMA PIC X, • ..........SECTION. le

••
• • 01 BETA PIC 9 9, 91 . 1•
I
D1 ALFA PIC )()()(, el
•• - - - - LINKAGE SECT ION, 1•
I


••
••
I CALL 'PROC2'
US INC ALFA • il 01 ALF1 PIC XXX.
01 BETI PIC 99.
1•
1•

•.-- ------ -- - -
I

•• BETA ••:. ti 01 CAMMI PIC )(, 1•


.... .... .. ...
I
CAMMA.
- el
.........
' 1•

I
I
- •I ....
.. . . . .
''

Parametri
Ridefiniti

Osservate che:
- I campi ridefiniti possono avere nomi diversi da quelli
dati nel programma chiamante.
E inoltre:
- E' necessario che mantengano la stessa lunghezza e lo
stesso formato dei parametri definiti nel chiamante.
I parametri di passaggio devono essere def1nill a livello
01 o 77 sia nel chiamante che nel chiamato.
- In LINKAGE SECTION non si può attribuire un valore ai
campi tramite la clausola VALUE.

25.13
Proprieta 1tals1el S p A Le copie originali sono contraddistinte dal retino stampato in rosso Ne è vietata la r1produz1one
La cultura è un bene dell'umanità (fantomasping@libero.it)
E' importante ricordare che la corrispondenza del param~trl
è determinata soltanto dall'ordine in cui compaiono nella
USING del chiamante e nella LINKAGE SECTION del chiamato.
Tale ordine deve necessariamente essere identico.
Quando l'ENTRY POINT è il nome della routine, come in questo
esempio, la USING della routine è codificata unitamente
all'identif icativo di PROCEDURE DIVISION.

ROUTINE
I •• •• • • • • •• • • •• •• •• •• • • •• • • Je

,'.•.
ALFA
I
BETA
•• GAMMA.----------------
.: :.
•..'-- --- --- --- --- --- --- --- --- --- --- -·-·-···
,-

~
- - - - - - - - - - - I

L-- - ----- I ........... . .

Quando l'ENTRY POINT non coincide con il nome della routine,


la USING è codificata insieme allo statement ~NTRY.

ROUTINE

,.
ALFI i•
8ET1,.• i•

·..·-
••
I

- -- -- -- -- -- -- -- -- -- -- -- :,
I
I

.: : : : : : : : : : : ::
L-------
' •

I
.. .,. . . . ... . . . . . . ,.
•'
GAMM1.

e l • • • • • • • • • • • • • 1•
el • •' ,• , • ,• •' ,• •' ,• ,• ,• ,•, • •e
I

25.14

La cultura è un bene dell'umanità (fantomasping@libero.it)


... "'LSIEL
lGRUPPO
I ,....._
IRI FINSIEL
I
FORMAZIONE
Strutture
per l'evoluzione

Riepilogando:
Nel programma chiamante si deve codificare solo l'istruzione
CALL, il cui formato più generale è il seguente • ••

CALL { ~c:~~o} [us!HG pari [ par2 ] . .. ]

'cost' :> COSTANTE NON NUMERICA CHE DEFINISCE


IL NOME DELL'ENTRY POINT.

campo :> CAMPO ELEMENTARE CONTENENTE


IL NOME DELL'ENTRY POINT.

parN :> PARAMETRO DA PASSARE.

Ricordiamo che questa istruzione determina il trasferimento


del controllo dal programma chiamante al programma chiamato,
durante l'esecuzione. ·
Il nome associato all'ENTRY POINT può essere una costante o
un campo, non numerici.
I parametri sono campi definiti all'interno della DATA
DIVISION.
Nel p~ogramma chiamato, invece, si devono codificare i
seguenti statements • ••

PROCEDURE DIVISION [usING parl [ par2 ] . .. ]

parN :> PARAMETRO PASSATO

QUESTO STATEMENT VA CODIFICATO SOLO SE


L'ENTRY POINT E' IL NOME DELLA ROU TI NE

25.15
Proprieta ta.s1el S p A Le copie ong1nal1 sono contradd1st1nte dal retino stampato 1n rosso Ne è vietata la roproduz1one

La cultura è un bene dell'umanità (fantomasping@libero.it)


Ricordiamo che, in questa ipotesi, l'esecuzione, interrotta
nel chiamante, riprende dalla prima istruzione nella
PROCEDURE DIVISION della routine.

ENTRY cost [usING par 1 [ par2 ] ... ]

parN :> PARAMETRO PASSATO

QUESTO STATEMENT VA CODIFICATO SOLO SE


L'ENTRY POINT E' UN PUNTO NELLA ROUTINE
CHE NON COINCIDE CON L'INIZIO DELLA PROCEDURE

In questo caso, il controllo è ceduto alla routine


all'istruzione seguente lo statement ENTRY.
La costante che definisce l'ENTRY POINT non può essere il
nome della routine.

ISTRUZIONE DI USCITA

Abbiamo visto le istruzioni necessarie per 11 passaggio del


controllo dal chiamante alla routine.
Per determinare il passaggio inverso, è necessario
codificare nella routine un'istruzione di uscita, il cui
formato è il seguente:

JEXIT PROGRAM. {
l GOBACK. _$

Entrambe hanno lo stesso effetto, solo che la prima deve


essere l'unica istruzione in un paragrafo.

Ricordiamo che in seguito a una istruzione di uscita, il


programma chiamante riprende l'esecuzione dall'istruzione
seguente quella di richiamo.

25.16

La cultura è un bene dell'umanità (fantomasping@libero.it)


l "'l'"ftLSI EL
I~
I FORMAZIONE
Strutture
GRUPPO IAI FINSIEL per l'evoluzione

Il richiamo tra programmi può essere di due tipi.


Generalmente si parla di:
- CALL STATICA
e di
- CALL DINAMICA

CALL STATICA
Una CALL si dice STATICA quando la routine è collegata al
programma chiamante durante il LINK-EDIT.
In una CALL STATICA il programma ohiamant.tt e lul.li i
chiamati costituiscono un unico modulo oggetto.

PROGRAMMA
CHIAMANTE

'•'•
: Progl ROUTINE
:···· ····· ·· ···· ····:·---
....... .... .... ... ..• STATICA
• • " ••••••• I ••••• •• ·I·

Una prima osservazione da fare è che 11 tempo d ' accetieo alla


routine è praticamente nullo.
E' generalmente conveniente richiamare programmi
staticamente quando il modulo linkeditato non occupa
eccessivo spazio in memoria e il tempo di elaborazione deve
essere ridotto.

25.17
Propneta ltals1el S p A . Le cop ie onginal1 sono contradd1st1nte dal retino stampato 1n rosso Ne è vietata la nproc1uz1one

La cultura è un bene dell'umanità (fantomasping@libero.it)


Tuttavia ogni volta che si apportano modifiche alla routine
è necessario individuare e ricompilare tutti i programmi che
la richiamano.

!VARIAZIONI I
i

1- - - - ~
I I
liiCOMPILAil: I
I I

'- - - - ~

l ______ _.

Nell'istruzione per il richiamo l'ENTRY POINT deve essere


una costante e non può essere un campo.
Quindi l'istruzione per il richiamo può avere solo il
seguente formato:

CAIJ. I COlt. [usING parl [ par2 ] ... ]

25.18

La cultura è un bene dell'umanità (fantomasping@libero.it)


FORMAZIONE
Strutture
per l'evoluzione

CALL DINAMICA
Una CALL, invece, si dice DINAMICA quando la routine è
collegata al programma chiamante durante l'esecuzione, e
solo al momento del richiamo.

E' caricata in memoria alla prima CALL da parte di un


chiamante.
In questa ipotesi il tempo di accesso non è trascurabile,
perché il sistema deve accedere all'unità periferica dove
risiede la routine.

I I I I 11 I I I 1 1 I I 1 1 I I 1 1 I I
. . . 1111111111111t1111111.

•'
• I CALL !-+-'r-•---·
I ROUTINE
......
I

., ,.
• , , I I 1111
I 11 I I Il I •
•:1111II11111II11I11111 : ·
• 1 111111111 111111 11 1111

.
•rl I 1 1 1 1 I I I I 1 1 I I I I I 1 1 I I 1•
•li I I I I 111 11 1111 1111111 r•
,
•li I 1 1 1 1 1 I 1 1 1 I I 1 1 I I I 1 1 1 I•
• ,1111111111111111 11111 ' •
,. ·...
·.
·...
·~I
I I I I I I I I I I I I I I I I I I I I
••11III111 I I I I I I I I I 1111
I,• •

~ '• MEMORIA ,,
·~ I CENTRALE,_.."
,.

II O
DEVICE

Tuttavia, per eventuali chiamate successive nello stesso


programma il tempo di accesso è trascurabile, come in una
CALL STATICA.

I t I t I I I I t I I I I t I I t I I I I
I ROUTINE
... I I 1111111IIIII111II1••

••'' cA LL . . . I .... , , ,
I I I I I I I !-I- . - - - - -
• : 11 111 I I I 11 I I I I I I I I I I I : •

•1
• 1IIIII111IIIII111111 1 ,•

i•,.
.
1

• i l 11111I111IIII1111111
. ,1 1111111111111111111 I , •
,
•' CALL ...
,.
•'·~ I I I I I I I I I I I I I I I I I I I I I ,.
'• ; ·'
••1111111111111 I I 111111 ' •

•'·~ '• MEMORIA ,,


I CENTRALE... ," 111111111 I Il
;

lllRO

II O
DEVICE
25.19
Proprreta 1tals1el S p.A Le copie orrgrnali sono contraddistinte da, retino stampato rn rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Se occorre apportare delle modifiche alla routine non è
necessario ricompilare i programmi che la richiamano.

,.,.
..
lv ARIAZIONI I
i

NON OCCORRE
RICOMPILARE
'- - - - . I
Prog 3
I'''''''''''''''''''''''''''''''''
I 111 11111111•1111 111 111111111 111 11 . .
I•••••••••••••••••••••••••••••••••.,.
I'''''''''''''''''''''''''''''''''.

L ___ _ __ _. : Prog 4 ~
....................................
I::::::::::::::::::::::::::::::::: ..J--_ _ _ _ _ __,
I'''''''''''''''''''''''''''''''''
I:!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Dopo una CALL dinamica, è possibile comunque liberare le


aree di memoria occupate da una, o anche più routine,
tramite l'istruzione:

CANCEL {campo! J [{campo2 J]

ENTRY POINT DELLA/E


campoN => ROUTINE

Ad un richiamo successivo nel medesimo programma, la routine


verrà nuovamente caricata in memoria.

25.20

La cultura è un bene dell'umanità (fantomasping@libero.it)


""l""ALSIEL I
& lGRUPPO
I~
IRI FINSIEL
FORMAZIONE
Slrutture
per l'evoluZlone

Programmi richiamati dinamicamente permettono di realizzare


strutture molto complesse, senza impegnare grosse porzioni
di memoria.
E' il caso della struttura che state osservando, nella
quale, effettuando CALL dinamiche, solo ciascun modulo
richiamato occupa spazio in memoria insieme al chiamante •

.:::::.:::::::::::::::::::::::: .:::::: . : :::. : .::::::::. .::: .:.. ::: .::::.:::


:::::: . : : ::·.

lI!liIi!!!I~illli~!!llli1li!1~l
~ ;~~~~~;~~;
~l:l l l il! !!!liilii
:

~~~~!~~
:::::::
:. : :
: :
~~::'.
:::::
.
:
.
:
:
....... .
.:::::.:·:
.::::::: .. :::: :::: ::: .. :::::::

..............
...............

25 . 21
Propricta llals1el S p.A Le copie ong1nal1 sono contraddistinte dal retino stampato 1n rosso Ne e vietata la r produzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


La cultura è un bene dell'umanità (fantomasping@libero.it)
"W""ALSI
l.,;RUPPO
I ""'
IRI FINSIEL
EL I FORMAZIONE
Strutture
per l'evoluzione

Capitolo 26

26.0

Proprietà ltals1el S p A. Le copie ong1nal1 sono contradd1st1nte dal retino stampato 1n rosso Ne è vietata la riprodu11one

La cultura è un bene dell'umanità (fantomasping@libero.it)


La cultura è un bene dell'umanità (fantomasping@libero.it)
l 'T"ALSI
I~
EL
GRUPPO IRI FINSIEL
IFORMAZIONE
Strutture
per l'evoluzione

LE ISTRUZIONI DISPLAY E ACCEPT


L'istruzione DISPLAY

l. Si esamini l'esempio seguente


llOUU•Cl

, .o'"o• ., . .."'
l 'AOll IHllUAL
1
~
z
o
1 I
:
.. 20 .. . ,, . •o .. .. 12 .. •o •• .. ,,
I ' :
I

I .1· 1~
I 0
I.
1 <f :o
'
II :j ~1!$P G~~. i

W- ~t:r'.r 1:-:Ati R•.


I I
I I
' ! I
' i
I

l
I
'
I
i- I I'
I ' 0
I I I I
I
-
quale delle seguenti affermazioni è corretta?
A. L'istruzione DISPLAY provoca la scrittura sulla
stampante del contenuto del campo W-LETTI-ANA
B. l'istruzione registra il record W-LETTI-ANA
c. l'istruzione è errata perché non è specif lcata l'unità
di output

A.
Il formato completo dell'istruzione DISPLAY è il seguente:

costante! [ costante2 nome mnemonico ]


]
DISPLAY UPON CONSOLE
nome di campol nome di campo2 ••• [ SYSOUT

Con l'opzione UPON si specifica l'unità di oulput su cui si


richiede la registrazione.
E' possibile infatti scrivere anche su unità diverse dalla
stampante di sistema.
Se i•opzione è omessa l'unità di output è la stampante di
sistema.
L'opzione UPON seguita da nome mnemonico specifica l'unità
di output associata al nome stesso nel paragrafo SPECIAL-
NAMES dell'ENVIRONMENT DIVISION .
Con il nome mnemonico possono essere specificate le seguenti
unità di output:
SYSOUT stampante di sistema
CONSOLE console di sistema

26.l
Propr·eta llals1el S p A Le copie originai sono contradd1st1nte dal retino stampato 1n rosso Ne è vietata la Pproduz1one

La cultura è un bene dell'umanità (fantomasping@libero.it)


Si esamini l'esempio seguente:

t l o I• 10

li I; ! 0 0

.I I
I I
' .Jo
.
, Io

.!·I.
1
'1·1i·
1 0 0
I :
, , !o
1
, ' .. o
, 6 io
VI DfiO •.

in esso VIDEO è il nome mnemonico associato alla console di


sistema su cui si vuole evidenziare il contenuto del campo
W-MESSAGGIO.
Tuttavia è anche possibile indicare le due unllà di output
direttamente, anziché tramite il nome mnemonico.
L'esempio precedente pertanto equivale a:

,!o I. i :. i I ! ..
J
. I I ,
II (;~!16
1 I
I
I
I
, , o
I I
~ l 'SF
I
urt
: ~-~ ESSA
i I .
I

! lJP DH lPH.s.c ~é.


J I 4 Io I
:
I I
- - .-

2. Si scriva l'istruzione che consente di inviare il


messaggio:
FINE ESECUZIONE PROGRAMMA
sulla stampante di sistema

I lii II I I 11 I I I I I I I J. __I

26.2

La cultura è un bene dell'umanità (fantomasping@libero.it)


l "'T"ALSIEL I
& I"'""
GRUPPO IAI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

3. L'istruzione DISPLAY deve essere utilizzata


A. in caso di limitati volumi di dati
B. in caso di grandi volumi di dati

A.

Si noti che:
- SYSOUT e CONSOLE sono i nomi standard asseg11d ti alltt unità
di sistema e sono parole riservate
- la lunghezza in byte del record registrato sull ' unità è
120 su SYSOUT
100 su CONSOLE

Se i valori da registrare han110 . lunghezza inferiore , le


posizioni eccedenti vengono riempite di spazi.
Se i valori da registrare, con la·. st.essa istruzione DISPLAY,
superano la lunghezza del ~ecord, la parte eccedente è
scritta nel record successivo~ .
Se i campi richiamati sono binari o packed , sono cioè
definiti .· COMP o coMJ?:.....3, i valori vengono convertiti
autom~ti'Camente . in display •
.· . .

E' consigliabile inviare messaggi su CONSOLI!: uo l o CJ Udlldo si


vuole comunicare con l'operatore.

4. Dato l'esempio seguente

lf QUl Jll Cl

." . .. .. .. .. ..
~

o
IPAOll kH•UAl
J • I I
I
u 11 20 ,. 21 u li ., IO
••
1

o ' o
1
"
0 I• 0 t)1~:p --~'/ LU-T OJ.At... € lJ Pott S'f<;;. ~tJT.
o • o
-- -- .

quale affermazione è corretta?

26.3

Proprietà ltals1el S p A .. Le copie ong1nal1 sono contraddistinte dal retino stampato in rosso. Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


A. viene registrato il contenuto di W-TOTALE sulla
stampante di sistema
B. manca il nome mnemonico
c. viene registrato il contenuto di W- TO'fALE sulla
console di sistema

A.

5. Quale degli esempi seguenti è corretto, se si vuole


inviare il messaggio all 1 operatore?

I l l t I

'·i. ~ :v:v16:1ù~E.
I ,,..
i I

IL
I

·P~c.6DU~l:5.T~ ~... 1 i;'p o'ti ~oHso:i..;é.


... . ~.V \.i 1 ~.A~E. '. IL
' I
j j ! !. : ' I

I i; l:1 I I: i'. :
PR.o~n>u~1~T~ ~·. :.
I I: • :. !
1
; 1

..
: ,

i.

II ,*~ A;viv ' !~~~E! (L :P:R~~l>.lJ~t~T 11 *'lt iJPbrt ~OHSO~E.


.___

A.

6. Quali informazioni sono stampate con la seguente


istruzione?
· - ,- -.--.----
I
..

' •• o

' • o tt W-COINT P1 e ~ ( 4 ) colH P. ·

r ···
' o o

' ' o
' • o

'
.
' • o
'
• •o DISPLAY :• : N.: TRiAHSAl10HI.:: 'w-corff.
• o o

N. TRANSAZIONI = valore
dove valore è la rappresentazione display del contenuto del
campo W- CONT

26.4

La cultura è un bene dell'umanità (fantomasping@libero.it)


.....
lGRUPPO
I~
"'LSIEL
IRI FINSIEL
I FORMAZIONE
Strunure
per l'evoluzione

L'istruzione ACCEPT

L'istruzione ACCEPT riceve dati da un'unità di inpul.


Il formato dell'istruzione è il seguente

nome mnemonico]
ACCEPT nome di campo
CONSOLE

Campo è il campo di WORKING-STORAGE SECTION, elementare o


composto, in cui vengono trasferiti i dati.
L'opzione FROH deve essere seguita dal nome mnemonico
associato, nel paragrafo SPECIAL-NAMES dol l'ENVIRONHENT
DIVISION, all'unità di input da cui si vogliono prelevare le
informazioni.
Con il nome mnemonico possono essere specificate le seguenti
unità di input
SYSIN scheda parametro defin ita nel JCL
. .
CONSOLE console di sistema

Si esamini l'esempio seguente

zo
. .. . .
HQUtNCI

I
• •o;, o "
lfl'AOU llUUAl
• 1 I •
" .. 20 •• 11 .. .. •O u 10 .. .. "
I '
E'SEc.i.r
o, , o
. . IEH.YI R.o tiH ftiT ()1 V I ~1ori.
o • o
. .
.. o • o ~o:rff 1 GUR ~TIO l'f $[ :::TIO tf.
' o o 5Kt f~
' ' o SPECIAL- HAHf ~ .
' • o
..
' .o CONS. PLE IS HEss ~G.
' • o
:- ,. o

:o ' ,. rp,J
Iw-Ht ISS AG .
' • o ~3 . I.V- HE S':. A<T -C.OD Pie 9(4) -
. .
' • r ~3 W- Hl ~$AG -FUf'f l FI c. x( ~~ D.
..
r
' . o
' o o
. . ..
l
. .o,

I •
.. 0 ACC.E PT UJ-H ES.SAG f RDt1 Ht.ss A6.
, • o
·· - . - -

in esso MESSAG è il nome mnemonico associato alla console di


sistema da cui si vogliono prelevare i dati da memorizzare
nel campo W-MESSAGG.

26.5
Propnelè 11als1el S p A . Le copie originali sono contradd1st1nte dal retino stampato in rosso . Ne e vietata la nproduz1orie

La cultura è un bene dell'umanità (fantomasping@libero.it)


E' anche possibile indicare l'unità di input, direttamente,
anziché tramite il nome mnemonico.
L'esempio precedente pertanto equivale a

3 1• o
.I.i. . NS OLf • ..

7. Si scriva l'istruzione che consente di ricevere dalla


console di sistema i dati che devono essere memorizzati
nel campo W-DATA-MOV

I :: I i iIl i:!' ::: I: I:I:.' I''• I:;: 1·.! 1· · 1 . · 1:. · 1 .. , •. : I·:. ,.. ·I:.· 1· . ·I

.. .. .. . ..
llOUl•Ct •
z
IP'AGU ICIUIAL A 8 •I
.,
t J <I I 1 I 12 11 :ZD 24 40 •• •• •• "
I
I 1
o ! ' I•
I; 11 .·. I.
I
: •
'
I 1
' '
I; . . . . I
!
I

I I O:• i O I ' ! t '


. . ~ ;
ol • ·• '. j : Aç~~ P.r: : µ).. ~~A:-f< o'V: : F"R.oH CD WSOL 1r: . !
I i .

26.6

La cultura è un bene dell'umanità (fantomasping@libero.it)


""l""ALSIEL I
& lGRUPPO
I~
IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

Si noti che:
Se l'unità di input è la consol~ ; l'ACC!PT richiede
un messaggio dell'operatore; in particolare l ' esecuzione
dell'ACCEPT provoca:
· l'invio automatico di un codice di sistema sulla console
seguito dalla costante "AWAITING REPLY"
· l'arresto del programma. Solo dopo la scrittura da parte
dell'operatore dello stesso codice di sistema seguilo dal
messaggio, l'esecuzione riprende e il messaggio è
trasferito nel campo richiamato dall'ACCEPT.
L'istruzione ACCEPT deve essere utilizzata solo per
immettere pochi dati nel programma.
Il trasferimento avviene da sinistra a destra fino al
riempimento del campo
CONSOLE è nome standard e parola riservata.
Se il campo in cui devono essere "letti" i dati è numerico,
deve essere display e non può essere numericp di stampa .
I dati immessi non vengono cont~ollati automaticamente.
La lunghezza del campo, se : l'uni~i ~i input à la console,
non può superare le 114 posizioni ~
E' consigliabile richiedere .messaggi da console solo quando
si vuole comunicare con l'operatore.
L'istruzione ACCEPT da. console dovrebbe essere preoaduta da
un DISJ>.LAY pe~ comunicare all ' operatore il tipo di lllt!&&aggio
che d~vè intr6dùrre.
Con l'istruzione ACCEPT si può immettere nel programma la
data del ··•istema e l'ora dell'orologio del sistema.
L'istruzione ACCEPT, in questo caso, ha il seguente formato

ACCEPT nome di campo

nel campo viene reso disponibile il contenuto del registri


speciali:
DATE (data attuale, nel formato AAMMGG: 6 caratteri
numerici)
DAY (data attuale, nel formato AAGGG: 5 caratteri
numerici)
TIME (ora attuale, del formato HHMMSSCCa 8 caratteri
numerici)

26.7
Propneta ltalsiel S.p A .. Le copie original i sono contradd istinte dal retino stampato 1n rosso . Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Si esamini l' esempio seguente:
I I
1 I 1 10
I '
i I
' I
I
,.j O
6-i ' u;. :p~ ~fl
I •I ; i !
I :
I j l
l I . I . .. I . :
:
! I I' ~ o . ~B .. W-D:ATiFt.-~ ~ .I IP'1r q·f.
i
' ' o
' 'i ~3 .. w-t>A h" A.-H ..-\. :
I
'
f> I C. 99.
' lo lo . VJ3, . Ui-·DA tr~.-i> IG. I
: Pii jq <3.
' , o
. I , ' ' I !: i I
I : :
<h. w-·oR uho;~
I ..
) I• 0
A.
,!• o
, r
1
. 1.
!
I
! .~3:. ~- ·OR
~3 W-·oF A- .K
. .
. '

I 1'1 1 :
i
: '
'
: I P1c:
P1c
qq .•
'H.
'
I
I
l 1o10
I
~ .
f!>... ~-OR. f}- SE 16 '

I
i
' ' PIC 9q.
~ . w-o·RA-L·S[ :i
I i
' ., ' o i : :
Pie A9.
:
3 j

' • o
4IO

:
·1 . I '

J·Jo fkZf PT W-o·Af A Fr:lOH DA tTE.


• o o AcLE lt:>T w-ot~ FR.OH T1 HL
I
'
I : !
!
I
:
: 'I I
I

I I I
I I
'
I
I
I I

in esso si richiama in memoria il gruppo data-ora necessario


all'elaborazione.

8. Dati i parametri con il seguente tracciato

W-PARM

W-PARM-1 W-PARM-2 W-PARM-3


2N 2N 2N

si scrivano i periodi COBOL necessari alla descrizione dei


parametri e alla loro immissione nel programma utilizzando
il nome mnemonico OPER.

26.8

La cultura è un bene dell'umanità (fantomasping@libero.it)


...ALSIEL I FORMAZIONE
lGRUPPO
I "'"' Strutture
IRI FINSIEL per l'evoluzione

MOlll..CI
tPAel! . .
t
~ -..~•
.. •
~

8
,
A
• ..
:I
.. . .. . eo .. .. 12

i. II j I! i111 1' iI [I !,. ;' ! I i i: I I ' : I


;
I
I
I
I

! Ii Ii '' ''
I
II I I' ·
I

II ; .~
il Il ,; Il , , I I I
:i:1:
I j

I I I I
•1 I I I Il I • :.' I ,,i . I ; . ,' I I !
' ;i l
::f
I I I ' I . I I ' I' I

! I i I i l i : ! : i I: I l ! i ! i ' ! i : : ! .! I :
I : :j '' I '!
1
I I . I I
'
I 1 1 :
: . ~ I!
i !: : II : II iI ii 11! I lI I I 111' : ! ! : !i
I I
1 11 !, .' ·,· ,' li
i I
I

I
: 11

: I
I
;
:
, • I ;
;
:

I
I

' ! :;I
I

!! .;I ·I· • iI i . iI 11 i ! !: i I ' ,· : : i' 1


I '
i
i I I I

I,. I
l
1! !,. . ! : ; 1 I
I .
I i I • I • I

'

:li iii· i ;
! 1 '
0
.. ! t I

'I ' J '. • ' ' ' I

i'I li:I iii i ! i


I ;

Il : : : iiI :!
• I'
I
o o

!I' ' • i :1: i I :

I ,,+o.,.
: 1'
I I I i: I: I I; " . !:! i! !I I '.
I 1· i ,. ;
I ' I· I ~ ' '

! Ii ::: :: i! ! . I. :
I

I. Ii · •• 111 ! II I ,· I '· : 11, ,,::. ;


ii: :
> 1 o 1,·

~i
i I ,. • I I : .
I o
i ,,• o 1 ! 1' I I I' '! !, : : ,i ,i ;:' : ; : I '. I I
I: ~
·'·
I '1 '1· l! !,:

I
:

I
, I
'!
: I

0 10
il
1
I
i!.
I
1 I,1I
l ' I
,: .Il•
,1! '.! i
I ; I t I I
1 ' ! ,,
I ; :
;:'::i"·
. : . ! I : .
I

:; ; l i
;
t

'
I


'

'•
'

Ii !I I i I I i IiI I : '
I! ~
I •

Ii :
I '
'

i 1 I 1i·.l I;· i i I : ' '


1 I '
i 11 : I I iI1 I I I i I i I
I
I
I
I
; ! i II
· I' i .
'.

HOUINCl

IPAOll llUUAl
1 , . • z....' .
o , o
o

"
I

E"JEc.~
.. ,. ,. 21 l2 >• .. .. .. ., . •• .. .. "
o • o
'
f:,tù/1 eoliti EHT DI VI ~1011 .
• • o
. . 5K.1P ?>
o '. o C..O.Hf I (;U.R ATI C N 5t cT10 ti.
. o o

' o SPEc..1AL:_ HAHt ~.

..
• o

C..ON~ ot..'E 1s OPE. R,.

l
• o

, o •
, , o i~ l.0-f~ R.M.
,
r/_ ~" JJ-P fl R#( • 1
• o p Il. 9~.
{6~: w-P~ Rii - .l Pie. q~.
..
, • o

' ?3 w-PA ~H -.3 Pie. 99 .


, o o

'
,'.
,
). • o
" o ì
Jl.CLf f J w-PA R.t\. F~OH or Ei.
J Le O

'
I
• o o I

' ' : I
i
I
I
I
I '' I : I
'

26.9
Propneta ltals1el S p.A Le copie ongmah sono contradd1s1tnte dal retino stampato 1n rosso Ne é v1etat;i la r produzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


9. Si scrivano ora i periodi necessari ad immettere nel
campo W-ORA così definito, l'ora e i minuti dell'orologio
di sistema

i I
iI ' I I
I
I

.I ' ! '
I '
: ' .c. 3~.
;

i I :
I I I i I

' I<.. ~~. I


' " I• ~I"'..., . ~ ~·

i I 'I'.·
I!• 0 j
I ' I .
. I ·1I•·1i•
I o

26.10

La cultura è un bene dell'umanità (fantomasping@libero.it)


FORMAZIONE
Strutture
per l'evoluzione

Capitolo 27

27.0

Proprietà ltals1el S p A. Le copie orig1nal1 sono contraddistinte dal retino stampato in rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


La cultura è un bene dell'umanità (fantomasping@libero.it)
l....."'LSIEL I
& I~
GRUPPO IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzion e

DEFINIZIONE

Il VSAM è un metodo di accesso e in quanto tale consente di


memorizzare e ricercare record su dispositJvJ ad accesso
diretto (dischi).
In particolare il VSAM è costituito da un insieme di routine
che fanno da interfaccia tra il programma applicativo e i
dati registrati su disco.

Il VSAM ammette tre tipi di organizzazione di ddtiz

KSDS (Key Sequenced Data Set) I dati sono 111u111orJ1nati in


sequenza ascendente di un campo· detto chiave.
ESDS (Entry Sequenced Data Set) ,.I dati sono memorizzati in
sequenza temporale di arrivo."
RRDS (Relative Record Data Set) Il data set è pensato cume
un insieme d.! caselle numerate, ciascuna delle quali
può contener:e o meno un record.

La differenza principale consiste nella sequemsa con cui i


record sono memorizzati sul file.
Seguono in breve le caratteristiche distintive di ciascun
tipo di organizzazione.

27.l
Proprietà ltals1el S p.A .. Le copie ong 1nal1 sono contradd1st1nte dal retino stampato in rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


ORGANIZZAZIONE KSDS

I records sono ordinati in sequenza ascendente di un campo


prestabilito (chiave).

- La chiave deve essere di lunghezza e posizione fissa


all'interno di ogni record.

- Ogni record è univocamente individuato dalla sua chiave,


non sono pertanto anunesse duplicazioni di chiave.

- La sequenza di chiave è logica e non corrisponde


necessariamente all'adiacenza fisica dei record
nell'ambito del file.

- E' possibile aggiornare, inserire e cancellare records in


quanto è prevista l'esistenza di spazi liberi distribuiti
opportunamente all'interno del data set.

- I records possono essere a lunghezza variabile.

27.2

La cultura è un bene dell'umanità (fantomasping@libero.it)


..."'LSI EL I FORMAZIONE
lGRUPPO
I~ Strutture
IRI FINSIEL per l'evoluzione

ORGANIZZAZIONE ESDS

- I records sono memorizzati nella sequenza fis i ca con cui


vengono caricati.

Ogni record è univocamente individuato dalla sua ' distanza,


in bytes, dall'inizio del data set.

- L'accesso ai record è sequenziale

Lo spazio libero non è distribuito all'l11l.tH 110 dttl data


set, ma solo in coda ad esso; eventuali aggiunte possono
essere fatte solo dopo l'ultimo record registrato .

Gli aggiornamenti sono ammes-si solò a par i tà di lunghezza


del record.

Non è possibile cancellare fisicamente un record, è


possibile solo la cancellazione logica.

- I record.a possono essere a lunghezza vari ab i le .

27.3
Proprietà ltals1el S p.A. Le copie or1g1nal1 sono contradd1st1nte dal retino stampato 1n rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


ORGANIZZAZIONE RRDS

- I records sono registrati secondo il loro numero relativo


all'interno del file.

- Il file è visto come una successione di aree di lunghezza


fissa (slot) a ciascuna delle quali è associato un numero;
una slot può essere vuota o contenere un record; in tal
caso il record è identificato dal numero della slot che lo
contiene.

- I records devono avere lunghezza fissa.

- L'accesso al record può avvenire in due modi:


a) tramite il numero relativo che viene trattato dal VSAM
come se fosse una chiave.
b) sequenzialmente, e in tal caso vengono lrdltate aolo le
slots piene.

- Le operazioni consentite sono la modifica dei records


esistenti, l'aggiunta di nuovi record& (nell~ slot vuote),
la cancellazione ottenuta tramite la creazione di una slot
vuota nella posizione del record da annullare.

27.4

La cultura è un bene dell'umanità (fantomasping@libero.it)


...ALSIEL I FORMAZIONE
lC?RUPPO
I~ Strutture
IAI FINSIEL per l'evoluzione

ELABORAZIONE COBOL
DI DATA SET VSAM KSDS

Questo capitolo prevede solo la trattazione di data set VSAM


con organizzazione KSDS, essendo questi attualmente più
utilizzati.
A tale scopo analizziamo le proposizioni da specificare in
ciascuna delle quattro DIVISION costi tuentJ un programma
COBOL.

27.5
Proprreta ltalsrel S p A Le copre orrg1nal1 sono contraddrstrnte dal retino stampato rn rosso Ne e vietata la rrproduzrore

La cultura è un bene dell'umanità (fantomasping@libero.it)


IDENTIFICATION DIVISION

Nulla di nuovo.

ENVIRONMEN'l' DIVISION

CONFIGURATION SECTION
Nulla di nuovo.

INPUT-OUTPUT SECTION
FILE- CONTROL
SELECT nome-file ASSIGN TO nome esterno
ORGANIZATION IS INDEXED

SEQUEN'l'IAL
ACCESS IS RANDOM

DYHAMIC
RECORD KEY IS "campo-chiave"
FILE STATUS IS "nome-dato"
Esaminiamo dettagliatamente il signitlcolo dl queste
clausole.
- ORGANIZATION IS INDEXED significa organizzazione ad
indici. La clausola è obbligatoria.

27.6

La cultura è un bene dell'umanità (fantomasping@libero.it)


"T"ALSI
l,RUPPO
I"'"'
IRI FINSIEL
EL I FORMAZIONE
Strutture
per I 'evoluZtone

- La clausola ACCESS è necessaria per distinguere i tre tipi


diversi di gestione di un data set VSAM KSDS c he sono:

SEQUENTIAL: i records vengono elaborati sequenzialmente in


ordine ascendente di chiave.
RANDOM i records · vengono elaborati · accedendo
direttamente ad un particolare record tramite il
campo chiave.
DYNAMIC i records vengono elaborati sia in modo
sequenziale che random.

Omettendo la clausola ACCESS viene assunto per default:


ACCESS IS SEQUENTIAL.

- Il parametro "campo-chiave" dell~ clausola RECORD KEY è

il nome del campo chiave del record, a J. ungh"~za e


posizione~ f.i.ssa, ,elementare o composto, desc r itto nella
FILE SECTION.
La clausola è obbligatoria.

27.7
Proprreta lta.s1el S p A Le copie orrginali sono contraddrstrnte dal retrno stampato rn rosso Ne e vietata la r produnone

La cultura è un bene dell'umanità (fantomasping@libero.it)


- Il parametro "nome-dato" della clausola FILE STATUS deve
essere definito in WORKING-STORAGE SECTION come un campo
di due caratteri, alfanumerico o numerico display.
In tale campo viene memorizzato il codice di ritorno
(valore del file status) rilasciato dal VSAM dopo ogni
operazione sul data set. La clausola è facoltativa,
tuttavia è bene utilizzarla sempre; infatti tramite test
sul campo nome-dato è possibile conoscere l'eHJto di ogni
operazione di I-O e di conseguenza prendore opportune
decisioni in funzione del suo contenuto (ad es.
interrompere l'elaborazione, evidenziare con display
l'esito dell'operazione, ecc.).

Nella tabella a pagina seguente si riportano 1 valori che il


sistema può inserire in ciascuno dei due byleu del "nome di
dato" e i significati associati a ciascuno dJ eaal.

27.8

La cultura è un bene dell'umanità (fantomasping@libero.it)


..J....l ITALSIEL I ~~~t~u~;IONE
~ GRUPPO IRI FINSIEL per l'evoluzione

Valore 1 caratt.,. Significato Valore Significato ..


del campo 2 carattere

o Istruzione di 1/0 eseguita o Nessun altra informazione

1. Clausola AT END eseguita o Nessun altra informazione

1 Errore di sequenza

-
Clausola 2 Chiave duplicata
2 INVALID KEY
attivata 3 Record non trovato

Violazione dei limiti per data


.4
Set VSAM INDEXED

Errore permanente · o Nessun altra informazione


(data check
3 ..
parity, check
Violazione dei limiti per data
trasmissione) 4
: Set VSAM SEOUENTIAL

1 Pass1NOrd errata

2 Errore logico

3 Risorsa non disponibile


9 Altri errori
Nessun Current Record Pointer
4
per 'una richiesta Sequenziale
Informazioni sul file invalide
5
o incomplete

6 Omissione scheda OD

'-1. ,.
Propneta ltals1el S p.A .. Le copie originali sono contradd1st1nte dal retino stampato in rosso. Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


DATA DIVISION

Nella File Description è obbligatoria solo la clausola

LABEL RECORD IS STANDARD

Tutte le altre non vanno specificate perché il VSAM gestisce


automaticamente il formato dei record.
Per quanto riguarda la descrizione del record è obbligatorio
definire, oltre il nome record a livello 01, anche il campo
chiave: tale campo deve avere lo stesso nome assegnatogli
nella clausola RECORD KEY.
Così il formato tipico della File Description è&

-~--,-,--....--r----;-r--.---ir- ., _
! I , oj O
!I ' ! ! ' I I ' I I ! ~ !
I 11·1;O I I I I t I I .
: ! . I . . . I i I ' I i ~ .

I ,
.
I .. : o
;
fO. t-IOHf-FI l I I I I

LABE t.. Ri coR.e> :r,s. sT.RN C>A~D .


Ti
'~ ' lo
0 1 •

~· H oH 'R..Ec: :~~ • !
iI; · ·
1 :

~3 AHPO-C Hl~~ ;E:


1
ii
.......

J o o

J
I
' io I I f/>.?, ! FI .L.. {(l . .. i
J <I I 0 '
I
)>. o
' • n
• 'o o

Il campo chiave può essere un campo elementare o composto e


non occupa necessariamente i primi byte del record (anche se
è preferibile inserire la chiave in testa al record per
diminuire i tempi di accesso).

21.-10

La cultura è un bene dell'umanità (fantomasping@libero.it)


....ALSIEL
lGRUPPO I~
I FORMAZIONE
Strutture
IRI FINSIEL per l'evoluzione

Esempio:
l(QUINCl

IP'AGll CIUUAL
1 J • •
~
z
81 A•
',,
; I
.. •• .. 21 •• .. •• "
.. •• .. I
Il ,,

I I o ' 10
o . 1.
,, ' I,, " !
F!~. I A~~ ! 1 E!V:l .
I :

I:' I
I ! I ! i
'. ... I.
I : ! !
: I
l
I
I
, o · I~I• j 1i :1.A8;E" L. /{E c~ ~o
1 11 f; ~i:A~ f>,A.~O •
;
I
I: I
l I I ; !
! !

I ,
I
o11
~1 .~LL I (.V I -i ·. ' I! ! I

i . 1·, . o o
I
!
' io
I
I
I
I
I

I :'53,
~3'
l' F: I :L l EIZ,
ALIL.. I EVI- KEY, .
I
! I I
I

I
1 •

I'
I

I I
p'1(. X1{ ~,
:
I :
!

: :
I ~'5 ' : AL~L : l EiV.1:.. l(CI- H AT~
1
I
1 0 ! '
I 4 0 '1 ; : 'I
1 ;

I :I: I • o ! ... :.!


d~
I

1
~ 1

.5 .
• •

F: IL~E!~
FI L L [ifl I I i
• • •• • •

1
• •

il: 1'.
• 't ·
I
:

l ·I• • i I I I

WORKING-S'l'ORAGE SECTION
Nella WORKING-STORAGE SECTION si deve definire il campo
"nome-dato" della clausola FILE STATUS.
I
, . I
I '
I
I I I·: i;
I
' ' I .'
'

l
I ·;
'
! J I
I
I l. : . I : I

J.:
I , .f, i I' ! I1 I I I
'
1• • PI c. X!X.• i I I i ' I I !
j ·1 . i iI : ; I

i ' I

, · p1:c ~9.

1. Con riferimento ~l seguente esempio:


...
o,. ' o
o 1,VIS 10.f"I •

o I 'O
'
o o
o
' •'
' . o

".•
' '
o
o
,oo o
,,o rs IHD
," o I~ t...t .
, •• ICS> -C OD.
,•o
J o o
o

'.
l J

o
J
•o
I o
'
o o

i I . .
'
I I , , I '

27.11
Proprieta ltals1el S p.A Le copie ongina•1 sono contraddistinte dal retino stampato 1n rosso Ne e vietata la r produzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


il tipo di accesso al file VSORD è:
A - Sequenziale.
B - Dinamico.
C - L'esempio è errato poiché la clausola è obbligatoria
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

A.

2. Per sapere se un'istruzione è andata a buon fine oppure


si è presentata qualche anomalia, il campo che dovrà
essere analizzato deve corrispondere:
A - al campo chiave della clausola RECORD KEY.
B - al campo "nome-dato" della clausola FILE STATUS.
C - ad un qualsiasi campo definito in WOHKING-STORAGE
SECTION

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

B.

3. Il "campo-chiave" della clausola RECORD KEY deve essure


un campo di:
A - WORKING-STORAGE SECTION.
B - FILE SECTION.
C - E' indifferente: dipende infatti da dov~ si è fatta
la descrizione del record.

B.

27.12

La cultura è un bene dell'umanità (fantomasping@libero.it)


.....ALSI EL I
& lGRUPPO
I~
IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

PROCEDURE DIVISION

Le varie proposizioni sono sostanzialmente sim ili a quelle


fin qui utilizzate.
Per i file VSAM KSDS è in0ltre possibile cu11 t. rol lor~ le
operazioni di I-O testando il campo "nornu -dato" della
clausola FILE STATUS.

GESTIONE DI UN DATA SET VSAM KSDS

Sono possibili tre tipi di gestione di un data set VSAM


KSDS:
- SEQUENZIALE .
DIRETTO
- DINAMICO

a ciascuno dei quali corrisponde una diversa clausola ACCESS


nel periodo SELECT, rispettivamente:

- ACCESS IS SEQUENTIAL
- ACCESS IS RANDOM
- ACCESS IS DYNAMIC

27.13
Proprietà Jtals1el S p.A . Le copie onginal1 sono contraddistinte dal retino stampato 1n rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Segue ora la codifica delle istruzioni COBOL nelle
operazioni di LETTURA, AGGIORNAMENTO, INSERIMEN'l'O,
CANCELLAZIONE .

LETTURA
Per leggere un data set VSAM KSDS è necessario aprire il
file in inpu t e cioè:

. .. .
~

..
SIQU[NC(
z
o
IPAQrl ISUUA l u A I
,. •• ••
1

I
J 4

'
o
I

..
'I
l I
"
• . .
11

I : : I I I I • . . .
l2


li •• u •• 11

o i ' ~o : . ! OP,E.N : .1tiPPT !tt,oHt..- .f .1 L,E, . . .' .


+!·
I I '

:
;
o 11 o
ì
' t o.o
!' ' ' ' : J:
'[1 LA:B,o tiA~ 1io '. ttEJ
. . . ~~05 ~ ; 'HO}{E:-,; 1:t..e ' . .
'
' "o
·-~--'-'-------'----'- · - .. - -- - - -

Il tipo di accesso, dichiarato nella clausola ACCESS IS,


determina formati leggermente differenti dell'istruzione di
lettura.

27.14

La cultura è un bene dell'umanità (fantomasping@libero.it)


l ""l'"ALSIEL I
& I -"'""
GRUPPO IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

LETTURA DI TIPO SEQUENZIALE

E' richiesta un'elaborazione sequenziale in ordine


ascendente di chiave, quindi nella clausola ~uluol tii può
specificare o meno in quanto· è assunta per default&"

ACCESS IS SEQUENTIAL
La lettura di un record si effettua con il seguente formato
dell'istruzione READ:

READ nome-file NEXT INTO •••

è indifferente, nell'accesso sequeti~ i ale, . usare la READ


semplice o con la NEXT

[AT END proposii1one imperativaj

Quando occorre posizionarsi, all'interno del data set, su un


record specifico · ed elaborare sequenzialmente ___
è bene
_;;;;;...;;;;.;;.;~

utilizzare· l'istruzione START.

ISTRUZIONE START

Il formato dell'istruzione START è il seguente1

START nome-file [KEY IS chiave]


[INVALID KEY ••• / IF nome dato ••• ]

In generale l'istruzione START può essere usata per data set


aperti in INPUT oppure in I-O.

27.15
Proprietà Jtals1el S p A Le copie originali sono contraddistinte dal retino stampato 1n rosso. Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


La "chiave" da specificare nella clausola KEY IS può essere:

- il campo-chiave definito nella clausola RECORD KEY.


In questo caso la clausola KEY IS campo-chiave può essere
omessa:

- una parte, partendo da sinistra, del campo-chiave della


clausola RECORD KEY.
In questo caso la clausola KEY IS chiave-1 è obbligatoria

' . o

t ! ~o6

' ' •o
,;+
1 ' 1 IO

, '~ .. lo
'
: ~ I
'
! , !• :o
, •o
J !o[o
J , =o
I

'l
, •'I°o

.+!·
I
' I

O IO

I ; ' ' I ! . .;
' ' ' I . I I

i • I ' ' •

27.16

La cultura è un bene dell'umanità (fantomasping@libero.it)


"'PALSI
lGRUPPO
I """
EL I FORMAZIONE
Strutture
IRI FINSIEL per l 'evoluzione

Il Sistema esegue il posizionamento sul record dell ' archivio


"nome-file" con chiave uguale al contenuto dJ c ampo e lo
legge.
;
.. .. .
HOUIHCI
o
l_.AGfl l lHUAl U A

' >• I 1 I
:o
12
" 20
•• u u •• ... •• " 10 •• "
o "o

o • lo
. w~ N'o1tf[ - ;"f :I )L.
; I ' I ' ,
e.:I I'' '' I !
I : I

! ! '. ..
..
I ' ;
'
R·e.c.·o P.~
V

,, .
•o
o
!..A:~E L.· l 1,S l$ TA~ ~A · R~

' • o ~~: K<H(E_:Rr:c . '


I V

' o if)3 ' C.Atff' o-C..H I A YE

.
• o

" :
'
: r/Js ~AHP o - C.H I A v't -J. f> I c. . .
,' "
o
I

; fAS.
I
IC.A.H P~.CH I A v'E ... z_ f I C.
.
'
I .
'
o
' ,.
I
, • o . -
I
tfov.e fil- C..A Hl'O rro c.' A.t1 p o-e'°' 11\v'f. -1..
' ' n

"
,.
. ~

:S.• :ii.h . t{O t1 E - f E KEY •S c..'AHf o-e. ~ I A'l t . i .


'
. (. t./I/ At.
I L

y ., • • I I f' ~o.H.E -;bA1 o. .] ..


.• I K'é.
l o 1,l)
' "
'
' .' :f\"fA} r(oH.E t i L. E. ( rJ{XT '] e I tJ io J
.. Il [ AT Er(h J

Il Sistema si posiziona sul record dell'archivio "nome- t l le "


con prima parte di chiave uguale al contenuto di "campo"
ovvero sul primo record della famiglia di chiavi aventi il
sottocampo di estrema sinistra uguale a "campo" , e l o legge.

27 .17
Proprietà 1tals1el S p.A Le copie ong1nal1 sono cont raddistinte dal retino stampato n rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Dagli esempi si evince che:
a) l'istruzione START deve essere sempre essere preceduta da
una istruzione MOVE per impostare il valore della chiave
del record desiderato;
b) la START permette solo il posizionamento sul record
specificato;
c) la START deve sempre essere seguita da un'istruzione READ
o READ NEXT indifferentemente, per rendere disponibili in
memoria i dati del record raggiunto.

Un programma può contenere più istruzioni START, si può


cioè ripetere la richiesta di posizionamento su chiavi
con valore sia maggiore che minore di quello dell'ultimo
comando START.

4. I seguenti periodi si equivalgono?


HOU!NCI

,
IPAOU llUUAl
I .o., .z' .. o
.... ..,, " zo ,. li ,, . .. .. •• " .. .. .. .. "
10
i i I :
fl.
I
o!' io FIL.E
. . .e.OH
. I ./ùJL. •
o • o 'SE.LE so D 5516-f'i
o '. j o 15 e EX D
I 0 0
IS o -kEY.
:
I!) 0
'
B. I ' ~ 0
FILE ~1'1
I • 0
SE:LE vso D ~ SIG H
' • o I O ti 1s I t'!CEX ED
' o o I S Sf.l(u~ I L
' ' o ~E)' IS Ofl -~EJ •
' • o
. . - -.

SI'

27.18

La cultura è un bene dell'umanità (fantomasping@libero.it)


"T"ALSI
lGRUPPO
I"'""
IRI FINSIEL
EL I FORMAZIONE
Strutture
per l'evoluzione

s. Con la clausola ACCESS IS SEQUENTIAL, la clausola RECORD


KEY
A - può essere omessa.
B - non può essere omessa.

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

B.

6. Quale dei seguenti periodi è corretto?


A. I 01• I I ' 5 EL Ec.T ::: L 1EM f SS 16 H 1 o e L 1EM
I • !O

o 1I , ,r o I 1
: ' ; . i: · , oRGRHl :lRT1 .oN tS I NDE,i. àj '
I 0
1• .° ,,, .I ! : , ; . REcoP. o . kiE:".Y I S C"D l c:E . '
I I 'io,. ! .!~1 ' ' ,· i flLf 5T~Tus I S UJ-TEs T.
; I 'I' . I
. •
si I
. . ...
' '
, I
I
I ... '!• ~D CLll: M
:!
; I
':.i• ~{ . CLJ !EH{.
I I. o
·:· LA BEL · Rrci:»~ ~ · 1is· ·sTAHtA~[). .
. . i: . : . .
' . ~3 , c.oD 1 c.€ • , ,
; ' 01• , : : l"'. .. "5 : ,_. ·o ,.,.· ' . ' .
I

: I [' .o
, 1 1 • · • i I V . ! - :0 . -~: ~r . . P re 9·(3) .
, ,!,Io . I I I ~5 C.OD-0.RD • , PIC XXX •
I ';·!O ì: n.3· : ~ 1LL ER. . ' . . I ;
PIG X(4) •
t
' j •'. o ·: 'f/r··i: :~ . ii: .
~:;
'. I
31OI O
' I
! ! : , : : : : '. . j . I
J 1 !O f>~o.c.€p.u R [ l> I V I ..SI Otf •·
l : .. o
'I J . • ' • ••
'' ST~~T CLlfli J<El7 IS c.oo-ORD.
o' , l o
I I'
o:. o SE.I.E CT
B. '
I I
OR.CIMI
DfGG/li Hl lArT I OH I 5 l HCE XfO
0 I I 0
AC.CéSS IS '5é~IJ f HTI ltL
' o o R.EcoR.D ~o· 15 ~FtTA-oR.o
' o f I LE 5T~ 7° US I 5 W • TE si .

~
• o

• o

• o PIÙx:.EClJR [ D.1VI 51 OH •

~
' o ('J

' ' o
,, • o ST'A'RJf oR.l>l HI ~ E'f I~ t>"AT A- oR.D
._____._,_•_•.._.__~, · --- ~-~--- -· ..__ ~~~ -- ._ -

B - Nell'esempio A il campo COD-ORD è il sottocompo di


destra nel campo della RECORD-KEY, non di estrema
sinistra.

27.19
Proprietà ltals1el S p.A Le copie originali sono contraddistinte dal retino stampato 1n rosso Ne e vietata la riprodullone

La cultura è un bene dell'umanità (fantomasping@libero.it)


7. Esaminate le seguenti istruzioni:
.. ~-· . ·- - -
... PR.OCtDORf C> I V/SI ON.
.. HOV€ I~ /j~ I -ID C..H I ~VE"
... Di"AI< T A NflCL I ltL.1{) KE ~
(i.I) 'io ~RR- L)TA(~ T. '*'
tenendo presente che CHIAVE è il campo alfanumerico di
tre byte, specificato nella RECORD KEY, quale delle
seguenti affermazioni è esatta?
A - il confronto viene fatto solo per uguale.
B - vengono considerati i confronti anche p~r magglore e
minore.

A.

8. Se il confronto precedente ha esito positivo, cioè nel


data set ANACLI esiste un record con chiave 003 allora

A - si ha il posizionamento su tale record.


B - si ha il posizionamento e la lettura di tale record.

A.

L'istruzione READ di tipo sequenziale è, in sostanza,


identica a quella per i file sequenziali non vsam con la
caratteristica che può essere omessa la clauMola AT END.
Ciò è possibile in quanto il fine file può esser gestito
tramite l'analisi del FILE STATUS.

27.20

La cultura è un bene dell'umanità (fantomasping@libero.it)


l ~ALSI
I """"
EL
GRUPPO IRI FINSI EL
IFORMAZIONE
Strutture
per l'evoluzione

9. Nell'istruzione READ qual è il codice di ritorno quando


si verifica la condizione di fine file?

Codice di ritorno = 10

Per verificare l'esito delle operazioni di I-O sui data set

VSAM KSDS si deve testare il valore del FILE STATUS. Il

controllo del FILE STATUS può essere gestito in vari modi,

quanto proposto costituisce però la soluzione più generale e


semplice.

Per quanto riguarda le istruzioni OPEN, WRITE, REWRITE,

DELETE, CLOSE è sufficiente verificare l'esecuzione di tali


istruzioni mediante il confronto con il valore '00' del

codice di ritorno.

ESEMPI:

OPEN INPUT nome-file.


IF WTEST NOT = '00' GO TO ERR-OPEN.

WRITE nome-record FROH ••••


IF WTEST NOT = '00' GOTO ERR-WRITE.

CLOSE nome-file.
IF WTEST NOT = '00' GOTO ERR-CLOSE.

27.21
Proprietà ltals1el S.p.A . Le copie ong1nal1 sono contradd1st1nte dal retino stampato in rosso . Ne e vietata 1a riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


Le labels ERR-OPEN, ERR-WRITE, ERR-CLOSE, eco. sono
posizionate alla fine del programma (dopo lo STOP RUN).
Contengono un DISPLAY significativo del tipo di errore con
relativo codice di ritorno e un richiamo ad una particolare
routine che manda automaticamente in ABEND il programma.
Il formato di tale istruzione è:

CALL 'DBD200'.

ESEMPIO:
ERR-OPEN.
DISPLAY 'ERRORE DI APERTURA TEST a ' WTEST
CALL I DBD200 I .

10. Si scrivano le istruzioni per leggere sequenzialmente il


file VSAM KSDS di nome VSORD precedentemente definito.
Si controlli il valore del FILE STATUS dopo ogni
operazione di I-O e si evidenzi con apposite labels il
tipo di errore.

27.22

La cultura è un bene dell'umanità (fantomasping@libero.it)


... ALSI EL I
& lGRUPPO
I"'""'-
IAI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

- - --- .
IPAOu
I
HOUUtCt

J
ca111111.t.L
• I
;
oV
'
A
I
I
u .. 20 ,.
" l2 ,. . .. 41
" .. 10 I• .. "
~ o ' o

I
O; • IO

o
'j

..
1 10
~i-~-1~:
'. I i . i :
.·.
' O I
'
:o
I ,
I
I '
INP 1rr vso f D.
o;p~fl
IF l.lJ-TE ~T ~ DT E"Gùft L. I ~ ~I
I
' o o
' I
IGo K"o '\ B1 - ERR-0 P(!'I.
' ' o
. ' ..
' • 'o
. . ' .
f'EIÙ> vso lf<,l) I NTO w- v so ~ D.
..
I t • ' 0 i 1F IW-TE .. ~T E~V A-L I J.<t I
gi- rvvol ~.
.~

..
' • o
i I* •
lrOi . h°O
efJ4
, o o
. . .. . IF UJ-TE ST E ~vlH I I

' , o
. . .' ... f"f. Rf K) Rt1 Al- c1c1.b TH RU J {-c.1 C.1. ci- e.x.
I
, • o
.. i
I
' • o

H:L.-~f>.
' • o
'. ...
' , o l 1. O":: E V 50R.C
' • o
.. .. II F W·TE ~T rior E~VAL I~~
I
;
~ tro I
, • o I
S4:- E.R.~C. LOSE. • I
, • o
H~-F: 1t1.r ..
• o o STOP R.1Jt. •
·~ .. . .
. .
-
;
.. .. .. .. ..
SIOUIN CI

IPACH I llUllAL V A
••
o I
u ,. •o ., 10
"
I I 1 I Il 10
" " "
10~.2 o ' o
o • o
• • o
ft{· C: I l'.'. .LO .
. . " ~EAu vso R.D I l'tr O IUJ· VS ORD.
'" .. lF W-TE ST f~ 1 J AI. I ~~'
' , " IGo IP ~ ._e, I C LO-F 1Hl.
'. ,, II F µJ-TE ST ~ OT E. G.1JFH '©(;I
' • n ~o -ro B3- r ~R.!A lb.
• • o ;o tro A!· e tC.L.0
' " o
':' 1,. IA!.·CI c..t.o • f I t( IE.
I•
' • o
: .. . ,,
DISP LAY I il. IH.AB OltAZ. I OHE TE. V(H1H ATA lit

111-G I CL.O • E.X•


' .. EX1T.
. . ..
I 4 "
Pd.-ERRoP ErJ.
.. .
.. bi SP LAY I •• éRR.. () p Et/ 'f I l.E S,'T A'Tv S ""
I
v/· T ES.I'.
. ' r '
... ~20 CALL 'bB~ l.4>.P ' •
IHC
lcuo

27.23
Proprieta ltals1el S p A Le copie originali sono contradd1st1nte dal retino stampato in rosso Ne è vietata lil riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


llOUINCI

t " AGU IH•UAL


.
ou.
• .. . ,, ,. . .. .. ., .. ..
' J • • 1 •
" 10 14 •• •• "
o:, Io
W.3 ' I
I '
~: -:vu:o'To
I
I o: · 10 . I. . I •.

11 i ~l,~·
I ' .p 1,L~ '/
o • •o
I

I • ! •I•
' o o
I :

I
;
I •

I
· ·~- IL F IL[ vso R. D R1.5 1J LT~ EHP TY 'I<~ I

i : C.A.LL
'
' ' o '~ &.b Z.tf> 6 I '

' .. 1 o
i
I ft , 0

I ft Il
~3.- .E ~ e.Ef\ ().
> n o
:
' ' o r>.rsf lAY ·~ ER~ O~E LET TUfU . Vs DR.!:> CHI AV[ = I CHlfT V€.
' • o
I
DI Y LA'Y I~ FI LE 'r::>TAT lJS = I W-T E ~T .
>I e o
' • o
.. I !
Clù1... I .l: %bZ.f:> f I '
:
I
)

.0
I 0

' ' o
, ' . :o
I ~4:- :f.R:~G·i. o.S"E .
) ~ 8 o
,.
' • o
;
~I ,.S:f> L..A1 •• .t ~R. . C <. OS E f 1 L.E ~rr A-rv s I: Il .. '
"'"· T
f .ST ,
I • o o

~ '
:
C.A L L.
'
· ~ ~~i<t rt' .
-

27 . 24

La cultura è un bene dell'umanità (fantomasping@libero.it)


"T"ALSI
lGRUPPO
I """'
IRI FINSIEL
EL I FORMAZIONE
Strutture
per l 'evoluzione

LETTURA DI TIPO DIRETTO (O RANDOM)

E' richiesto un accesso diretto sul record avente come


chiave il valore impostato nel campo definito dalla clausola
RECORD KEY; nel periodo SELECT si deve specificare la
clausola:

ACCESS IS RANDOM

La lettura di un record avviene con le proposizioni:

-
NOeaAlllllAfHt
-o
OAU
...

. .,
.. . .. •• .

.: !....!~ . · -- ·--

- l

Si posiziona sul record dell'archivio "nome-file" con chiave


uguale al contenuto di "campo" e lo legge.

27.25

Proprieta ltalsiel S.p.A Le copie originali sono contraddistinte dal retino stampato in rosso Ne è vietata la r,produz1one

La cultura è un bene dell'umanità (fantomasping@libero.it)


11. Verificare la correttezza dei tre seguenti periodi nel
caso si voglia eseguire la lettura di tipo diretto.
I
o' '
. .o I
' ' . ! ..
A. O • IO
.. S(L:E,_I i---
GLIE: ti.T I • ~5~ IGtl TO C.LI iitrr I
o • o
I
oeG FtH I '2 AT10 ~ 1 '$ IND EX EO
l'I I ,O
' ' ' '
(lEc PR.D KE't 15 C.OC> ICé.
I () ' 0

B. ' . ' ' o


'•
SELE ~T RtM AS!SIGii TO FtHlt
' n OR.Gfl H I r_14 IT I ON JS IMDE IXE"ll
' • o
. ' ... . . '
f'tCCE ISs IS '2,AHC ol{
R..rc.o ~o k'EY l.S icoD
' • o
. . . . . I
..
1 ' O IO
.. . FILE STflt lrtJ.S I.S W-TE ~T.
' ' o ~ . . .. ' .
' • o fD PrM~
' • o
. t.:Ae;f L RE ~o·~o ·s1~ HCI}~ ri.
' I n
rP1 ANIH . . . PI c. X(5~ ) .
' o o f . .. . . :
pR.ocibuR' r
I

J . ' ·o PI Vl~I otL . '


]
'
.,,,'
. $.: ' ' '
;
! i
1. 6 !o
. '
.HOVE . ,~~ j .I . ro. I HTO
' '

ICOl).
w-·A~fl.
I
. ' ..
n f,Ef){) AN~ '
...
l • I
:
l.V-T E~T
'
• o Io lf
10
I
0 I )
I . ' .. ..
c.
I
I •:. I. t I '
~ELE k:T O1iE N: : :f ~IG tt
' ' '
To CI p~~

I!
': oI.
I I
lo I
I . . .. .. e R.GRN lf~T ION IS I ~DE.X ~[) ..
. •
#11CCE$ s R~HCOH
·~ '~ HA rr R-
oI ' '. o . . ' .
I
I o 0 0
. . . . '
~ f.c.OR o KEY
.
!
1;' o . . F IL[ 5Tffl µ~ 11$ w- TE~ •
• • o '
FD
'f ..
t ' . o DIPE ~
• • o LA& L Rt ~oRt: STf HO!tR ID •
, o o
~~ PIP.E tH .. ~le. LX( Ss2S ).
' ' o
, • o
I
·~ ..
' • •C "RoacLiR E l> I VI :=.t Oti.
' • o I
l n o Hov·t: ~~ 3 IO H~T~.
, ' o

l . "' ~EAD DI P t:H 1 HTO LV- t>IPEH ~rr tNO


, ,. ,, Ho \I E' Hi G+I- \i ALlJE TO U>- FIHl -FIL f.

Nessun periodo è corretto, infatti


A - manca ACCESS IS RANDOM
B - il campo COD non è definito nel periodo FD.
e - la lettura diretta non ammette la clausola AT END: il
campo MATR non è definito in FD.

27.26

La cultura è un bene dell'umanità (fantomasping@libero.it)


...-ALSI EL I
& 1GRUPPO
I"""
IRI FINSIEL
FORMAZIONE
Strulture
per I evoluzione

12. Scrivere un programma di nome STAMPA che legge il file


su nastro MATR e stampa sul tabulato RIGA la matricola e
le ore lavorate da ciascun dipendente che ha il
corrispondente record sul file VSAM KSDS di nome DIPEN.

I file hanno i seguenti tracciati record:

I FILLER I MATR I ORE LAV I


8 an 6 n 6 n

I MATR I FILLER
6 n 74 an

I FILLER I MATR I FILLER I ORE LAV I FILLER I


20 an 6 n 20 n 6 n 81 an

27.27
Propneta ltals1el S p A Le copie originali sono contraddistinte dal retino stampato 1n rosso Ne è vietata la r1produz1one

La cultura è un bene dell'umanità (fantomasping@libero.it)


.. .. "
.. 00 •• 1J

'..
•••
.' '
1 . o • I
I -~ · · - · --1
t ' , ·•
•+ - .-
''. '• - -~ -
I t t• •

t, • •

, • 011

I t i J ,e

1 14 • •
. - · -;
, 1•1•
~ ·; ~f.~~ I ,

:I- r .ì;;;
-
·--t -
i..
i;,
' .
.....

,,+..-.
I ' 411 I ' •

' . -Y
-.-.- • • ..J.. •• - 4 - -- 1-4.-...j_j.-4-.<"--+-1-~ I . ...1.

'
: 1~-~ I j -
._,, ....... _ --- -- ·-1-+-

' : ! .

ltQUUICt .,..

•••'-••
' ) •
........ u •

z
o
J •

'1 ,. o J• 4• ~' .. .. .. .. ..
! 1/ I j I

'I
I
' I
!
I
I
I
I
II ' II

' . I I Ì i

.;.L
: J, .i.;. : .
·1: .."T
, u, ..
'· ·'

I
,: , !..

I
I I. "
I' ' I ~·
'
..

f • V I

I • " " ~-J


; I I ; I I
;
I I

I .I l,
: I I
i i I I !
' I i' :i I I I I:I ; I ' I I

27.28

La cultura è un bene dell'umanità (fantomasping@libero.it)


l "'T"ALSI EL
I~
I ~OHMAZIONE
Strutture
;RUPPO IRI FINSI EL per l'evoluzione

llOUl•Cl

~f'AGl~ ~SUIA~ ~
.
~

1~ . .. ., .. •• .. ..
: : ti JO 24 21 U M .t0
"

' I:I I I I I I I ~ 1 I I I I ! J! . I I I I ' I I

I


f
' I1- rr
I
1
r'"-'-
,
I
1 1 , 1 1 '
1
-ITT1-r-+-i-n -t,-r-r-
I I -J- I 1
' I
i :
I
• -1
I ;
i
.I
, t,
: Il
1
! .,
. : i ' i I I !I I l!! :II ! I ' I
•• h•t~ .• .. _,.

.. •• . .
atOUINCl

(PAelJ 1aU1tAL 8• A .: ,,o


' , • • l •

tH- ~-h . ... I


. ! '
-; I ; . : . .I
i I ' , , •
I
' I > I

. -.tt. ~T~ . A.T: . ~~~


.-1"~ .tf.AT ~.... .
;ti:, ; . .H.t _H_- _'( A.1...11. . .~E :T.
. ,.
, o o
I
rù.~
: i
' ;Iv:,o t: !
·11
I '!
o ~

, , o I I •
1 r ·f-· ·~ : 1 I , ' il
, • o
I ' '
1.'1 °PE'ii '. ' ... ' ' I I '

·o:,.: E~~:~u.: ~~ 'fi__ ~


E.~.~:- .~~ •. ·-;- T~ j
' ' ...
' • o

oPi
. I .
L.
.. I
I
'
:
I J ! . r . i
, I i
·I i i
•• o Ì ; I I l ; I :

• o o I l't" I t ' I f 1- I I I I I f I

V i I ; j I
_, __, ' .. .
I Il f I ~I I"' t 1I
_.i l. .,' ...:
I I
J-1
I I 1·:-t;'- -i j_[_ t •
I

! 1
I ' ! i I

27.29
Propneta lta1s1el S p A Le copie originalt scino contraddistinte dal retino stampato 1n rosso Ne e vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
-- --
,......." -
. . . I I .. .
. I. . ..i ..'
HOUOtCl

1rAOlt
1
••
z
8
'
A :' \2
• .. IO •• Il ,. ., •• 11

;,;~ ·t ~· ti·~ ·~~.i,f


±t± ili ++ I

r Il '
I
i - j-t-
' ;I

m
I , I
-- !'
o , • Io I : ,__ LJ_ 1tr II ,_ITT
IT j1
I
j ! '..

• 1. 1.
I

~==j101~1 1r~ o4+W-JJ>1 f>:E.r(... liJ_


NI- MIA'fi~ I f1o H~ ij II rr. yt-:
1-' : •

,: I ,
I
I

I
I
1 I
I t •
i

t
I;- _J_ - , t r •

++-
wW'
O\ • I o
•I .J_J. -· -1·~.
I I
~-1- t . .. ' '
' • • I
I
• I '

.J_ I .
I I O I0
• I :1~ __J
l! ~~-fi~
I
L tH J.1
- I -9- r-1 r1 i- I I '
))i I
·t· .! : ! , I ' I
!
j • l I·
: '

ltl
t •
I I- • ' j
I ' I
i- ! l ·i _,_J_ !. ·T
lo I

-H
I 7 I ' •
t . I !I • I i l I J. ; !

; ~ ' -r--
I
I -1 I

'Il~' I : I
-ITIE
~~J. ~~--~l ..
' I '
Il(
L: V
fr ~: o.v'1~ iioj l
I 4 IO
. '
I
I ! ! :
,, ; it
1- - i i;sf ~~l~ ~
I I • ' . I .
lc.:e !l't' ~!~F ~: , : rie
•L ,{ 1 ~ 1: ! ! . '1 i '
~t rP~.
' e lo I ,O
i r r- -· I I '
I
. ' I . ' :. · ;: . I -
I ' j- r:o, I
~~
;
I I ! ' ..
, I : ' I

. 11: l _,_!
I
I ' .
' • o
I . . :I .-
. l ,, . n-
! : I I ' -i - I I t I
. ' I
I ' • I , .I '
• I '


'
' o o I
;J,J-i W:o.\
-+-. ,_,,
i I I
_.;.
- i ' ' - ' .-
I I I
-;- 1-.
' I ' I I , I
'
' : I
I . , I : •

t
I ' '
' ' ' I
-+r w-rr•f _ fQv
~~
: 1~ ~ 11,.: I
' , o
• I . l
iI-· -I
- 1 . _!_L: _ r~±
~__) : .
1
I I I
, .
I ' '
.. I
'
f : ' I I .

j~~
i
E~~~
I. ;i:;Ht 1 I .! ~~I I
..
I I

n~ r-d-
' • o I I j I '
. ' -+ - ·t·· j I . '

~,~ .it
I l ; 1 I

l r~
I I
I
~H
r-i ~ ~rl-11
7 I • I I I I I

I I
Q

rw ' I ~!A;"f!~ ·+-L" L _;


: I ' l l.. : I. 1- 1 : .J ~.
i . i 11
1•·l- I ! 1 I
' j ~
l Jf10jf lf '
) I I 10
I '
-~ Jg:.B •!P.; I ! I

w-___ ~
I . - l !I '
lq-~1 ~
il ! .:~U J-"-"- lT l ~1il-t r=~
~'- I~ 1l6iA-
e~ ~r:
N
J:IJ ~i:;
) •0 0

j ~ -l I
I

• I
1-"- . -f f

~
io T _, j I f

fl.~t
J 11
I '
~y-~ I I Tf~ . ~ ~ -1- I
J . 10
.. : ~furr iEr I :

...I- •i-J1. .
I
.. ! ! I
1-r- r- r 'f !' '
~ ._, -r
~ -1
:-1:
l t -~
I • I

. }
) • 'o
I • II I- 1·:-
'. T I 11 I _j j .,.,
•I I ' I
·1l , -
I

~1'
' t. :o
4 I O 10
I 1

' I
!
I
:-:
:
I
!
I -.-
I
.-W-..
I I
-l-W- -1-t-t- l
I I ' ' II :·I _J _[
I :
~

; ! '
I
I : ;
i
!

. .
. '
'
I

i .
o

'
I
i· 'j H' :· ..1I '' t
" I

i
t

I
:

' I
I

f I-
.
I
I
j 't
~t ~ ,_,...
H-1 r: i" -f --i' i- I
.......... t-•- +- ,_
I · 1 ... ~J. !
-·-. t-~-~
l+H- ,,- tft . 11 -:11
·-
~ I I
I I
-LI L
I

ii I
I
!

I
I I

I
.-.I L! 1I l' :i I !
I
I

; I
I I I
O I
I

••
I
'

i ti
o
I' :'

I
u v r lll()lol.A
I

l
ttOW•

.. .. ..
alOUINCl ..
z
t~•CJU CIHuu. 3 ... .• ,,
1 J 4 I 7 I : 12' M 20 24 JI J2 N .O ....
•• ••
o:" o ti .t.-~~.Ji. ;
.1 .; . I : '
'f'. ~1 · . ,:1·-•! -.-•-+-
1 : 1 J!I 111 I ' 1 i 1
I ,,,
·+ , __._r -.-+--- ___, ·- i I
! .' :
' I : !' '
' I
'
I

' I
o • o l I L I ' ' . I . I I o I ' I
. I ·-·.· -· I. -1--~. J •• • - + - ----1-. -
••• ' .
I ' '
I - · - · ·- • ; 1-
I ' :
I- I
-! I i. :
: J . ,~~J . lff\ h°:~. . I .r<'f'.o ; ~ ~"11~ !~~ ~~~ '. '. '. ~ ! :
o • o I
i
o • o
; ; , . : . '. . .t\.of.ft., . ~. \~.H- .~.A;I· ".~ : 1o. . 'l(-;f.f· ~~A:1 ~.~ :
I' i l '
I
' '
.
I
' o o : I ; : : I ' ' ; ' : ' ' ! ; ! ! i I '
i ' ' I ! ' l ' ' • ' ' ' ' ' I l ' ' ' • ' ' ' ' 1 ' ' ' '
1
' ' • '

I · ,. ; ! . :1'.f,: ~- .ffi- .tf.A.-r~ . : r(o~. ~V.A~ :: ~l :G:H· :~Al.~E: : I

·•• , , : . . . . G-.o. . -r.o. . ~ L :- ~ Z4... , . : . : .


• • o

• • o

.I . . , • • ' I
' i
. t· t : I i
'

' ' o . . .C.<.o.) E . .S ,-A tf P ~-• . : ; ! ' : '


'

' ..
• o ... c:~os'E.. ~1 . ~er- •. . . . ' . :
I i
'i i
,.
' • o : : : : 1:f : : ~- ·Tt~ .. r . ttoT -~VAL :'· .~.
:

I
• • • . . . . . . . ~: : rro: : rE.R:( ~'"~~~:. : : ' I .
0

f>;'j .
rf....
0 0

.. . . _
. -.. .... ·-;
I • O (. •

0

' __,
; ~. . . I I

ù) :tj : ~ : ; ' ; ..' : :


-h-l--
1
• . . : (•• ~· .
t .. JI :.r~». I
' ' ' i
' • o

• o o
I 1 • ' .

. ,... . . . ~I ·"-
sro~ .f\11" •. ,
i ; I
I t+f
' I
I
I 1-r H+ H-l- \: : I I ! : I

'I I ; I . I : ,
I
' '
I'
I '
'

: : . ' T :

27.30

La cultura è un bene dell'umanità (fantomasping@libero.it)


l....ALSI EL
I "'""
I FORMAZIONE
Strutture
GRUPPO IAI FINSIEL per l'evoluzione

HOUt•Ct i
tPAGl l H•tAL 8A !I

27.31

Propneta ltals1el S p.A Le copie originali sono contraddistinte dal retino stampato 1n rosso Ne e vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


LE'l"l'URA DI TIPO DINAMICO

Nel periodo SELECT bisogna specificare la clausola:

ACCESS IS DYNAMIC

che permette un'elaborazione sia di tipo dirello che di tipo


sequenziale .
Per la lettura è necessario distinguere l'istruzione READ in
due formati diversi a seconda che l'elaborazione sia diretta
o sequenziale.
Per accedere in maniera diretta ad un record si usa:

, ••
llOVINCl

IPAOll t SUUAL

zo
u.
l I
..
12 11 20 24 . S2 .. .. .. •• 12 . IO •• .. "
o I 1 0 i
I I I I I
I
: ' '
o I ... I
I Hp~·E e.A ~Po TD CH.1 AVE•
I '
o! o 6.
:
. ..
I

I
0 I I 0 fiEA:C HO HE:- F ILE \ HTP
i
' oo
;
[ IN VAL.I oKE y •• I IF /'IO HE>D ~To. •• J
, o
'
-

Per accedere in maniera sequenziale partendo dal 1° record


del file, si usa invece:

' • o
-
' • o

' .. (?.EAP NOii E- rl LE HE,)(1 IN To . ..


. ... ]
1 o n

' ' [ Al Et1 ~


' • o
- - - 1..- -

27.32

La cultura è un bene dell'umanità (fantomasping@libero.it)


.....
lGRUPPOALSI EL
I "'"'
FINSIEL I~
I FORMAZIONE
Strutture
per revoluZ1one

Nel corso di un'elaborazione si può anche ricorrere


all'utilizzo di una START seguita da una READ NEXT nel ceao
in cui occorra posizionarsi su un record specitico ed
elaborare poi sequenzialmente.
ESEMPI:
,,
'
' ;•Io
. o
'. ! • ; •I I : ' : ! ; '
• • I I !
j
I
t : I '
I
'
- -.----.-.--- -

: l 1o ' o !.: :,. ·. H<».v!E. .. ~MW~


. . .. ~b. c
.' . ~i I ~. v.é.•
I

..
'
l ' 1 IO
i ~ i. . i l ' • •

'
,
I : ~~b ·H.OH E.- r: I L'.E, . Pi,TC •••
J I 'O

J •• '
~o
' I I

. ' I
o' o
.
• •
' I
I

• I : I •
I : ~ ! .
' '
..
I
.' II .
! ' o I ' ' j i '. : .. '
I ' ' '

Si posiziona sul record dell'archivio NOME-FILE con chiave


uguale al valore di campo e lo legge.
Con un successivo comando di l.ettur'z

.. .. .. .. . .. ..
HQUUICI ~

lf"AQfl IHIUAl
l , • •
z
81 A• I
11 . 20 J2
" •• u

! : •j , 1· ! I t I
. I .
.
I I

' O • IO
I . R.EAC DR cùril . i·if q I tlTO W- Oflf)1 Hl
0 I I 10
.::. IAT .E~D •.• J
O I ,0

· - '-·o o-

legge il record successivo.

.- .
' ' o
' • o M~v:E (.~ HPo TO C.HI AVE.
• • o
• I O STiR T f*,.A
' o r [ I ti VAL I O . n:y • .. /IF FIL[ ISTA7 vs . •J
' ' r

' • r ~EAl:i : AH~ H.Q<T .. I~ ITO w-Rti A


I I O
t1Nli A~1D .KE) ••• .J
? I r
. ·-· ..

Si posiziona sul record dell'archivio ANA con chiave uguale


al valore di campo e lo legge.

27.33
Propnetà ltals1el S p.A Le copie ong1nal1 sono contradd1st1nte dal retino stampato 1n rosso Ne e vietata la nproduz1one

La cultura è un bene dell'umanità (fantomasping@libero.it)


I
Con un successivo comando di lettura:
., I ,.

: ~~~·I : ~~: ; ~E:~: !1~ V1 :I~ ~ i ; -- · ~TI ~-.-

1
• I ' t I ; I , I

' ~! lt
! i • • I : •

I. :
I I
II ..~ f f'i I). ~ . i
I
I ·, •

!
• '
I :
I
I : ;
I I
:
I
1
.
I I I . I • • • 1 : I • ,

'I. :.. i .
'
i! I
!
:
I . I
I
. . . . I :
I
! I:: ; I •
1. ' . I , , I t I

legge il record successivo


Come si può notare gli esempi l) e 2) si equivalgono, quindi
l'utilizzo della START nel caso 2) è superfluo.

3 ) MOVE campo TO CHIAVE-1 (parte di sinistra del campo


chiave definito nella clausola
RECORD KEY}

--
.:'I" I' I
I I
"' i" •"'
'ii
i i il Ii ;
I I

I
I
' ·i+
" l • ' ..
: I I l I,
. I .
I , !

Si posiziona, all'interno dell'archivio ORDINI, sul record


con prima parte di chiave uguale a ~ampo (o sul primo record
di una famiglia di chiavi uguale a campo).

Con l'istruzione:

:i ·1·:·I 11,.. ,,1 I' !' ·I ~I ~·1 1


: ! '. ;~ . : I:
. I~j r-;-;·-~.
" ' -Jm:r-
:jEri
, I . " ' ' I I ' '
i IP ·~1 ; I tr,:ì l 'l•~ ~ :: -,o!~ '1'1•1 : . . ; . . ' : ... .
, . ' ! I 1' . i I i eI ' t : I~i ~ ·:J1
1· I 'I

I I I ' i . , ,I I, II : : i . . . . : . .
I I
Il! • ••
TI ·1--r-- ---· " I .


I
I
I

I
I
I
I

I .. "' I I • I I I • t t J I ' I I •

legge il primo record con parte di chiave uguale a campo.

27.34

La cultura è un bene dell'umanità (fantomasping@libero.it)


"T"ALSIEL
lGRUPPO
I """'
I FORMAZIONE
Strutture
IRI FINSIEL per l'evoluzione

Con un successivo comando di lettura:

. -- -·- --
..
' • o ..
' o o R,EAb 012.blN I HEXT INTK> u; - OR.D I Hl
' ' o
'' . 'o
.. r AT E~(J ••• )
'

legge il record che segue (indipendentemente dalla chiave).

Nota Bene:

- Il formato di lettura READ NEXT è obbligatorio quando il


posizionamento avviene con l'istruzione STAH'r (altrimenti
il comando di lettura da' codice di ritorno "2J", non
trovato).

- La clausola AT END (per lettura di tipo sequenziale READ


NEXT) e la clausola INVALID KEY (per lettura di tipo
diretto) non sono obbligatorie, in quanto i relativi
controlli possono essere, più utilmente, gestiti con
l'analisi del file status.

27.35
Proprietà ltals1el S p A Le copie originali sono contradd1st1nte dal retino stampato in rosso Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


13. Scrivere un programma di nome RIEPIL che legge dal file
di input PREN (VSAM KSDS) e stampa, se esistono, le
prenotazioni aeree con la data odierna sul tabulalo TAB.
Si acqu i sisca la data da consolle.

CHIAVE
I DATA I COD.VOLO I N.PAS. I FILLER I PREN
6 n 5 an 3 n 20 an

IFILLER I COD.VOLO I FILLER I N.PASS I FILLER I ~AB

10 an 5 n 10 an 3 n 105 an

. ;
SEOUINCl

,
l f'AOll ISUllAL u •

~15.1 o ' o
I 7 I
o
.,
' I

, . . E1E<: T
•• 10 ,. ,. ,, ,. •o .. •• ., .. IO •• .. ,,
o • o
; I
IDfl-lTI F I :'.:A/i k;>H C IVI~ I OH
o • o
..
.. s·1<1 P3>
o • o PR,Q'.; RAH - 1D. R.1 ti> IL.
' o o EJEc T
' ' o EH V I rlo NH Off DI VI $1 0"1 .
... f
• • o

• • o
$1(\ p ~
I tl F>UT - o\J TP\JT src T ION.
I L[-lON /R,OL .
:" f\ o SEL( K:T r et.rl AS ISIG ~ To PR. Eti
.. : o OR. k;Attl 'lATI Orl I":::. I f'fOEX ED
i • o
Ac. ~ESs I~ C>y NftHI I'-
> • n R,E toR.b 1-<E'T f R. [H-JI. El
:" • o f I LE STfH VS IS ()} - Co ~~IT.
'
., .
.. .SE LE ~T TAB fi s SIGN To uT -~-T A&.

..
• • o

'

) .. • • o
'

~
.. ..

27.36

La cultura è un bene dell'umanità (fantomasping@libero.it)


.....
lGRUPPO"LSI EL
• ....,...
IRI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzione

... -- - -
. •. ...E."S,, [(. -.. .. .. .. .. ..
ltOUlHCl

, ,
tPAQ(I CSUUAl
•'
.. . o
20 ,. 21 ,, ,. •o 12 10
"
'(/_'Il o"I I. o I : :
oI' o
I
~ATft
I i
t>' I ;\i 1~10 rL
'
01 a ,o I S 1(1 'P ~ : '.
: '

I
O I 'O
f 1LE 5EF T I ·o·tt •
' o o I

FD HlE:rt
'
'
'
.. ' o
l-ABt l R.f coRfl ·srA HDM.D·•..
i '
1 16 o ri.J P'/ltrf ~. '

' • o ~3 : PRJJJ -1<[~


I ' o o ~5 : f f.EN "-~.Et -.PftT Ft DI c.. ~(6).
1I 1
'0 I
~. PRtH ~.K. Eì' -lOD VoL· P1c ><(S).
~3' II f.1 LL E.'R.
;
' • o f' I c. x(l3)
' • o
'
3 I0 0
.. ~D. TAB
.LASEL ·R.f K:D ~.o ,~fil N()M< ~.
:

' 'o ~· T~B~ DI(.. ><(1 ~ 3).


, • o
:
3 6 I0
!
3:, 1o
:
'
I
I
I
: ..
' ' I
• o o

..j•
I

I I
: :
' I I ! : : i :
I I I
i I
-

- - -

. .•' .. .. .. .. .. ..
HQUUICI

, ,
fPAQt:I (IUllAL ...o ,,• .. 20 ,. 21 ,, ,. •o 12 •o
"
~:, 0 I 7 10

Ii ..
l)oR,k, :N6:- STO(< flGE.
' '

SE Ci 10"4.

u.
0:' 0
' .
I

o • o
.
9(6 ) .
' ' .
• • o
.. uJ- Dft TA PIL
w-co 1>211 Pie. xx.
... 151
' o o
' )
W-TA B.
'
' ' ' ~~ ' flLL [(G PI c. x(1,) Vii ~Vf SPftC t .
' • o W-TA S-c:o DJOL Pie. X(5).
' • o
' '
f}3 . F1 L L €/?. P1c. X (i"') vii LU[ ~Pile [.
W-TPi S-t-IP A.~ . Pie tl9.

... t.~.:
' o •
.
'

l '' '. f I LL t:R. Pie )C(--(_el 5) VflLU(. ~PII Cé.


' ~1 UJ-PR EH .
' ... ' ~3 W-PR 'f:rf-D ftr~ Ptc 9( 6) .
P1 e xr 5).
' . . ~3 LII- p~ ftf·(. o t>l/o ~
' .. ~3 w·PR Elf-N N~S D1c ~~9.
.
l 1 I•
03. i::t LL E~ pI C. X(-!,' )
' • n

·} ' .• .C"
,
• o •
.. ..
' .
I
j. . . .
. .
. . .. .. .
. ...
'

!
'

. .
.
'
.
.. .
'

' . ' . ' .


. .

27.37
Propnela 11als1el S p A Le copie ong1nah sono contraddistinte dal retino stampato in rosso. Ne è vietata la r'produz1one

La cultura è un bene dell'umanità (fantomasping@libero.it)


1
llOUI NCl

lf•AO t:I CIUUAL


J 4 6
~
z
8
1
A
I
..
' 12
" 20 .. 21 32 . .. •• .. . •• •• .. 11

I I
! ' '
I :
! '
'

I 3,. t0
I l t a lo

. I .j. l·
I I • ' I ! : 6P. : TO f~- ~E'AC> . I

:
'I: I
1 OPEN
i I I

olirPuT
1 I ~
1
I !

TA·s .'
I I .
1
,
(

: :
: .

''
. I


.
' '

. .. .. . .. . ..
HOUOICt ~
z
l..AOtl tlttUAL
1 J 4 •
8A
1 I

12 20
•• IO 14
" 32

m..icc •"I• '' I


1 .:--
M'.1 +:· HL:-~3~ •.
o • o
1
n o o H:o'V'E i.Jj- P~f..H -r:::oo:v-o (, ID CJ/-T ftB-c OD V o'-.
' .o o HovE UJ- PR-E.f{ -f'IPAS To w-T fl8-N f>AS.
' , o
' • o WR.1Tf: TAa~ FR.oH w-TAB
• • o . RFT~~ ftDVANC.ING .g /...tl"ES •
' • o

, o o R.EAO PflEJi ~ttT IN To W-Pe :t-1 •


, ' o
' • o

' • o
UJ-DA'Tlt
.. Atfl>

I > • o C.LDSE TRB. .


>. o IF LU<o ~11 NOT fGVAL I~~· ANO
, . , Cl
NOT EBV AL 'o~'
.)
• o o ~o rro· ERI<- REA() •
, . 420
~e
460

27.38

La cultura è un bene dell'umanità (fantomasping@libero.it)


...1\.LSIEL I Strutture
& 1 I """'
GRUPPO IRI FINSIEL
FORMAZIONE
per l'evoluzoone

... .·I·•• .. .. .. . . ..
&IOUU•CI
,,. .,, kH•IAl •
• I
:.
." .. IO .. lJ .. M 00 Il
"
W,6 --+ . --
I I
~~~1- - >- --Il -]-i'J;- .I i Il

Ii+-dbs"'" =i+ ffl: ff- _r: -Bi: ·t ili- -~


l t -

°f'~i-i· I
-~
LL
I

~~f ~{h liE:~ A, r-:- I i,_+- l


I o I __j_ ----1- ~i-
I I l
. _, j) - s~ i~~~ :~
I -
P:~~ ~~-'[~ ~Ì j l?t\ I ·11H
I I

Tw~
1 ~~·· f- _)._
•!o t1P~t:1 _
tj J ~ rr - ff IJf 1-; i-
01
'. I ·- - 'I 'I 1- ' I '
. . .o:' o
I

l. '~ ! : l :II iI•


I '
r'~-! 17-1
, J I
- +:
I I I
-
~-_;6~; !. _ TU. I I
...J
I I 1
_,

01
l I I

·~~
1'8f- ~~r i fil $
.. I 1 0

-1 !· J
.i
l· I
..! j j I
jI
I I
Il
I
j
• I • I I
I 4 10
I j ~ I I I' -i '. ~ '. I .I I .' .I ,

t
I
1
0 =
~1:~- ·i I

+-H- -1 I-i
i I 11 ;
I ' i :I I ·t ·i J I
~+I
I I
I '
• I
' I I ' •
-e.o I) ~ cf;t- oI I I
i t I I
-'-! - ~ -1-1 I
I 1I 0 I
I I:
.. l: -
~i+
I I

wPT
.1
! ~ __j
: I
- Ti -
! 'I i

~ Tit
·i·r ~

(,~~ ~~of
• -

. .o O'

_µ~
~ , I Il
~ ~. ;
m
I I

Y
. ..-++
ff
, I ; I
I -t -

·t ~E-=
, ., o lil'- 'F I ttfEi. I I
f
.
' .,
I . ;I:
... : ·:-1rr1 gefoi p rt 1--l-t- +h I •
I '
i
I

.. : I I ' '
~o~ _q_ ·ii I I ' ' I J..'

i.
' I I
! il+
, : . : I -1
-il
' • to •
-1- I I
1! •
.'
o
: '. i ~I I :

l
I J r JII -i-1:I II q.I :I iI I'
J
I I
I I :
I . :
i

..'
• I •
,
I
'
'
I I

!I '
I

1 II
.. 0
: , .. : ! I
~R.-of'E1H
11-
I ·i I
j'
1 Ì
·1 I
I

11T ·11' j
'i i
I: j I i- .
I i I ! ' ;_!
I ' f
Ii I' !' 1
. ' '
• '
I '
1

I
I
I; :
I .f-: Ii i i.~
' ' ' I ; I

I !I ! •
' o.o ' '
I ..
Ii II
~~ :W
I I I
l
'
, .o
I
I . I .
I ! • I -11 .:
I . I
I II I ·! i 1 ' ;.,...
.I I
. I I
I I r I I
I I ' I I

I
i!L',..f·:r- ~w ti5 :=
I
: i : 't)1 ~p t;A'(- . ,,. i.ti I : .
5e;1to
.b &-~~ ~t
' ':it:...' ARE' Jcop RJ I ··' I .

.-.1_1~ ~~:J~ r~~


J' <Il o
: I : . ' !"
I1+ 1r Lì 1· - . -1- i' I -
::' . ~1 -t~ r1 - 1-
JJ I -~ jJ
I I ' • I ' I 1
J;I lo 1 I r
I I
-- ~ . ..t.
f1
-- 1' I ' ,
. I , :
't ·~
' 1

.. J 11
. ., I
<Il 0 10
!o
iI
I
lì -1~Ft
I ~
-' - ~ l- -1
_ , _ _ !--
- -f '-! .L~-1- ' I : ' I it' I
f- - f- -
I I
I
I
: I

. I i, .I ' I l.Ll 11; I I ' r,


I I
I
.. · >- -- - - -- - - -- ,_,_ . . - - I- Il I r
; ~ :I
I I I:I : I I
I:

i i ! ; _ Li
++I- -

- - - - ·- - - --
,_

- --~ - - -~
,_._ - 1~ - · -~ -lj -I I
I i r 1 Il I
: I
! I!! ·1 I
I :
'
i .

... ...

HQUl•CI .:

1P4011 IHIMAl
I J 4 t
! A
J I eo ... " 11
o: , o t I I I I i I '
~ -+-~ •-t-i I I ~ '
O • IO I I I • J I

•-t-·t- - •' . I ; _,..J


o'. o
l1 ! '. , , . , • I
o • o : ,. -<9p ~l;T!.:
.i i ; ' !I ' ' I
I I ·
I I

! : : I I I . . . • I :

! I .. ; • I '
' : r
' • o
, o o
- f .1 i+
:
ij_CfW
~i.I) ' . w·-

C> IT •
PR EN- EY.• .
, ' o
--+-1
. : '
L; .. .
: ! ' : :
, • o : I '
I ' I '
: ; I
i i : . I ' .
' • o i I : i ;' ' .
: i 1: :
..
I t • : ' 1 ••

' : '
: ; l ; ' I I
' ' I 1 ' ' ' I ·-· : ~ '. ' I :

1, ,,
. . . PI ~p '-.l ff. --~
.... ... '
1' .
• •
I

I
.
:
s.u f'R.6 - .f 1.l f.
. . _,,_ - ·-t .... . - · ...
' '
' .
STAI '

!
I '
!>... . ·•· . .:Co6fi1T
. . . . ., . ..
, I ' . • ' I'

' I'
•• o
.:: ~ .! !
: ; I .;
I Ò I l I ! .
'
!
.. ' : I I •

.I 'f , I ' I I I : ! . .'


! ~ .
. · 1·'

I! ! j·-1
''i
• I
I
I
J''j
I '.; • .1 -hl-T _,..1 ,
~
r-i-: 1 • '!
I .
- f. -il
'
Tl : I I I I • I I j I Il '
--t · t
' I ' : l

27.39
Proprreta lta1s1el S p A .. Le copie orrginah sono contradd1strnte dal retino stampato 1n rosso. Ne è vietata la rrproduzrone

La cultura è un bene dell'umanità (fantomasping@libero.it)


Per quanto riguarda le istruzioni di lettura si distinguono
i seguenti casi:

LETTURA SEQUENZIALE

HOUlNCI

tPACIU ISUUAt,.
.
~

8 A
. ,,
1 J • • 1 •
•• ••
'.;
!
--
I
I
I
, : '
I I' I'
I
'

I
I lI I !i ! ;I I
I I
' .
I I
.-E>t
' . ~
I 1 ,0

I • j0

, •' io
i
:
; l 'I .
. ' I
: ; ;
'
I
I I I
, o 10 I 'j !
I
, ,~ I o
t I
I i :
i I I '
I I i I : ! I
i' i !
l
, ! • ;o
: 1: lo 1
I ,- l
I
'
' : I I l
' : ; 1 I
' I ' ' i l
ì I : : I
) o,o
' : I
I
' '
! '' I I
I
'
I
'
' :
I ! I i I I
> • o ; i
J;'' !o
. I t
1 ;
: ; :
I
'
;

'
'
• I Oj O
I j
I I '

'
• i ;·
t ••
, : :
r' i i
-1-l
I I
-1-+-l
I I I
.: L '~
I I :
I

L: L
I I
.~I
: i
'.
i
I;
i
..
I
I

i
i
l-~ -1.
' I
I ~ I

I I I I I I
I
-+-l- t- -~-- ..,
I I
L.i.:
II ' I I
1
'
I
I
I :1
I
:
, I • ! , '. "j
I. : I t i I I : : ·1 '. i . : : j I 1- !
I
• •·j
I
tI II II
..
I
I • I t •
I
I• . . . .,.., .. . ._.

LETTURE RANDOM

HOUlltCI

,.......
' .........• u.• io
1 ..• .. . .. . . u . .. .. "
!I
o .. ; I
I
i
II ~ ..
.Et\;
;
I i
' I
I
!
;
' !
I

I :
jt I' •I
' I '
·r r 1 l :
I
I
I

;
:
o •• o

. j
j
' I '
j '
I
' 1-'
!- t ; ·1 ' 1-,-1
l' r-
I 1 '
-, I I 1 I

o o :
:
! :
1-.1 t-
i-
I
lf.
t
l.:
,.. -
! I l ! !
:
I

' 1

' o o
:
l t .' 1)~
I
I :
I I
_,,
'
' I
.-1 -
..
I~ .;..' .
'
o
'
.
' ! t
I I

. .•
o o I
·I
i I I
; l !' : '
' !
; I
I l
I
L
l
I

1 . : '
:
1 L I 1

27.40

La cultura è un bene dell'umanità (fantomasping@libero.it)


.... ALSIEL I
& lGR:J~PO FORMAZIONE
I """' Strutture
IRI FINSIEL per 1·evoluzoone

Per quanto riguarda l'istruzione START i test da effettuare

sono i seguenti:

i , I I
II : I, o
I

'
I
'
I ' ; l
I I I '
l 1I ~ I . Ilil
' 1• 10
I '
.. -1-;:-t- i ~ -',-:
' '. IIo • ~
1-;-; ; -i 1·:
-t
, ' . !o
I
Ii j Il -•
-1 I I

l-i !
I
J I 0

I,
i

i
0
j !- 1 1; ! j !
l • i I i

27.41
Propneta ltals1el S p A. Le copie ong1nal1 sono contradd1st1nte dal retino stampato 1n rosso Ne e vietata la r·produz one

La cultura è un bene dell'umanità (fantomasping@libero.it)


CRP: CONCETTO E FUNZIONE

E' utile, a questo punto, definire il concetto di CURRENT


RECORD POINTER (CRP).
Il puntatore al record corrente (CRP) è un indicatore
virtuale che assume un particolare valore solo dopo ogni
esecuzione di una istruzione OPEN, START e READ1 il valore
del CRP non viene invece modificato dalle istruzioni WRITE,
REWRITE (aggiornamento) e CLOSE.
Ha significato solo per le elaborazioni di tipo sequenziale,
non per le elaborazioni random, nè per le operazioni di
output. Indica infatti che il record successivo a quello
trattato con le istruzioni sopra indicate sarà interessato
da una richiesta di tipo sequenziale.
In generale , l'ultima richiesta che causa un posizionamento
del CRP (OPEN, START e READ) deve essere andata a buon fine
affinché anche la successiva operazione sequenziale possa
essere esegui ta. Per questo motivo si consiglia di testare
il valore del FILE STATUS dopo ogni operazione di I-O.
Per chiarire meglio il comportamento del CRP si illustrano,
di seguito, alcune situazioni che si possono verificare in
un programma quando non si utilizzano i test sul valore del
FILE STATUS .

27.42

La cultura è un bene dell'umanità (fantomasping@libero.it)


...ALSIEL
lGRUPPO
I"""'
IAI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzione

ESEMPI:
1) ACCESS IS DYNAMIC (in questo tipo di accesso il
trattamento avviene in modo sequenziale
con l'istruzione READ NEXT oppure in
modo random con l'istruzione READ)

OPEN I-O
MOVE 10 TO CHIAVE
READ (lettura random del record 10)
MOVE 40 TO CHIAVE
WRITE (scrittura del record 40)
READ NEXT (lettura sequenziale del record 11)

L'istruzione READ NEXT avrà come risultato la lettura del


record con chiave 11 solo se la precedente istruzione di
lettura è andata a buon fine.
In caso contrario, alla richiesta READ NEXT il valore del
file status sarà "94" (No Current Record Pointer).
Ciò avviene indipendentemente dall'esito dell'istruzione
WRITE, in quanto questa istruzione, come si è detto, non
modifica il posizionamento del CRP.

27.43
Propneta 1tals1el spA Le copie onginal1 sono contraddistinte dal retino stampato 1n rosso . Ne è vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


2) (file con chiave massima = 40)

ACCESS IS DYNAMIC
OPEN INPUT (all'atto dell'apertura il CRP punta al
record con chiave minore all'interno
del file)
MOVE 5 TO CHIAVE
READ (lettura del record 5, il
CRP punta al record 6)
READ NEXT (lettura sequenziale del record 6, il
CRP punta al record 7)
MOVE 44 TO CHIAVE
START (non esiste record con chiave 44)
READ NEXT (errore, no CRP)

L'ultima istruzione READ NEXT non ha buon esito in quanto


nel data set non esiste un record con chiave 44.

27.44

La cultura è un bene dell'umanità (fantomasping@libero.it)


l ..."'LSI EL
I~
GRUPPO IRI FINSIEL
I FORMAZIONE
Strutture
per l'evoluzione

3) ACCESS IS SEQUENTIAL

OPEN INPUT (all'atto dell'apertura il CRP punta al


record con chiave minore all'interno
del file)
MOVE 7 TO CHIAVE
START (il CRP punta al record 7)
READ (lettura del record 7; 11 CRP punta al
record 8)
MOVE 5 TO CHIAVE
START (il CRP punta al record 5)
READ (lettura del record 5; il CRP punta al
record 6)
READ (lettura del . record 6; il CRP punta al
record 7)

Da notare che il CRP può essere mosso in maniera casuale


tramite l'uso del comando START, ma da quel punto in poi le
letture avvengono in modo sequenziale. Se nell'esempio il
posizionamento (START) al record 5 non fosse avvenuto per
incapacità di reperire il record, le successive richieste di
lettura sarebbero fallite per la mancanza del CRP.

27.45
Propneta ltals1el S p.A Le copie ong1nah sono contraddistinte dal retino stampato 1n rosso Ne è vietata la r1produz1one

La cultura è un bene dell'umanità (fantomasping@libero.it)


4) ACCESS DYNAMIC
OPEN INPUT (all'atto dell'apertura il CRP punta al
record con chiave minore all'interno
del file).
MOVE 10 TO CHIAVE
READ NEXT (legge il record con chiave minore).

Come si vede dall'esempio l'istruzione READ NEXT (lettura


sequenziale ) esegue la lettura del record su cui punta il
CRP, e l'istruzione MOVE non ne modifica il contenuto.
L'istruzione READ NEXT deve inoltre essere preceduta da
un'istruzione che causa il posizionamento del CRP quali la
OPEN, START , READ o READ NEXT.

27.46

La cultura è un bene dell'umanità (fantomasping@libero.it)


..."'LSIEL I
& lGRUPPO
I"""'
IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

AGGIORNAMEN'l'O

Per realizzare un'operazione di aggiornamento il file deve


essere aperto in I-O:

, • o

' • o
, o o
nom -fi.I
l ' n

' • o l OHE: ]
, • o

' e n
• • o
C.L,P f ~'~-e

altrimenti l'operazione non viene eseguita (valore del FILE


STATUS = 92)
L'aggiornamento può essere realizzato con uno qualunque dei
tipi di accesso visti: tuttavia .è generalmente usata la
clausola ACCESS IS DYNAMIC, in modo tale da gestire i
records sia in modo diretto che sequenziale.
Per aggiornare un record già presente si utilizza
l'istruzione REWRITE nel seguente formato:

'
SlQU INCt

f PAQ(I l l U1114l
'. I
;
ou .
1 I

" " 10 ,.
"
,, ,. .. .. .. " .. 10 .. .. "
...
n 1 O

tu"~ lTG° t\OTI' e-ffe. iGOt'd H oH •••


...
n ' o

'" (• [ l HVn LIC Ktt ... I IF fil E S1 ATU~ .. . J

Con accesso di tipo sequenziale (ACCESS IS SEQUENTIAL} è


necessario leggere prima il record da aggiornare e
l'aggiornamento ha luogo solo se la lettura ha avuto esito
positivo (se l'esito è negativo il valore del FILE STATUS è
92).

27.47
Proprietà 11a1s1e1 s p.A Le copie originali sono contradd1st1nte dal retino stampato 1n rosso Ne è vietata la rirroduz1one

La cultura è un bene dell'umanità (fantomasping@libero.it)


Con l'accesso di tipo diretto o dinamico (ACCESS IS

RANDOM/DYNAMIC) la lettura del record da aggiornare non è


necessaria, ma è comunque consigliata. In ogni caso è
necessario posizionarsi sul record da aggiornare muovendo

nel campo definito nella clausola RECORD KEY il valore della


chiave del record in questione.

Il valore del CRP non viene modificato dalla REWRITE, per

cui se in un programma sono eseguite successivamente le


istruzioni:

READ

REWRITE

READ NEXT

il CRP viene incrementato solo dalle istruzioni READ e READ


NEXT.

ESEMPI

..
' • n

" A 15
' o o ~
' ' r Of>Etf Il
'; 4 o
I
' ' " HOVt bi PEN- KE'/.
. • r
STA
." "
' > r
...
R.EA
...
coH W- DI fl-F[ R1 · -GO twTC •
• o "

zo
40 f ~T
(O

27.48

La cultura è un bene dell'umanità (fantomasping@libero.it)


..."LSI EL
lGRUPPO I~
I FORMAZIONE
Strutture
IRI FINSIEL per l'evoluzione

Si posiziona sul record dell'archivio DIPEN con chiave


uguale al contenuto di W-MATR, lo legge, esegue il calcolo
dei giorni di ferie disponibili, quindi aggiorna il record
del dipendente con matricola uguale a W-MATR.

. .' . .. .. . . ..
llOUlNCl ~
z

I ,
l'AGU ISUllAl

o· 7 •O
ou •
.,,•
ç
. 20 ,.
"
,. 40
•• ., IO 11

I
o!';.o I
! ACL& 55 IS 0'/HFI HIC
0' 6 I 0
!
OII O
I

i
oPn Il o V ~ :~r: .
' o o ~
• ' o HovE w- ~Ot>- A~T TO vso R.b- ~ E'/.
.
1
I ' 0

' 16' o HDl/E w- QTA


w- PRl
I
roTo W-V ~oR.f) -Q.TA •.
UJ-V '50~0 - P(U
' 1 9 ·~ KOVE -·
R.E.W,R ITE VSC> R,[)~' FRlJH LU- V5o~ ().
' o o

' ' o
I
., ' 'o
.
:
IF ~-TE ~r;
.
rt~T EQLJ ~L ·~~' .. .

14. Per aggiornare un file VSAM KSDS, questo deve essere


aperto in
A - OUTPUT
B - I-O.

B.

15. Per aggiornare un record quale proposizione bisogna


usare?
A - REWRITE ••• INVALID KEY
B - WRITE ••• INVALID KEY

A.

27.49
Proprietà ltals1el S p.A Le copie orig1nah sono contradd1st1nte dal retino stampato 1n rosso Ne e vietata la riproduzione

La cultura è un bene dell'umanità (fantomasping@libero.it)


INSERIMENTO

Per effettuare un inserimento il file deve essere aperto in


I-O
OPEN I-O nome-file

La open OUTPUT non è infatti consentita quando il data set è


già stato creato e contiene dei record.
Il tipo di accesso può essere uno qualunque di quelli
esaminati (SEQUENZIALE, DIRETTO, DINAMICO).
La scrittura del record viene poi effettuata tramite la
consueta istruzione WRITE:

WRITE nome record (FROM ••• )


[INVALID KEY ••• / IF nome-dato ••• ]

Con accesso di tipo sequenziale (ACCESS IS SEQUENTIAL) i


record devono essere selezionati in ordine ascendente sul
campo chiave definito nella clausola RECORD KEY.

Con accesso di tipo diretto o dinamico (ACCESS IS RANDOM /


DYNAMIC) si deve fornire la chiave di ogni record da
inserire. E' compito del sistema inserire il record al posto
giusto all'interno del data set.

27.50

La cultura è un bene dell'umanità (fantomasping@libero.it)


"T'ALSIEL I
& lGRUPPO
I """
IRI FINSIEL
FORMAZIONE
Strutture
per l'evoluzione

ESEMPIO:

'
llOUIMCI

lPAOU t N.,AL
J • •

s
e
1
A
1
:8
·u ,.. . . ' I
.. ..
~
"
I
I
I .
I
I

. '
! I
I I

- 1 !I : '
_j

' '.

'
I
.. '

I• • t '

i I !
> • o t i I

) • 'o II
11:
I I
!
I

I

'
' I' '

> • o
.'
• o o ~ j I lJ 'I "• I .

'i i i i' iII


I
II : I '

I
I l !' 11; i! I
'
'
'

16. Quale dei seguenti periodi è corretto?

.. .. ..
i
.. .. ..
UOVU1Cl

IPAQ ll 18UlllAL U
1 J • • 1
o A


tJ .. 10 ,, •• " •• "
• ' o
i .
A. o .. . o I
!. .1.P o
• •• o

o •• o
!i ; : I '

.
I
'
,H •.

• • 0 ·o·PEH ·r/o '61f>rl'i."


·· · :1f u?-TE ~ . ol [riJ;ti.: : 1 ~tJ. 1 : .: •••
, ' o .\ . . .
' • o ti.O.V.E. o
' .. -l> I f>tr{.
.'
, '1
'
i
..
1 I •
' • o
. ·-+ 1 ·' _ ,

27.51
Propr1eta ltals1el S p.A Le copie ori91nah sono contradd1s11nte dal retino stampato in rosso. Ne e vietata la riproduzione
La cultura è un bene dell'umanità (fantomasping@libero.it)
" " ~ «
" "
I I '- ' !I I
B. I 'I I i
I
;
! I :
' ' .' l
·~+
i
I.' i
:
I I
I
O 0 I : I
'' : I
'
; :
' o o
! l

'
' o
...' I . '
: ! I

' !
ti • IO I
I
t ' I I 0
: I

I ' ' I : :
>Io !o iI '
I
1
I ; I
:
; ' 1>00t : ' '
'
I
: : I I
;
' : • 10 !
: I I
> 1• io
I
' '
I : I
I
r I I 1 1

'T
J.
1
i
oio
0
I
I
! ; '
I I I
' I
,I"•
t
>, • I O ' '
' : : i : I
r
l
I
•o :

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Nessun periodo è corretto, infatti:


A - manca la clausola RECORD KEY e non è fornita chiave del
record da inserire.
B - manca la clausola ORGANIZATION IS INDEXED e il !ile è
aperto in OUTPUT.

27.52

La cultura è un bene dell'umanità (fantomasping@libero.it)


....1\.LSI EL
1G'lUPPO
I """
I FORMAZIONE
Strutture
IAI FINSIEL per l'evoluzoone

CANCELLAZIONE

Per realizzare un'operazione di cancellazione il file deve


essere aperto in I-O:
OPEN I-0 nome-file
· (elaborazione)
CLOSE nome-file

altrimenti l'operazione non viene eseguita.


L'operazione di cancellazione non è altro che un tipo
particolare di aggiornamento quindi vale quanto è stato
detto a propos'ito dell'operazione di aggiornamento.

In particolare può essere realizzata. con uno qualunque degli


accessi visti e anche in questo ca.so è consigliabile usare
l'accesso dinamico (ACCESS IS DYNAMIC).

Per cancellare un record da un data set KSDS si utilizza


l'istruzione DELETE nel seguente formatoz

DEL ETE nome-file


[INVALID KEY ••• / IF nome-dato ••• ]

L'istruzione DELETE permette di cancellarè .logicamente un


record del file.
Una volta cancellato il record non è più accessibile, nè
durante l'elaborazione, nè in seguito, anche se il rec.o rd
esiste ancora fisicamente nel file.

27.53
Proproeta 1tals1el S p A Le copie origina.i sono contraddistinte dal retino stampato in rosso Ne e vietata la norocJuz one

La cultura è un bene dell'umanità (fantomasping@libero.it)


ESEMPI :

aaout•Ct ~

IPA. . t NMA&. 8 A : a

IPAOU INRIAl
' • •
z
3
1 •
A
..,
: . •• •• .. .. ".

~:) I I
•• :' 1. • :I I
t
:
t
·~ .• I,
: ' I I I . I I' I I t • I ~
o .. 10 I ,
'I .. ; ..
I • t~ p1 P.- H. , I
o • o
I,~ :IIj '• II •
'
I
I
o • o I j f I i ;
I '
I

I ' ,. j : I • I ;
I o I

' • o I '

'' II •' I.I I I' ,.,


• , o
•I •I • ·1t
~ ,
' I I
I ~
I I I

rf(;OC,e:J>iv E; DI VI ~, I OH. , ' . I :


I ' ! I
i
t·1
I
f
I

!_! '
. ''
'
' • o ' : I i' :'
' :o!>EM r.IJ ~1r " -.
I ! I
I ' '
' o o ! : I

, , o . 1.f UJ-_TE T ,O'r E~ù A.L. . 1 ~~


I • . •

'
I ' :
'
' ' '
I . '
l. 'T'C!) ~i.- ER.R.o P.E.N.• .:·
,.
'! I
.. _,
,.
__, -
r t

' • o
, • 'o
, o o
; :Hpy:- , I
.. I l
·-
I
l.I ;I • ...I
I
,1
l • :.: - 1-·l·~ 1-,. ·- r~
, , o
1 l- .i. 1-: ; I I ;
, • o ..
· · ., I, i' ·, ·, I i !

' • o ,l .,. ' I ;f Ì :i · 1 i 1· •

, • o
f ••
i i i ' ' I 1- 11' I I
I rr~- · 1: ·1
• o o

I .I
I
Ir
' I
I :
1 I
;i I
4 I : I II I t
I I
·f I
I ' l
I 11' 1
'
'
' . I ; I I

27.54

La cultura è un bene dell'umanità (fantomasping@libero.it)


GRAFICA E STAMPA ITALSIEL

La cultura è un bene dell'umanità (fantomasping@libero.it)

Potrebbero piacerti anche