Esta página também está disponível em outros 2 idiomas.

for

[Control Structure]

Descrição

O comando for [e usado para repetir um bloco de código envolvido por chaves. Um contador de incremento é geralmente utilizado para terminar o loop. O comando for é útil para qualquer operação repetitiva, e é usado frequentemente com vetores para operar em coleções de dados ou pinos.

Sintaxe

for (inicialização; condição; incremento) {
  //comando(s);
}

A inicialização ocorre primeiro e apenas uma vez. A cada repetição do loop, a condição é testada; se é verdadeira (true), o bloco de comandos, e o incremento são executados. Quando a condição se torna falsa (false), o loop termina.

Código de Exemplo

// Varia o brilho de um LED usando um pino PWM
int pinoPWM = 10; // LED em série com um resistor de 470 ohm no pino 10

void setup() {
  // setup não necessário
}

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

Notas e Advertências

O loop for na linguagem C é muito mais flexível que os loops `for` encontrados em outras linguagens. Quaisquer dos três elementos da sintaxe podem ser omitidos, porém os ponto e vírgula (';') são necessários. Além disso, os comandos para inicialização, condição e incremento podem ser quaisquer comandos válidos na linguagem C, mesmo com variáveis não relacionadas ao loop, e podem usar quaisquer tipos de dados da linguagem, incluindo floats. Esses tipos de comandos for incomuns podem prover soluções rápidas para alguns problemas raros de programação.

Por exemplo, usar uma multiplicação no comando de incremento irá gerar uma progressão logarítmica:

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

Gera: 2,3,4,6,9,13,19,28,42,63,94.

Outro exemplo, Aplica um efeito de fading crescente e decrescente em um LED com apenas um loop for:

void loop() {
  int x = 1;
  for (int i = 0; i > -1; i = i + x) {
    analogWrite(pinoPWM, i);
    if (i == 255) {
      x = -1; // muda a direção no pico
    }
    delay(10);
  }
}

Ver Também