Reference Language (étendue) | Librairies | Comparaison?

Boucle for


Description

L'instruction for est utilisée pour répéter l'exécution d'un bloc d'instructions regroupées entre des accolades. Un compteur incrémental est habituellement utilisé pour incrémenter et finir la boucle. L'instruction for est très utile pour toutes les opérations répétitives et est souvent utilisées en association avec des tableaux de variables pour agir sur un ensemble de données ou broches.

Il y a 3 parties dans l'entête d'une boucle for :

for (initialization; condition; incrementation) {

//instruction(s)à exécuter;

}

L'initialisation a lieu en premier et une seule fois. A chaque exécution de la boucle, la condition est testée; si elle est VRAIE, le bloc d'instructions et l'incrementation sont exécutés. puis la condition est testée de nouveau. Lorsque la condition devient FAUSSE, la boucle stoppe.

Exemple

// Eteint progressivement une LED en utilisant une broche PWM (impulsion)

int PWMpin = 10; // LED en série avec une résistance de 1k sur la broche 10

void setup()
{
  // aucune initialisation nécessaire
}

void loop()
{

   // boucle incrémentant la variable i de 0 à 255, de 1 en 1
   for (int i=0; i <= 255; i++){ 

      // impulsion de ratio HAUT/BAS fonction de i sur la broche 10
      analogWrite(PWMpin, i); 

      delay(10); // pause de 10ms

   } // fin de la boucle for
}

Conseil d'écriture de code

La boucle for en C est beaucoup plus flexible que les boucles trouvées dans les autres langages de programmation, notamment le BASIC. Tout ou partie des trois élément de l'entête de la boucle peuvent être omis, les point-virgules sont toutefois obligatoires. De plus, les instructions pour l'initialisation, la condition ou l'incrémentation peuvent être n'importe quelle instruction valide en langage C, avec des variables sans rapports. Ces modes d'utilisation inhabituels de l'instruction for permettent de résoudre certains problèmes rares de programmation.

Commentaires utilisateurs

Il semble qu'une boucle for vide ne soit pas exécutée par le langage Arduino : aucune pause n'est générée par ce principe. Ceci correspond très probablement à une optimisation automatique du code. (01/2010)

Voir également


Page d'accueil de la référence Arduino en français

Corrections, suggestions et nouvelle documentation peuvent être postées sur le Forum.

Le texte de la référence Arduino est sous licence Creative Commons Attribution-ShareAlike 3.0 License. Les exemples de code dans la référence sont dans le domaine public.

Traduction française et commentaires par X. HINAULT. Janvier - Février 2010

Share