Parte ii - IIS Marconi Latina - Area didattica
Parte ii - IIS Marconi Latina - Area didattica
Parte ii - IIS Marconi Latina - Area didattica
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Manuale COBOL 947<br />
Si osservi che un programma COBOL scritto in modo ordinato non dovrebbe avere bisogno di<br />
questa istruzione.<br />
|000000 PERFORM UNO THRU TRE.<br />
|000000 ...<br />
|000000 UNO.<br />
|000000 ...<br />
|000000 DUE.<br />
|000000 ...<br />
|000000 IF ...<br />
|000000 THEN<br />
|000000 GO TO TRE.<br />
|000000 ...<br />
|000000 TRE.<br />
|000000 EXIT.<br />
|000000 QUATTRO.<br />
|000000 ...<br />
L’esempio appena mostrato serve a dare un’idea del significato dell’istruzione ‘EXIT’: la chiamata<br />
iniziale con l’istruzione ‘PERFORM’ richiede l’esecuzione sequenziale dei paragrafi da<br />
‘UNO’ a ‘TRE’, ma nel paragrafo ‘DUE’ si verifica una condizione e al suo avverarsi si esegue<br />
un salto (‘GO TO’) al paragrafo ‘TRE’, che conclude comunque la chiamata principale.<br />
Come già accennato, dal momento che l’uso dell’istruzione ‘EXIT’ implica l’utilizzo di ‘GO<br />
TO’, che notoriamente complica la comprensibilità di un programma in modo eccessivo,<br />
entrambe queste istruzioni sono da evitare accuratamente.<br />
82.12.9 Istruzione «GO TO»<br />
L’istruzione ‘GO TO’ consente di saltare all’inizio di un paragrafo specificato, senza ritorno.<br />
Sono previsti due modi di utilizzo:<br />
«<br />
Oppure:<br />
Nel primo caso, l’esecuzione dell’istruzione passa il controllo al paragrafo indicato; nel secondo,<br />
viene scelto il paragrafo a cui passare il controllo in base al valore indicato dopo la parola<br />
‘DEPENDING’. Il valore in questione deve essere un numero intero, rappresentato attraverso<br />
una variabile (altrimenti non ci sarebbe motivo di usarlo), dove il valore uno rappresenta il primo<br />
paragrafo nominato dopo le parole ‘GO TO’ e il valore n rappresenta il paragrafo n-esimo<br />
dello stesso elenco.<br />
L’utilizzo dell’istruzione ‘GO TO’ complica la lettura di un programma sorgente CO-<br />
BOL e, secondo il parere di molti, andrebbe abolita. Si veda a questo proposito: Edsger<br />
W. Dijkstra, Go To Statement Considered Harmful, 1968, 〈http://www.acm.org/classics/<br />
oct95/ 〉, 〈http://www.kbs.uni-hannover.de/Lehre/SWTG/goto.pdf 〉, 〈http://www.cs.utsa.edu/~wagner/CS3723/<br />
nogoto/harm2.html 〉 e altri indirizzi.