programacion-control-flujo

Qué es el control de flujo de ejecución

Hasta ahora habíamos dicho que un programa es una secuencia de sentencias (o acciones) que se ejecutan linealmente desde principio hasta el final.

Bueno… en realidad eso no es del todo cierto. Sí es cierto que nuestro programa va a convertirse en una serie de instrucciones, puestas en serie una detrás de otra.

programacion-flujo-control

Pila de instrucciones

Al ejecutarse, en algún sitio, el ordenador guardará registrado cual es la instrucción actual. Esta “flecha” que indica la instrucción a ejecutar, irá cambiando para recorrer todo el programa.

Sin embargo, si el punto de ejecución solo pudiera avanzar de uno en uno hacia adelante, no podríamos hacer más que una secuencia de acciones predeterminada (podríamos hacer “cálculos gordos” pero poco más).

Para que esto sea interesante el punto de ejecución puede cambiar en cualquier momento a cualquier otro punto del programa (es decir, puede puede saltar varias instrucciones hacía delante, e incluso hacía detrás).

A esto es a lo que llamamos flujo de ejecución programa. A las instrucciones y herramientas que tenemos para gestionar y cambiar el programa, las llamamos estructuras de control del flujo.

Las estructuras de control de flujo son las instrucciones que permiten que un programa tome decisiones y realice diferentes acciones según las condiciones dadas, y son una de las partes más importantes de la programación.

Tipos de estructuras de control de flujo

Hay varios tipos de estructuras de control de flujo, incluyendo:

  • Estructuras de salto: permiten al programador transferir el control de flujo a una ubicación diferente en el programa. La estructura de salto más común es el GO-TO.
  • Estructuras condicionales: permiten al programa tomar decisiones basadas en una condición. Las estructuras condicionales más comunes son IF, IF-ELSE, IF-ELSEIF SWITCH y el operador ternario.
  • Estructuras de bucle: permiten al programa repetir una secuencia de instrucciones varias veces. Las estructuras de bucle más comunes son WHILE, DO-WHILE, FOR, FOREACH.
  • Estructuras de gestión de errores: permiten al programa responder a errores o excepciones. El más común es TRY-CATCH.

No todas ellas están igual de “bien vistas”. En particular, veremos que GO-TO es algo que no deberíamos usar, y TRY-CATCH daría para debate. Pero como el objetivo del curso es hablar de la programación y su evolución, me parece importante incluir todas.