24.01.2014 Views

Parte ii - IIS Marconi Latina - Area didattica

Parte ii - IIS Marconi Latina - Area didattica

Parte ii - IIS Marconi Latina - Area didattica

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Manuale COBOL 929<br />

Compilando il programma con TinyCOBOL, l’avvio dell’eseguibile che si ottiene genera il<br />

risultato seguente:<br />

|SOURCE VALUE IS: +123456.789<br />

|PICTURE: S9(10)V9(5) VALUE: 0000123456,78900 DATA: 00001234567890{<br />

|PICTURE: +Z(9)9.9(5) VALUE: + 1.23456 DATA: + 1.23456<br />

|PICTURE: CR+Z(7)9.9(5) VALUE: CR+ 1.23456 DATA: CR+ 1.23456<br />

|PICTURE: +Z(7)9.9(5)DB VALUE: + 1.23456DB DATA: + 1.23456DB<br />

|PICTURE: *(9)9.9(5)+ VALUE: *********1.23456+ DATA: *********1.23456+<br />

|PICTURE: +*(9)9.9(4)E VALUE: +********12.3456E DATA: +********12.3456E<br />

|PICTURE: +*(9)9,9(4)E VALUE: +****123456,7890E DATA: +****123456,7890E<br />

|PICTURE: -(10)9,9(4)E VALUE: 123456,7890E DATA: 123456,7890E<br />

|PICTURE: +(10)9,9(4)E VALUE: +123456,7890E DATA: +123456,7890E<br />

Questa volta si può osservare che nel modello è il punto che perde il suo significato, apparendo<br />

nel risultato soltanto nella posizione prevista, allineando le cifre numeriche originali alla<br />

destra.<br />

82.10 Note sull’utilizzo dell’insieme di caratteri universale<br />

con il COBOL<br />

Lo standard COBOL del 1985 prevede sostanzialmente che si possano gestire informazioni<br />

alfanumeriche composte di simboli rappresentabili in byte, appartenenti pertanto al codice<br />

ASCII o EBCDIC. Con l’introduzione dell’insieme di caratteri universale, si pone il problema<br />

di gestire codifiche di tipo diverso, ben più grandi del solito byte. Purtroppo, però, le soluzioni<br />

adottate non sono semplici e lineari come nel passato.<br />

«<br />

82.10.1 Stringhe letterali<br />

Le stringhe letterali che devono contenere simboli al di fuori del codice ASCII o EBCDIC,<br />

devono essere delimitate in modo differente. Generalmente sono disponibili due forme:<br />

«<br />

|<br />

|N"stringa_letterale"<br />

|<br />

|<br />

|NX"stringa_esadecimale"<br />

|<br />

La prima forma riguarda una stringa letterale composta secondo la forma codificata del carattere<br />

prevista dal compilatore (UTF-8, UTF-16 o altro); la seconda, ammesso che sia disponibile,<br />

viene espressa attraverso cifre esadecimali. Si osservi, però, che per poter esprimere una stringa<br />

del genere in forma esadecimale, occorre sapere in che modo il compilatore la interpreta,<br />

dato che dipende dalla forma codificata del carattere adottata.

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

Saved successfully!

Ooh no, something went wrong!