Parte ii - IIS Marconi Latina - Area didattica
Parte ii - IIS Marconi Latina - Area didattica
Parte ii - IIS Marconi Latina - Area didattica
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.