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

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.

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

Saved successfully!

Ooh no, something went wrong!