Los Bucles en Arduino

 

Los Bucles en Arduino

Comencemos con el hecho de que ya se ha encontrado con bucles de todos modos: este es, por supuesto, el bucle principal de cualquier programa. loop (). Un bucle es aproximadamente un marco, el código dentro del cual se ejecuta de arriba a abajo y se repite desde el principio hasta que llega al final. Este comportamiento continúa mientras se cumpla alguna condición. Hay dos bucles principales con los que trabajaremos, estos son for y while.


Bucle For.

Bucle For, este bucle también está en otros lenguajes de programación, pero en C ++ tiene una configuración muy flexible. Cuando se crea, el bucle toma tres «valores» (configuraciones): inicialización, condición y cambio. Un ciclo for generalmente contiene una variable que cambia a lo largo del ciclo, podemos usar su valor cambiante para nuestros propios fines. Una variable es local al bucle si se crea durante la inicialización.

  • Inicialización : aquí es donde generalmente se asigna el valor inicial de la variable de ciclo. Por ejemplo: int i = 0;
  • Condición : aquí especifica la condición bajo la cual se ejecuta el ciclo. Tan pronto como se viola la condición, el ciclo termina. Por ejemplo: i < 100;
  • Cambio : esto indica el cambio en la variable de ciclo en cada iteración. Por ejemplo: i ++;

Combinemos los tres puntos anteriores en un ejemplo:

En el cuerpo del bucle, podemos usar el valor de la variable i, que tomará valores de 0 a 99 durante el ciclo, después del cual finaliza el ciclo. ¿Cómo usarlo? Recordemos la lección anterior sobre matrices y consideremos el siguiente ejemplo:

El bucle for muy a menudo trabaja con matrices. Puede, por ejemplo, agregar todos los elementos de una matriz para encontrar la media aritmética:

En cuanto a las características de uso de for en el lenguaje C ++: cualquiera de sus configuraciones es opcional, es decir, se puede omitir para algunos algoritmos especiales. Por ejemplo, no deseamos crear una variable de bucle, pero usaremos otra variable existente para esto. Pero no olvide que los separadores de configuración (punto y coma) deben estar presentes en su lugar , ¡incluso si no hay configuraciones!

En un bucle for, puedes hacer varios contadores, varias condiciones y varios incrementos, separándolos mediante el operador de coma, ver un ejemplo:

Además, es posible que el ciclo no tenga ninguna configuración, y dicho ciclo puede considerarse eterno, cerrado:

El uso de bucles cerrados no es muy bienvenido, pero a veces es una forma muy conveniente de capturar un valor, o dejar que el programa se cuelgue cuando ocurre un error. Pero, como sabemos, nada es eterno, por lo que aún puede salir del bucle usando el operador break.


Operador break.

Operador break (Inglés «break») le permite dejar el ciclo antes de lo programado, puede usarlo por condición o de cualquier manera conveniente. Por ejemplo, salir del ciclo antes de lo programado cuando se alcance un cierto valor:

Aquí hay un ejemplo para salir del bucle, dejemos el bucle «eterno» cuando se presiona el botón:

Salir del bucle no es la única herramienta interesante, también existe el operador de salto: continue.


Operador continue.

Operador continue («Continuar» en inglés) finaliza la iteración del ciclo actual antes de lo programado y pasa a la siguiente. Por ejemplo, completemos una matriz como lo hicimos anteriormente, pero omitamos un elemento:

Por lo tanto, el elemento con índice 10 no recibirá el valor 25, la iteración terminará antes de la operación de asignación.


Bucle while.

Bucle while (Inglés «mientras»), también llamado ciclo con una condición previa, se ejecuta siempre que la condición especificada sea verdadera. Si la condición es inmediatamente incorrecta, el ciclo ni siquiera comenzará a funcionar y se omitirá por completo. Se declara de manera muy simple: la palabra clave while, luego la condición entre paréntesis, y ahora el cuerpo del ciclo:

Huummm, ¿este ejemplo te suena familiar? Así es, este es un análogo completo del ciclo. for con ajustes int i = 0; i 10; i ++ ). La única diferencia es que en la última iteración i asumirá diez, ya que el valor nueve del ciclo permitirá la ejecución.

Otra opción interesante que se puede encontrar en la inmensidad del código de otras personas. Funciona basándose en el hecho de que la lógica trata cualquier número que no sea cero como true:

El bucle while también es conveniente usarlo como un bucle eterno, por ejemplo, esperando la ocurrencia de un evento (presionar un botón):

Hasta que se cumpla la condición, el código no irá más allá, se atascará en este bucle. Como ya entendiste, el operador if no es necesario aquí, debe especificar el valor lógico, incluso puede hacer esto:

¡Es un bucle sin fin! Si no prevemos break, por supuesto…

Además de un bucle con una condición previa, también hay un bucle con una condición posterior, el llamado hacer mientras; do while.


Bucle Do While.

Hacer mientras  – «do while«, el trabajo de este ciclo es completamente análogo al ciclo while con la excepción de que aquí la condición se establece después del ciclo, es decir el ciclo se ejecutará una vez como mínimo, luego verificará la condición, no al revés. Ejemplo:

¿Dónde aplicarlo? En cualquier lugar, mientras escribe sus propios programas, sentirá dónde es más conveniente utilizar este o aquel ciclo.


Comentarios

Entradas populares de este blog

Orange Pi IoT 2G Flashear memoria NAND

Usar datos gratis para proyectos IoT FreedomPop y Orange Pi 2G IoT (también Simyo).

Configurar modem GSM en la Orange Pi 2G IoT (Orange España)