Reference   Language (extended) | Libraries | Comparison | Changes

Declaracion FOR

Descripción

La declaración for es usada para repetir un bloque encerrado entre llaves. Un incremento de un contador es usado, normalmente, para aumentar y terminar con el bucle. La estructura for es muy útil para la mayoría de las operaciones repetitivas, y habitualmente se usa para operaciones con vectores, para operar sobre conjuntos de datos/pines

El bucle for tiene tres partes o argumentos en su inicialización:

for (initialization; condition; increment) {

//función(es);

}

La initialization, o inicialización, se produce sólo la primera vez. Cada vez que se va a repetir el bucle, se revisa la condition, o condición: si es cierta, el bloque de funciones (y el incremento del contador) se ejecutan, y la condición vuelve a ser comprobada de nuevo. Si la condición es falsa, el bucle termina.

Ejemplo

// Variar la intensidad de un LED usando un salida PWM
int PWMpin = 10; // En el pin 10 hay un LED en serie con una resistencia de 470 ohmios

void setup()
{
  // no es necesario nada aquí
}

void loop()
{
   for (int i=0; i <= 255; i++){
      analogWrite(PWMpin, i);
      delay(10);
   } 
}

Consejos de programación

El bucle for, en C, es mucho más flexible que otros bucles for en otros lenguajes, incluyendo BASIC. Cualquiera (o todos) los parámetros pueden ser omitidos, sin embargo los puntos y coma (;) son obligatorios. También las inicialización, condición e incremento pueden ser cualquier declaración en C válida, con variables independientes, y podemos usar cualquier tipo de variable, incluídos los float. Estos tipos de declaración for poco usuales pueden proporcionar una solución válida a algunos problemas de programación raros.

Por ejemplo, usando la multiplicación en el parámetro de incremento, podemos generar una progresión logarítmica.

for(int x = 2; x < 100; x = x * 1.5){
   println(x);
}

Este código generará: 2,3,4,6,9,13,19,28,42,63,94

Otro ejemplo es hacer apagarse/encenderse un LED poco a poco, Another example, fade an LED up and down with one for loop:

void loop()
{
   int x = 1;
   for (int i = 0; i > -1; i = i + x){
      analogWrite(PWMpin, i);
      if (i = 255) x = -1;             // cambia de signo para apagarlo
      delay(10);
   } 
}

Ver también

Página principal Referencia

Correcciones, sugerencias, y nueva documentación deberán ser publicadas en el Foro (castellano) o en el Foro (inglés).

El texto de la referencia de Arduino está publicado bajo la licencia Creative Commons Reconocimiento-Compartir bajo la misma licencia 3.0. Los ejemplos de código de la referencia están liberados al dominio público.

Share