Blog

Categorías

X Cerrar

Categorías

Sentencias Break y Continue - Nociones de programación

Oct 23 2017 | Programación, Web

La ejecución repetitiva de instrucciones dentro de un ciclo es muy útil y común cuando de programar se trata, pero existen ocasiones en que se desea que la ejecución de un ciclo se detenga (se rompa) de manera controlada, ya sea porque se ha obtenido el resultado deseado antes de finalizar las repeticiones, o porque se ha podido determinar que no se logrará llegar al resultado deseado aunque se realicen todas las repeticiones inicialmente asignadas. Interrumpir la ejecución de un ciclo puede mejorar el rendimiento del programa debido a que no hay que esperar a que se ejecuten las repeticiones en su totalidad.

Cuando se desea interrumpir la ejecución de un ciclo se hace uso de la sentencia Break, su utilización es simple, sólo debe colocarse dentro del bloque de instrucciones del ciclo, normalmente al interior de una condicional if, esto porque la sentencia break podría ocasionar que en cada ejecución del programa el ciclo se ejecute sólo una vez eliminando su característica principal: ejecutar repetidamente un bloque de instrucciones.

int edades[5] = {15, 20, 18, 32, 25};
int edadBuscada = 18;

for(int i =0; i<4; i++) {
  if(edades[i] == edadBuscada) {
    printf("Edad encontrada");
    break;
  }
}

En el ejemplo anterior, se desea buscar una ‘edad’ en un vector (array) llamado edades que almacena 5 valores, para el caso particular el ciclo realizará sólo 3 repeticiones (iteraciones), esto porque una vez la condición se cumple, se muestra un mensaje por pantalla y se invoca la sentencia break ocasionando la interrupción del ciclo, pasando así el control del flujo del programa a las instrucciones que siguen después de la llave de cierre del ciclo, evitando en este caso la ejecución de dos repeticiones ‘innecesarias’ para el caso.

La sentencia break es también utilizada dentro de la estructura switch como se mencionó en la publicación estructuras de control, donde el efecto de su uso es interrumpir la secuencia se evaluación del valor ingresado.

Por otra parte, la sentencia continue permite manipular o modificar el comportamiento de un ciclo, pero de una manera distinta, ésta en lugar de interrumpir el ciclo, permite ‘ignorar’ el bloque de instrucciones del ciclo o parte de él, ya que obliga al ciclo a realizar una nueva iteración, es decir pasar el control del flujo del programa al inicio del ciclo para que la condición del mismo sea evaluada y continúe su ejecución.

int numeros[6] = {1, 2, 3, 4, 5, 6};
int suma = 0;

for(int i=0; i<5; i++) {
  if(numeros[i] % 2 == 0) {
    continue;
  }
  suma += numeros[i];
}

printf(suma);

Al finalizar la ejecución del código anterior el valor mostrado en pantalla es de 9, el ciclo recorre posición a posición el array numeros y se acumulan los valores del array en la variable suma. El valor final se debe a que no todos los números son sumados, la condición filtra los números pares y al cumplirse se hace el llamado a la sentencia continue, obligando al ciclo a realizar una nueva iteración sin ejecutar la instrucción suma+=numeros[i]. Una vez terminadas las iteraciones se muestra en pantalla el valor resultante.

Las sentencias break y continue son realmente simples de comprender e implementar, nos brindan la posibilidad de tener un poco el control sobre el comportamiento en la ejecución de los ciclos y hasta mejorar el rendimiento del programa en casos en los que se manejan grandes volúmenes de datos.

Esto es todo en esta entrega, espero en adelante publicar con más frecuencia y escribir a cabalidad la Serie JavaScript. ¡Saludos!