fbpixel
Etiquetas: ,
0
(0)

A instrução for permite repetir blocos de código. É o primeiro passo para um código mais eficiente e legível.

Sintaxe da instrução for

A instrução for toma como entrada um contador cujo incremento e a condição final são definidos. Ela é frequentemente utilizada com listas de variáveis (array) para realizar operações sobre os dados nelas contidos.

  for(initialisation;condition d'arrêt;incrément){
    <liste d'instructions qui se répètent>;
  }

Na inicialização, definimos um número inteiro que conterá o contador. A condição de paragem será o resultado de um teste lógico (geralmente um valor limite). O incremento será uma operação que define como o contador evolui a cada rotação.

No exemplo seguinte, o código contará até 10, exibindo cada valor no monitor serial:

  • inicialização: inicializamos um número inteiro i em 0;
  • condição: o loop para quando i atinge o valor 10;
  • incremento: o contador i evolui 1 a cada execução.
void setup() {
  Serial.begin(9600);
}

void loop() {
  for(int i=0;i<=10;i=i+1){
    Serial.println(i);
  }
  delay(500); //delay for monitor display
}

No exemplo seguinte, o algoritmo conta de 10 a 0.

for(int i=10;i>=0;i=i-1){
 Serial.println(i);
}

Para definir o incremento da variável, podemos escolher qualquer função. Exemplos:

  • i=2i para contar números pares
  • i=2i+1 para contar números ímpares
  • i=pow(i,2) uma função ao quadrado
  • i++ equivale a i=i+1
  • i- equivale a i=i-1

A inicialização pode ser definida fora do loop for. Neste caso, preste atenção ao nome e à inicialização das suas variáveis. No exemplo seguinte, o código contará de 0 a 10 uma primeira vez, e de 3 a 10 nas vezes seguintes.

int index=0;
void setup() {
  Serial.begin(9600);
}

void loop() {
  for(index;index<=10;index=index+1){
    Serial.println(index);
  }
  index=3;
  delay(500); //delay for monitor display
}

Outras sintaxes

É possível omitir as chaves quando o loop contém uma só instrução.

for(int i=0;i<=10;i=i+1) Serial.println(i);

Por vezes, é interessante executar vários loops em paralelo: são os chamados loops aninhados. No exemplo seguinte, para cada execução do primeiro loop, o segundo contará até 5.

for(int i=0;i<=10;i=i+1){
   for(int j=0;j<=5;j=j+1){
       Serial.print(i);
       Serial.print(F("-"));
       Serial.print(j);
   }
}

Para lembrar:

  • A instrução for toma como entrada a inicialização de um contador, uma condição de paragem e uma definição de incremento.
  • Os loops for podem ser aninhados.
  • O bloco de instruções fica entre chaves {}.
  • Se a lista de instruções estiver numa única linha, podemos dispensar as chaves.

Certifique-se de dominar as arrays, os operadores lógicos e o incremento para usar a instrução for da melhor maneira. Quando tiver dominador esta instrução, poderá criar algoritmos cada vez mais eficientes .

Fontes

Retrouvez nos tutoriels et d’autres exemples dans notre générateur automatique de code
La Programmerie

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?