¿Qué son las estructuras de control?
Las estructuras de control nos permiten controlar el flujo
del programa: tomar decisiones, realizar acciones repetitivas etc, dependiendo
de unas condiciones que nosotros mismos establezcamos. Así podemos hacer un
script que nos salude cada día de la semana de una manera diferente. O por
ejemplo hacer un script que nos pida la contraseña una y otra vez hasta que
suministremos la opción correcta.
Con las estructuras de control se puede:
- De acuerdo con una condición, ejecutar un grupo u otro de sentencias (If-Then-Else)
- De acuerdo con el valor de una variable, ejecutar un grupo u otro de sentencias (Select-Case)
- Ejecutar un grupo de sentencias mientras se cumpla una condición (Do-While)
- Ejecutar un grupo de sentencias hasta que se cumpla una condición (Do-Until)
- Ejecutar un grupo de sentencias un número determinado de veces (For-Next)
Todas las estructuras de control tienen un único punto de
entrada. Las estructuras de control se pueden clasificar en: secuenciales,
iterativas y de control avanzadas. Esta es una de las cosas que permiten que la
programación se rija por los principios de la programación estructurada.
Los lenguajes de programación modernos tienen estructuras de
control similares. Básicamente lo que varía entre las estructuras de control de
los diferentes lenguajes es su sintaxis; cada lenguaje tiene una sintaxis
propia para expresar la estructura.
Las instrucciones de un programa se ejecutan en forma
secuencial, comenzando por la primera instrucción y siguiendo en orden hasta la
última, ejecutándose todas ellas, una sola vez. Las estructuras de selección e
iteración permiten modificar el flujo de ejecución de las instrucciones del
programa.
Selección
Se chequean condiciones para decidir qué instrucciones
ejecutar. Esto implica que algunas instrucciones pueden no ejecutarse.
if-then:
Se evalúa una condición de tipo booleana, si ésta se cumple
entonces se ejecuta el bloque, de lo contrario se continúan ejecutando las
instrucciones que siguen a la estructura if-then.
if-then-else:
Se evalúa una condición de tipo booleana, si ésta se cumple
entonces se ejecuta el bloque 1, de lo contrario se pasa a ejecutar el bloque
2.
Iteración
Algunas instrucciones se ejecutan varias veces. Tenemos
iteraciones definidas (for), e iteraciones condicionales (while y repeat) para
resolver problemas que requieren que se repita una secuencia de instrucciones.
Si sabemos de antemano cuántos elementos tiene la lista,
iteramos con for indicando cuántos pasos de iteración debemos dar.
while:
Si no sabemos cuántos elementos tiene la lista, iteramos con
while poniendo como condición de terminación de la iteración llegar al final de
la lista o a un valor especial que indica el fin de los datos (centinela).
repeat:
La iteración con repeat es similar al while, ya que se
utiliza una condición que marca la terminación del bucle, la diferencia es que
la condición es evaluada al final del bucle, lo que determina que al menos una
vez se ejecutará el cuerpo del bucle.