Estructuras de control

En lenguajes de programación, las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa.

Con las estructuras de control se puede:

Todas las estructuras de control tienen un único punto de entrada. Las estructuras de control se puede clasificar en : secuenciales, iterativas y de control avanzadas. Esto es una de las cosas que permite 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.

Otros lenguajes ofrecen estructuras diferentes, como por ejemplo los comandos guardados.

Tipos de estructura de control

Algunas estructuras de control en el lenguaje Java

Antecedentes

El término "estructuras de control", viene del campo de la ciencia computacional. Cuando se presentan implementaciones de Java para las estructuras de control, nos referimos a ellas con la terminología de la Especificación del lenguaje Java, que se refiera a ella como instrucciones modernas .

Ejecución secuencial

Pero por lo general las instrucciones se ejecutan una después de la otra, en el orden en que están escritas, es decir, en secuencia. Este proceso se conoce como ejecución secuencial.

Transferencia de control

En Java, como en otros lenguajes de programación por excelencia como C y C++, el programador puede especificar que las siguientes instrucciones a ejecutarse tal vez no sea la siguiente en secuencia. Esto se conoce como transferencia de control. Hay que tener en cuenta que la instrucción goto es una palabra reservada pero no se utiliza ni se recomienda. Un programa bien estructurado no necesita de esta instrucción.[1]

De selección

Las estructuras de control de selección, ejecutan un bloque de instrucciones u otro, o saltan a un subprograma o subrutina según se cumpla o no una condición.

Estructura de control

Las estructuras de control, denominadas también sentencias de control, permiten tomar decisiones y realizar un proceso repetidas veces. Se trata de estructuras muy importantes, ya que son las encargadas de controlar el flujo de un programa, según los requerimientos del mismo.

Selección if simple

Se trata de una estructura de control que permite redirigir un curso de acción según la evaluación de una condición simple, sea falsa o verdadera.

Si la condición es verdadera, se ejecuta el bloque de sentencias 1, de lo contrario, se ejecuta el bloque de sentencias 2.

   IF (Condición) THEN
      (Bloque de sentencias 1)
   ELSE
      (Bloque de sentencias 2)
   END IF

Se pueden plantear múltiples condiciones simultáneamente, si se cumple la (Condición 1), se ejecuta (Bloque de sentencias 1) en caso contrario se comprueba la (Condición 2), si es cierta se ejecuta (Bloque de sentencias 2), y así sucesivamente hasta n condiciones, si ninguna de ellas es cumple se ejecuta (Bloque de sentencias else).

   IF (Condición 1) THEN
      (Bloque de sentencias 1)
   ELSEIF (Condición 2) THEN
      (Bloque de sentencias 2)

   .....

   ELSEIF (Condición n) THEN
      (Bloque de sentencias n)
   ELSE
      (Bloque de sentencias else)
   END IF

Select-Case

Esta sentencia permite ejecutar una de entre varias acciones en función del valor de una expresión. Es una alternativa a if then else cuando se compara la misma expresión con diferentes valores.

   Select (Expresión)
      Case Valor1
         (Bloque de sentencias 1)
      Case Valor2
         (Bloque de sentencias 2)
      Case Valor n
         (Bloque de sentencias n)
      Case Else
         (Bloque de sentencias "Else")
   End Select

Estructuras de control iterativas

Las estructuras de control iterativas o de repetición, inician o repiten un bloque de instrucciones si se cumple una condición o mientras se cumple una condición.

Do-While

Mientras la condición sea verdadera, se ejecutarán las sentencias del bloque.

   Do While (Condición)
      (Bloque de sentencias)
   Loop

que también puede expresarse:

   While (Condición)
      (Bloque de sentencias)
   wend

Do-Until

Se ejecuta el bloque de sentencias, hasta que la condición sea verdadera

   Do
      (Bloque de sentencias)
   Loop Until (Condición)

For-Next

La sentencia For da lugar a un lazo o bucle, y permite ejecutar �un conjunto de sentencias cierto número de veces.

   For (Variable) = (Expresión1) To (Expresión2) STEP (Salto)
      (Bloque de sentencias)
   Next

Estructuras anidadas

Las estructuras de control básicas pueden anidarse, es decir pueden ponerse una dentro de otra.

Estructura For-Next dentro de una estructura If-Then-Else

   IF A > B THEN
      FOR X = 1 To 5
         (Bloque de sentencias 1)
      NEXT
   ELSE
      (Bloque de instrucciones 2)
   END IF

Estructura If-Then-Else dentro de estructura For-Next

   FOR x = 10 TO 20 step 2
      IF A == C THEN
       (Bloque de instrucciones)
      ELSE
       (Bloque de instrucciones)
      END IF
   NEXT

Estructura For-Next que está dentro de estructura Do-While

 Do While A > 0
    For X = 1 to 10
       (Bloque de instrucciones)
    Next
    A = A - 1
 Loop

Véase también

Referencias

  1. Edsger Dijkstra (marzo de 1968). «Go To Statement Considered Harmful». Communications of the ACM (PDF) 11 (3): 147–148. doi:10.1145/362929.362947. «The unbridled use of the go to statement has as an immediate consequence that it becomes terribly hard to find a meaningful set of coordinates in which to describe the process progress. ... The go to statement as it stands is just too primitive, it is too much an invitation to make a mess of one's program.»
This article is issued from Wikipedia - version of the Wednesday, November 04, 2015. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.