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
)