Base pour programmer

Les structures de contrôle



Définition

Les structures de contrôle servent à contrôler l'ordre dans lequel les différentes instructions du programme sont effectuées. On y retrouve les boucles, qui servent à effectuer des instructions plusieurs fois, et des conditions ou test, qui servent à exécuter des instructions seulement si la condition est vraie.

Cela permets donc au final de ne pas avoir un algorithme qui se déroule linéairement mais d'avoir des sauts en fonction de certains paramètres.



While (condition)

La boucle while (tant que) permet d'exécuter une ou plusieurs instructions en boucle tant qu'une condition est vraie. Si la condition est fausse, on sort de la boucle et le programme continue à s'exécuter.

Exemple de condition :

  • 1 (true)
  • 0 (false)
  • var == 10
  • var < 5
  • etc...


  • 1 //fait clignoter la led en haut à droite
    2 while(1) {  // condition toujours vraie, donc on répète cette boucle infiniment
    3
    4 	eteindre_tout();    //éteint toutes les leds
    5 	allumer_led(10,9);  //allume la led en x=10, y=9
    6 
    7  }




    If (condition)

    La condition if (si) permet d'exécuter une ou plusieurs instructions si une condition est vraie. Si la condition est fausse, le code contenu dans le if est ignoré lors de la lecture du programme.

    Exemple d'utilisation :

    1 //incrémente x de 1 si var est plus petit que 10
    2 if(var) < 10 {  
    3	x = x+1;
    4 }




    For (initialisation; condition; mise à jour)

    La boucle for, très similaire à la boucle while, permets d'exécuter une ou plusieurs instructions contrôlée cette fois par une initialisation, une condition d'arrêt et une opération de mise à jour. On va d'abord tester la condition d'arrêt, puis l'opération de mise à jour va être exécutée et on recommence.

    Exemple d'utilisation :

    1 //Allume la led en (0, 0) puis en (1, 0) puis en (2, 0) jusqu'à (10, 0)
    2 int i;  
    3 for (i = 0; i < 11; i++){ //incrémente i de 1 à chaque fois et s'arrête si i = 11
    4	allumer_led(i,0);
    5 }
    Même exemple mais avec une boucle while :

    1 int i = 0;
    2 while(i < 11)}  
    3	allumer_led(i, 9);
    4	i++;
    5 }




    Opérateur logiques

    Les opérateurs logiques permettent de créer des conditions plus complexe que de simple opérateurs de comparaison comme "==" (égalité), "<" (strictement inferieur), etc...

    Le OU logique "||" :

    Est vrai si une des conditions est vraie.
    Exemple :
    (3 < 1) || (10 > 6) est vrai car 10 > 6 est vrai.

    Le ET logique "&&" :

    Et vrai seulement si toutes les conditions sont vraie,
    Exemple :
    (3 < 1) && (10 > 6) est faux car 3 < 1 est faux .

    Le NON logique "!" :

    Inverse la condition. vrai -> faux, faux -> vrai.
    Exemple :
    ! (3 < 1) est vrai car 3 < 1 est faux.
    ! (10 > 6) est faux car 10 > 6 est vrai.