Parte ii - IIS Marconi Latina - Area didattica
Parte ii - IIS Marconi Latina - Area didattica Parte ii - IIS Marconi Latina - Area didattica
952 volume V Programmazione adiacenti che iniziano a partire dalla prima apparizione della lettera «I»; le lettere «B» adiacenti e iniziali, che si trovano prima di quella stessa lettera «I». Compilando l’esempio e avviando il programma eseguibile che si ottiene, si dovrebbe vedere il risultato seguente: |CONTATORI: 05 04 00 Il secondo schema sintattico mostra l’uso di ‘INSPECT’ per rimpiazzare delle sottostringhe. L’interpretazione dello schema è simile a quella del conteggio, con la differenza che si aggiunge la parola chiave ‘BY’, che ha alla sinistra la sottostringa da rimpiazzare e alla destra il suo nuovo valore. Quando si usa la parola ‘CHARACTERS’, si intende rimpiazzare tutta la stringa (o tutta la porzione prima o dopo un certo riferimento), con qualcosa con un carattere; le parole ‘ALL’ e ‘LEADING’ funzionano sostanzialmente come nel conteggio, riferendosi a tutte le sottostringhe di un certo tipo o a tutte le sottostringhe iniziali e adiacenti, dello stesso tipo. In questo schema, si aggiunge la parola ‘FIRST’, che identifica solo una prima corrispondenza, non ripetuta. |Listato 82.186. Programma che scandisce una stringa e sostituisce alcuni suoi contenuti. Il programma sfrutta un’estensione al linguaggio standard, che permette di eseguire più sostituzioni in una sola istruzione ‘INSPECT’. |000100 IDENTIFICATION DIVISION. |000200 PROGRAM-ID. TEST-INSPECT-REPLACING. |000300 AUTHOR. DANIELE GIACOMINI. |000400 INSTALLATION. NANOLINUX IV, |000500 OPENCOBOL 0.31, |000600 DATE-WRITTEN. 2005-03-15. |000700* |000800 ENVIRONMENT DIVISION. |000900* |001000 DATA DIVISION. |001100* |001200 WORKING-STORAGE SECTION. |001300 77 STRINGA-DI-CARATTERI PIC X(30). |001400* |001500 PROCEDURE DIVISION. |001600*------------------------- LIVELLO 0 ----------------------------- |001700 MAIN. |001800 MOVE "AAAAAABBBBBBCCCCCCDDDDDDEEEEEE" |001900 TO STRINGA-DI-CARATTERI. |002000 INSPECT STRINGA-DI-CARATTERI REPLACING
Manuale COBOL 953 |002100 CHARACTERS BY "X" AFTER INITIAL "DDD", |002200 LEADING "BB" BY "YZ" AFTER INITIAL "AAAAAA", |002300 FIRST "C" BY "W", |002400 ALL "C" BY "P". |002500 DISPLAY STRINGA-DI-CARATTERI. |002600 STOP RUN. L’esempio appena mostrato sfrutta un’estensione al linguaggio tradizionale, in modo da ottenere più sostituzioni con una sola passata. L’esempio fatto in questo modo permette di capire cosa succede in queste situazioni particolari. Compilando l’esempio e avviando il programma eseguibile che si ottiene, si dovrebbe vedere il risultato seguente che rappresenta soltanto il contenuto finale della variabile elaborata: |AAAAAAYZYZYZWPPPPPDDDXXXXXXXXX 82.12.12 Istruzione «MOVE» L’istruzione ‘MOVE’ copia o assegna un valore in una o più variabili di destinazione. Sono disponibili due modi di usare questa istruzione: « Oppure: Nel primo caso, ciò che appare dopo la parola chiave ‘MOVE’ può essere il nome di una variabile, oppure una costante. Il valore contenuto nella variabile o rappresentato dalla costante, viene copiato in tutte le variabili indicate dopo la parola ‘TO’, rispettando eventualmente le regole di modifica stabilite dai modelli di definizione delle variabili. Nel secondo caso, avendo aggiunto la parola ‘CORRESPONDING’ (o soltanto ‘CORR’), si copia il contenuto di una variabile strutturata in una o più variabili strutturate, abbinando però i campi aventi lo stesso nome. In pratica, con il secondo schema si vogliono copiare i campi della prima variabile strutturata che hanno gli stessi nomi di quelli contenuti nella seconda variabile strutturata. Diversamente, per una copia di una variabile strutturata in altre variabili, mantenendo inalterata la struttura originale dei dati, si usa il primo schema sintattico.
- Page 55 and 56: Manuale COBOL 901 |P: ABCDEFGHIJ |Q
- Page 57 and 58: Manuale COBOL 903 82.6.5 Opzione «
- Page 59 and 60: Manuale COBOL 905 82.6.10 Opzione
- Page 61 and 62: Manuale COBOL 907 82.7.2 Riferiment
- Page 63 and 64: Manuale COBOL 909 |000100 IDENTIFIC
- Page 65 and 66: Manuale COBOL 911 |001500 03 COGNOM
- Page 67 and 68: Manuale COBOL 913 |000700* |000800
- Page 69 and 70: Manuale COBOL 915 La parola chiave
- Page 71 and 72: Manuale COBOL 917 82.8.3 Qualificaz
- Page 73 and 74: Manuale COBOL 919 82.9 Modello di d
- Page 75 and 76: Manuale COBOL 921 viene assegnato l
- Page 77 and 78: Manuale COBOL 923 |002600 " DATA: "
- Page 79 and 80: Manuale COBOL 925 |SOURCE VALUE IS
- Page 81 and 82: Manuale COBOL 927 |004900 DISPLAY "
- Page 83 and 84: Manuale COBOL 929 Compilando il pro
- Page 85 and 86: Manuale COBOL 931 Il primo gruppo d
- Page 87 and 88: Manuale COBOL 933 |004500 DISPLAY R
- Page 89 and 90: Manuale COBOL 935 82.11.5 Espressio
- Page 91 and 92: Manuale COBOL 937 82.11.6.2 Condizi
- Page 93 and 94: Manuale COBOL 939 Avverbio Descrizi
- Page 95 and 96: Manuale COBOL 941 |000300 AUTHOR. D
- Page 97 and 98: Manuale COBOL 943 Nel caso si utili
- Page 99 and 100: Manuale COBOL 945 L’esempio mostr
- Page 101 and 102: Manuale COBOL 947 Si osservi che un
- Page 103 and 104: Manuale COBOL 949 82.12.11 Istruzio
- Page 105: Manuale COBOL 951 Compilando l’es
- Page 109 and 110: Manuale COBOL 955 della prima varia
- Page 111 and 112: Manuale COBOL 957 un’operazione d
- Page 113 and 114: Manuale COBOL 959 Nelle sezioni suc
- Page 115 and 116: Manuale COBOL 961 Aggiungendo allo
- Page 117 and 118: Manuale COBOL 963 ‘FROM’, l’i
- Page 119 and 120: Manuale COBOL 965 |Figura 82.210. D
- Page 121 and 122: Manuale COBOL 967 Organizzazione a
- Page 123 and 124: Manuale COBOL 969 |Listato 82.217.
- Page 125 and 126: Manuale COBOL 971 |Listato 82.221.
- Page 127 and 128: Manuale COBOL 973 La condizione di
- Page 129 and 130: Manuale COBOL 975 |000400 INSTALLAT
- Page 131 and 132: Manuale COBOL 977 |000400 INSTALLAT
- Page 133 and 134: Manuale COBOL 979 Nel primo schema
- Page 135 and 136: Manuale COBOL 981 |Listato 82.233.
- Page 137 and 138: Manuale COBOL 983 L’esempio succe
- Page 139 and 140: Manuale COBOL 985 (10-1-2-3). In qu
- Page 141 and 142: Manuale COBOL 987 L’utilizzo dell
- Page 143 and 144: Manuale COBOL 989 |003900* |004000
- Page 145 and 146: Manuale COBOL 991 82.13.3 Gestire i
- Page 147 and 148: Manuale COBOL 993 |002700 |002800 W
- Page 149 and 150: Manuale COBOL 995 |004800 DISPLAY "
- Page 151 and 152: TXT HTM PDF pdf P1 P2 P3 P4 997 Pro
- Page 153 and 154: Programmare in COBOL 999 |Figura 83
- Page 155 and 156: Programmare in COBOL 1001 Si osserv
952 volume V Programmazione<br />
adiacenti che iniziano a partire dalla prima apparizione della lettera «I»; le lettere «B» adiacenti<br />
e iniziali, che si trovano prima di quella stessa lettera «I».<br />
Compilando l’esempio e avviando il programma eseguibile che si ottiene, si dovrebbe vedere<br />
il risultato seguente:<br />
|CONTATORI: 05 04 00<br />
Il secondo schema sintattico mostra l’uso di ‘INSPECT’ per rimpiazzare delle sottostringhe.<br />
L’interpretazione dello schema è simile a quella del conteggio, con la differenza che si aggiunge<br />
la parola chiave ‘BY’, che ha alla sinistra la sottostringa da rimpiazzare e alla destra il suo<br />
nuovo valore. Quando si usa la parola ‘CHARACTERS’, si intende rimpiazzare tutta la stringa<br />
(o tutta la porzione prima o dopo un certo riferimento), con qualcosa con un carattere; le parole<br />
‘ALL’ e ‘LEADING’ funzionano sostanzialmente come nel conteggio, riferendosi a tutte le<br />
sottostringhe di un certo tipo o a tutte le sottostringhe iniziali e adiacenti, dello stesso tipo. In<br />
questo schema, si aggiunge la parola ‘FIRST’, che identifica solo una prima corrispondenza,<br />
non ripetuta.<br />
|Listato 82.186. Programma che scandisce una stringa e sostituisce alcuni suoi contenuti.<br />
Il programma sfrutta un’estensione al linguaggio standard, che permette di eseguire più<br />
sostituzioni in una sola istruzione ‘INSPECT’.<br />
|000100 IDENTIFICATION DIVISION.<br />
|000200 PROGRAM-ID. TEST-INSPECT-REPLACING.<br />
|000300 AUTHOR. DANIELE GIACOMINI.<br />
|000400 INSTALLATION. NANOLINUX IV,<br />
|000500 OPENCOBOL 0.31,<br />
|000600 DATE-WRITTEN. 2005-03-15.<br />
|000700*<br />
|000800 ENVIRONMENT DIVISION.<br />
|000900*<br />
|001000 DATA DIVISION.<br />
|001100*<br />
|001200 WORKING-STORAGE SECTION.<br />
|001300 77 STRINGA-DI-CARATTERI PIC X(30).<br />
|001400*<br />
|001500 PROCEDURE DIVISION.<br />
|001600*------------------------- LIVELLO 0 -----------------------------<br />
|001700 MAIN.<br />
|001800 MOVE "AAAAAABBBBBBCCCCCCDDDDDDEEEEEE"<br />
|001900 TO STRINGA-DI-CARATTERI.<br />
|002000 INSPECT STRINGA-DI-CARATTERI REPLACING