Estructura de control

¿QUÉ ES UNA ESTRUCTURA DE CONTROL?

 

Son estructuras que controlan la secuencia o flujo de ejecuciones de sentencias.

 

Hay 2 grandes categorías:

  1. Selección o Condicionales.
  2. Iteración.

 

TIPOS DE ESTRUCTURAS DE CONTROL

 

  1. SELECCIÓN O CONDICIONALES: Controlan si una sentencia o secuencia de sentencias se ejecutan, en función del cumplimiento o no de una condición o expresión lógica.

 

IF

IF-ELSE

 

IF / IF-ELSE

  • 1 sola ejecución.
  • Sólo si se cumple la expresión lógica en “if” se ejecuta el bloque.
  • Si hay un “else”, este bloque se ejecuta cuando la expresión lógica en “if” no se cumple.

 

Ejemplo 1

Integer count = 2

count = count – 2 // 0

if (count == 0) {

broker.ui.showAlert(“Count”, “Count value is zero”)

}


Ejemplo 2

Integer count = 2

count = count – 1 // 1

if (count == 0) {

broker.ui.showAlert(“Count”, “Count value is zero”)

}else {

broker.ui.showAlert(“Count”, “Count value is different than zero”)

}

 

  1. ITERACIÓN: Son estructuras de control que repiten la ejecución de un grupo de instrucciones. mientras que la condición específica o expresión lógica se cumpla.

 

FOR-IN

WHILE

TRY-CATCH

 

FOR-IN

  • Ejecuta un bloque de código tantas veces como se indique.

 

Ejemplo

Array<String> names = []

names.add(“John”)

names.add(“Freedy”)

for name in names {

broker.ui.showAlert(“Hi”, name)

}

// Hi, John

// Hi, Freedy

 

WHILE

  • Ejecuta un bloque de código tantas veces como se cumpla la expresión lógica.
  • Usualmente no se sabe de antemano el número de iteraciones a realizar.

 

Ejemplo

Integer count = 3

while (count > 0) {

broker.ui.showAlert(“Count Value”, count.toString())

count = count – 1

}

//Count Value, 3

//Count Value, 2

//Count Value, 1

 

TRY-CATCH

  • “try” ejecuta un bloque de código que potencialmente puede lanzar una excepción.
  • “catch (e)” ejecuta un bloque de código cuando ocurre una excepción en el bloque “try”.
  • “e” es un tipo de dato Exception.

 

Ejemplo:

Array<Integer> ages = [] //empty array

Integer ageAverage = 0

try {

for age in ages {

ageAverage = ageAverage + age

}

ageAverage = ageAverage / ages.size()

} catch (e) {

broker.ui.showAlert(e.name(), e.reason())

}

//DivisionByZero, Has been a division by zero error.