GOTO
| Per a altres significats, vegeu «Gotō». |
| Tipus | construcció del llenguatge, funció de programari i paraula clau |
|---|---|
| Més informació | |
| Stack Exchange | Etiqueta |
|
| |
GOTO o GO TO (anar a en anglès) és una sentència o instrucció molt comuna en els llenguatges de programació amb l'objectiu de controlar el flux del programa. L'efecte de la seva versió més simple és transferir sense condicions l'execució del programa a l'etiqueta o número de línia especificada. És una de les operacions més primitives per a traspassar el control d'una part del programa a una altra; tal és així que molts compiladors tradueixen algunes sentències de control com GOTO.[1]
El teorema del programa estructurat va demostrar que l'ordre goto no és necessària per escriure programes que es puguin expressar com a diagrames de flux; alguna combinació de les tres construccions de programació de seqüència, selecció/elecció i repetició/iteració és suficient per a qualsevol càlcul que pugui realitzar una màquina de Turing, amb l'advertència que pot ser necessari introduir la duplicació de codi i variables addicionals.[2]
Antecedents, the Wheeler Jump
[modifica]The Wheeler Jump va ser el precursor del goto, desenvolupat per David Wheeler per EDSAC.[3]
Ús
[modifica]goto label
La instrucció goto sovint es combina amb la instrucció if per causar una transferència condicional de control.
IF condition THEN goto label
Els llenguatges de programació imposen restriccions diferents respecte a la destinació d'un extracte goto. Per exemple, el llenguatge de programació C no permet saltar a una etiqueta continguda en una altra funció,[4] però els salts d'una sola cadena de trucades són possibles utilitzant les funcions setjmp / longjmp.
Referències
[modifica]- ↑ David Anthony Watt; William Findlay Programming language design concepts. John Wiley & Sons, 2004, p. 228. ISBN 978-0-470-85320-7.
- ↑ Watt i Findlay, 2004.
- ↑ «David J. Wheeler • IEEE Computer Society».
- ↑ Kernighan i Ritchie, 1988, p. 224, A9.6 Jump Statements.