1.3. Otras estructuras lógicas

Aunque todas los programas estructurados pueden ser escritos con las tres estructuras básicas de control, existen otras estructuras que pueden ser útiles en casos particulares para simplificar el código y la lógica del programa.
Icono IDevice Actividad
Las estructuras lógicas de control SELECT-CASE, DO-UNTIL Y FOR NEXT pueden utilizarse para simplificar el código de un programa estructurado siempre que se cumplan los principios del teorema de la programación estructurada.

SELECT-CASE

Se usa cuando la variable evaluada puede tomar más de dos valores, evitando así utilizar varios IF-THEN-ELSE encadenados.

select case

El proceso seguido consiste en:

  • Se pregunta a la variable a evaluar (SELECT).
  • Se busca el CASE para el valor de la variable y se ejecuta el bloque correspondiente.
  • Si no coincide ningún CASE se ejecuta la sentencia ELSE.

DO-UNTIL

Esta estructura forma parte de las estructuras de iteración. La diferencia con DO-WHILE es que el bloque o subrutina se ejecutará hasta que una condición sea verdadera. En esta estructura el bloque se ejecuta por lo menos una vez, en cambio en el DO-WHILE puede que no se llegue a ejecutar nunca.

do until La pregunta se realiza al final de la estructura.
FOR-NEXT

Otras de las estructuras de iteración es el bucle FOR-NEXT. En esta estructura el bloque o subrutina se ejecutará mientras la variable recorra los valores comprendidos entre el valor1 y el valor2. Por ello, se denomina estructura de recorrido. 

Se puede determinar el incremento que se aplicará a la variable en cada ciclo del bucle con el término STEP. 

for next  
Icono de iDevice AV - Actividad de Espacios en Blanco
Completa los espacios en blanco con palabras que aparecen en la parte inferior.
-  Cualquiera de estas tres estructuras de pueden ser sustituidas por una de las tres estructuras .
-  El bloque de sentencias que contiene la estructura DO-UNTIL se ejecuta que la condición sea verdadera. Esta estructura pertenece a las de .
-  La estructura SELECT-CASE puede ejecutar tantas distintas como valores pueda tomar la variable. Esta estructura pertenece a las de .
-  En la estructura FOR-NEXT la subrutina se repetirá tantas veces como valores tome la , por lo que se denomina o de recorrido.
variable iteración selección básicas bucle subrutinas
control hasta
  

Icono IDevice Objetivos
BUCLE
En este apartado ha surgido el término bucle, referido a un grupo de instrucciones que se repite un número de veces determinado por el valor de una variable. Su función primordial es el ahorro de código cuando una subrutina debe repetirse para varios valores, evitando así la sentencia GOTO para iterar en un programa.
Cuando la condición de finalización del bucle no se cumple en ningún caso, se dice que es un bucle infinito porque se repite de forma indefinida y el programa no puede continuar. Un ejemplo sería un bucle en el que la variable sólo tome valores pares y la condición de salida sea variable=5.
Por ello, la definición dice que para todo bucle deben definirse condiciones de inicio y finalización de éste. Un bucle infinito suele considerarse un error en el programa, salvo si ha sido diseñado así por el programador (programas maliciosos).
biblioteca bucle infinito

Img 6. Biblioteca Bucle infinito de Job Koelenwinj

Imagen de Blogodisea