Parte ii - IIS Marconi Latina - Area didattica

Parte ii - IIS Marconi Latina - Area didattica Parte ii - IIS Marconi Latina - Area didattica

iismarconi.net
from iismarconi.net More from this publisher
24.01.2014 Views

902 volume V Programmazione Volendo assegnare a una variabile strutturata un tipo diverso da ‘DISPLAY’, si otterrebbe solamente di assegnare questa caratteristica ai livelli inferiori, perché una variabile strutturata, ammesso che la si voglia utilizzare direttamente, nel suo complesso, può funzionare soltanto come ‘DISPLAY’. Come conseguenza, una variabile strutturata può essere formata soltanto da un numero intero di byte. Quando si dichiarano su uno stesso livello variabili numeriche organizzate secondo il formato ‘COMPUTATIONAL’, queste utilizzano regolarmente lo spazio loro assegnato, condividendo eventualmente i byte che dovessero trovarsi a cavallo tra una e l’altra; tuttavia, nell’ambito della variabile composta che contiene questi livelli, i dati devono occupare una quantità di byte intera, pertanto si può perdere eventualmente un po’ di spazio alla fine. |Figura 82.75. Confronto fra due variabili strutturate. La figura dovrebbe essere sufficiente per capire come viene utilizzata la memoria per la rappresentazione delle variabili ‘COMPUTATIONAL’. Si può osservare che la variabile strutturata ‘A’ ha soltanto uno spreco di una cifra ‘COMPUTATIONAL’, ovvero 4 bit, mentre la variabile ‘B’, avendo un’organizzazione differente nella sua struttura sottostante, spreca più spazio. Molti compilatori COBOL considerano anche il tipo numerico ‘COMPUTATIONAL-3’, o ‘COMP-3’. Si tratta di una variante del tipo ‘COMPUTATIONAL’, con l’indicazione del segno o dell’assenza del segno, nel gruppo di 4 bit meno significativo (quello più a destra). La maggior parte dei manuali COBOL sottolinea il fatto che per eseguire delle elaborazioni numeriche (dei calcoli matematici di qualunque tipo) è bene che le variabili utilizzate siano di tipo ‘COMPUTATIONAL’, perché se le variabili sono ti tipo ‘DISPLAY’, prima di poter essere utilizzate devono essere convertite.

Manuale COBOL 903 82.6.5 Opzione «SIGN» Quando si dichiarano variabili numeriche che prevedono l’indicazione del segno, è possibile stabilire in che modo e in quale posizione deve trovarsi, con l’opzione ‘SIGN’: « Le variabili numeriche di tipo ‘DISPLAY’, in condizioni normali, incorporano il segno nel byte più significativo. Quando si vuole richiedere che il segno occupi un byte tutto per sé, è necessario usare la parola chiave ‘SEPARATE’. Per le variabili di tipo ‘COMPUTATIONAL’ il segno occupa sempre uno spazio separato rispetto a quello delle cifre numeriche. Se si utilizza la parola chiave ‘LEADING’, il segno viene collocato a sinistra (e di norma questo è il comportamento predefinito); se invece si usa la parola chiave ‘TRAILING’, il segno viene collocato nella posizione più a destra. 82.6.6 Opzione «OCCURS» La parola chiave ‘OCCURS’ introduce un gruppo di informazioni che consentono di indicare che la variabile a cui fanno riferimento viene ripetuta secondo certe modalità. Attraverso questo meccanismo si creano quelle che per il COBOL sono delle tabelle. « La variabile ricorrente di una tabella può ripetersi per un numero fisso di elementi (integer-2), oppure per un numero variabile, nell’ambito di un intervallo stabilito (da integer-1 a integer-2), sotto il controllo di un’altra variabile (data-name-3). Se l’insieme degli elementi della tabella dichiarata con l’opzione ‘OCCURS’ è ordinato in base a una chiave, questa può essere specificata (index-name-1); inoltre, l’indice per accedere agli elementi può essere dichiarato contestualmente già in questa fase (index-name-1). Per maggiori dettagli, si veda la sezione 82.7, dedicata solo alle tabelle del COBOL.

902 volume V Programmazione<br />

Volendo assegnare a una variabile strutturata un tipo diverso da ‘DISPLAY’, si otterrebbe<br />

solamente di assegnare questa caratteristica ai livelli inferiori, perché una variabile strutturata,<br />

ammesso che la si voglia utilizzare direttamente, nel suo complesso, può funzionare<br />

soltanto come ‘DISPLAY’. Come conseguenza, una variabile strutturata può essere formata<br />

soltanto da un numero intero di byte.<br />

Quando si dichiarano su uno stesso livello variabili numeriche organizzate secondo il formato<br />

‘COMPUTATIONAL’, queste utilizzano regolarmente lo spazio loro assegnato, condividendo<br />

eventualmente i byte che dovessero trovarsi a cavallo tra una e l’altra; tuttavia, nell’ambito<br />

della variabile composta che contiene questi livelli, i dati devono occupare una quantità di byte<br />

intera, pertanto si può perdere eventualmente un po’ di spazio alla fine.<br />

|Figura 82.75. Confronto fra due variabili strutturate.<br />

La figura dovrebbe essere sufficiente per capire come viene utilizzata la memoria per la rappresentazione<br />

delle variabili ‘COMPUTATIONAL’. Si può osservare che la variabile strutturata<br />

‘A’ ha soltanto uno spreco di una cifra ‘COMPUTATIONAL’, ovvero 4 bit, mentre la variabile ‘B’,<br />

avendo un’organizzazione differente nella sua struttura sottostante, spreca più spazio.<br />

Molti compilatori COBOL considerano anche il tipo numerico ‘COMPUTATIONAL-3’, o<br />

‘COMP-3’. Si tratta di una variante del tipo ‘COMPUTATIONAL’, con l’indicazione del segno<br />

o dell’assenza del segno, nel gruppo di 4 bit meno significativo (quello più a destra).<br />

La maggior parte dei manuali COBOL sottolinea il fatto che per eseguire delle elaborazioni<br />

numeriche (dei calcoli matematici di qualunque tipo) è bene che le variabili utilizzate siano<br />

di tipo ‘COMPUTATIONAL’, perché se le variabili sono ti tipo ‘DISPLAY’, prima di poter essere<br />

utilizzate devono essere convertite.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!