Omet navegació

9) Sentencies de control. While

While (Mentre)

És comprova una condició, si es compleix s'executen unes instruccions de dins en un bucle infinit, si no es compleix s'executen unes altres condicions. A diferència del FOR mentre la condició siga certa no s'ix de dins del while. Ací tens un exemple.

while (condició==True) { // instruccions de dins del condicional, fixeu-vos on comença i on acaba en roig

ordres que s'executaran mentre la condició siga certa

}

ordres que s'executaran quan la condició siga falsa

Ara fes el muntatge:

3leds + Nano33IoT

Prova el programa

int pinLed = 10;
int pinLed2 = 11;
int pinLed3 = 12;

void setup() {
  pinMode(pinLed, OUTPUT);
  pinMode(pinLed2, OUTPUT);
  pinMode(pinLed3, OUTPUT);
    Serial.println("Els leds del pins 10, 11 , 12 són eixides");

}

void loop() { // Comença un bucle void_loop
  
int variable=0 ; //Definim una variable entera
   
    while(variable<250) { // s'executa el while mentre la condició siga certa  
    Serial.println("Engeguem el led del pin 10");
    digitalWrite(pinLed, HIGH);
    delay(100);
    Serial.println("Aturem el led del pin 10");
    digitalWrite(pinLed, LOW);
    delay(50);
    Serial.println("Engeguem el led del pin 11");
    digitalWrite(pinLed2, HIGH);
    delay(100);
    Serial.println("Aturem el led del pin 11");
    digitalWrite(pinLed2, LOW);
    delay(50);
    Serial.println("Engeguem el led del pin 12");
    digitalWrite(pinLed3, HIGH);
    delay(100);
    Serial.println("Aturem el led del pin 12");
    digitalWrite(pinLed3, LOW);
    delay(50);

    // Ara anem a incrementar la variable + 1
    variable++; // equival a posar "variable=variable +1"
    
     }// final d'un bucle while
     
exit(0); //Ix del bucle void_loop acabant el programa

}// Crida un bucle nou void_loop

El següent programa fet amb Blockly@rduino és equivalent:

While programa