Please enable JavaScript.
Coggle requires JavaScript to display documents.
4.7. LA SENTENCIA ir-a (goto) - Coggle Diagram
4.7. LA SENTENCIA ir-a (goto)
Aunque la instrucción ir_a (goto) la tienen todos los lenguajes de programación en su juego de instrucciones,
existen algunos que dependen más de ellas que otros, como BASIC y FORTRAN. En general, no existe ninguna
necesidad de utilizar instrucciones ir_a. Cualquier algoritmo o programa que se escriba con instrucciones ir_a se
puede reescribir para hacer lo mismo y no incluir ninguna instrucción ir_a. Un programa que utiliza muchas ins-
trucciones ir_a es más difícil de leer que un programa bien escrito que utiliza pocas o ninguna instrucción ir_a.
La sentencia ir-a (goto) o sentencia de invocación directa transfiere el control del programa a una posición
especificada por el programador. En consecuencia, interfiere con la ejecución secuencial de un programa. La senten-
cia ir-a tiene una historia muy controvertida y a la que se ha hecho merecedora por las malas prácticas de enseñan-
za que ha producido.
En muy pocas situaciones las instrucciones ir_a son útiles; tal vez, las únicas razonables son diferentes tipos de
situaciones de salida de bucles. Cuando un error u otra condición de terminación se encuentra, una instrucción ir_a
puede ser utilizada para saltar directamente al final de un bucle, subprograma o un procedimiento completo.
Las bifurcaciones o saltos producidos por una instrucción ir_a deben realizarse a instrucciones que estén nume-
radas o posean una etiqueta que sirva de punto de referencia para el salto. Por ejemplo, un programa puede ser dise-
ñado para terminar con una detección de un error.
El flujo de control de un algoritmo es siempre secuencial, excepto cuando las estructuras de control estudiadas ante-
riormente realizan transferencias de control no secuenciales.
La programación estructurada permite realizar programas fáciles y legibles utilizando las tres estructuras ya co-
nocidas: secuenciales, selectivas y repetitivas. Sin embargo, en ocasiones es necesario realizar bifurcaciones incon-
dicionales; para ello se recurre a la instrucción ir_a (goto). Esta instrucción siempre ha sido problemática y pres-
tigiosos informáticos, como Dijkstra, han tachado la instrucción goto como nefasta y perjudicial para los
programadores y recomiendan no utilizarla en sus algoritmos y programas.
Por ello, la mayoría de los lenguajes de
programación, desde el mítico Pascal —padre de la programación estructurada— pasando por los lenguajes más uti-
lizados en los últimos años y en la actualidad como C, C++, Java o C#, huyen de esta instrucción y prácticamente
no la utilizan nunca, aunque eso sí, mantienen en su juego de sentencias esta “dañina” sentencia por si en situaciones
excepcionales es necesario recurrir a ella.