fbpixel
Etiquetas: ,
0
(0)

A instrução while é a estrutura condicional que permite criar um loop sobre uma condição. Ela é encontrada em todas as linguagens de programação e é usada para executar um bloco de código em loop desde que uma condição seja cumprida.

Sintaxe da instrução while

A instrução toma como entrada uma condição na forma de variável booleana e executa um bloco de instruções em loop, desde que a condição seja verdadeira. Enquanto a condição for verdadeira, o código que se segue ao bloco while será executado. Tenha o cuidado de atualizar o estado da sua condição.

  while(condition){
    <liste d'instructions tant que condition=true>;
    <mise à jour de la condition>;
  }

Exemplo de um código que conta até 10:

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

void loop() {
  while(val<=10){
    Serial.println(val);
    val++;
  }
}

Um booleano é um tipo de variável igual a true( 1-true) ou false(0-false). Na linguagem C(Arduino), as variáveis booleanas são inicializadas com a palavra-chave bool ou boolean. Um booleano pode ser obtido de diferentes maneiras.

  • O resultado de um teste lógico <,>,==,!=,!
 condition = variable == 10;    // variable égale à 10? 
 condition = temperature>30;   // temperature est supérieure à 30 
 condition = vitesse <= 100    // vitesse inférieure ou égale à 100 
 condition = !true // condition égale  non vraie (faux) 
   
  • O resultado de várias condições
condition=(temperature>30) && (vitesse<20);
  • O resultado de uma função
bool test(int val){
  //retourne vraie si la valeur est supérieur à 200
  return val>200;
}

Vale notar que a função de entrada da instrução é executada a cada loop.

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

void loop() {
  while(condition()){
    Serial.println(val);
  }
  delay(10);//sanity delay
}

bool condition(){
  val++;
  return val<=10;
}

Outras sintaxes

Existe outra versão da instrução while: a do..while, que na realidade consiste em outra instrução distinta. A principal diferença é que ela é executada pelo menos uma vez.

O código a seguir conta até 10. O bloco do…while deve ser colocado na função setup, caso contrário a variável val irá se incrementar infinitamente. Como o bloco do..while é executado pelo menos uma vez, a variável val irá aumentar uma vez a cada execução do loop().

int val = 0;
void setup() {
  Serial.begin(9600);
  do{
    Serial.println(val);
    val++;
  } while(val<=10);
}

void loop() {
  delay(10);//sanity delay
}

Concluindo, é importante lembrar que:

  • A instrução while toma como entrada uma condição representada por uma variável booleana.
  • A instrução de entrada do loop while é executada a cada loop.
  • A condição é escrita entre parênteses
  • O bloco de instruções é escrito entre chaves {}.
  • A instrução do..while é executada pelo menos uma vez, diferente da instrução while.

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?