RECURSO .- ARD. BREAK. Ruptura del flujo de programa

Es posible sacar al flujo del programa de un bucle aunque la condición del mismo siga siendo cierta. Esto se hace con la sentencia break

Si dentro de un bucle se ejecuta la sentencia break, entonces el bucle se detiene y se acaba en ese mismo punto, aunque la condición del bucle siga siendo cierta. El flujo del programa seguirá a partir del bloque del bucle.

Por ejemplo, en el siguiente código.

void loop() {

  int veces;
  for (veces = 0; veces < 15; veces++)
  {
    if (veces == 8) {
      break;
    }
    parpadeo(D2, 500);
  }

  delay (60000);

} // fin del bloque de programa



en la iteración en la que veces valga 8 el bucle finalizará, ya que se encontrará con la ejecución de la sentencia break. El led parpadeará únicamente 8 veces

Si lo que queremos es descartar el resto de instrucciones de un bloque de un bucle, usaremos la sentencia continue.
Si dentro de un bucle se ejecuta la sentencia continue, entonces el bucle se detiene en ese punto, pero no se acaba, sino que vuelve al principio evaluándose nuevamente la condición del mismo.


Por ejemplo, en el siguiente código.

void loop() {

  int veces;
  for (veces = 0; veces < 15; veces++)
  {
    if (veces == 8) {
      continue;
    }
    parpadeo(D2, 500);
  }

  delay (60000);

} // fin del bloque de programa



en la iteración en la que veces valga 8 el bucle volverá al principio, sin ejecutar la función parpadeo, seguirá ejecutándose ya que no se ha llegado al límite de 15. En este código el led parpadeará 14 veces.