fbpixel
Etiquetas: , ,

A instrução if é a estrutura condicional básica que se encontra em todas as linguagens de programação. Ela permite executar diferentes blocos de código dependendo da implementação ou não de uma condição. É a base de muitos algoritmos e permite a um computador fazer uma escolha em função dos dados que recebe.

decision-tree Uma rápida olhada na instrução If em C

Sintaxe da instrução if

A instrução if toma como entrada uma condição sob a forma de uma variável booleana. Ela executa um bloco de instruções se a condição for verdadeira (neste caso, dizemos que a condição está implementada) e um outro bloco se for falsa.

  if(condition){
    <liste d'instructions si condition=true>;
  }else{
    <liste d'instructions si condition=false>;
  }

Exemplo de código que determina o sinal de uma variável com a instrução if:

int val=-10;

void setup() {
  Serial.begin(9600);
}

void loop() {
  if(val>=0){
    Serial.println(F("Value is positive"));
  }else{
    Serial.println(F("Value is negative"));
  }
  val=val+2; //increment val
  if(val>10) val=-10; // set val to initial value
  delay(500); //delay for monitor display
}

Um booleano é um tipo de variável equivalente 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 uma função
bool test(int val){
  //retourne vraie si la valeur est supérieur à 200
  return val>200;
}
  • O resultado de várias condições
condition=(temperature>30) && (vitesse<20);

Outras sintaxes

A instrução If pode ter diferentes sintaxes, dependendo do caso.

É possível omitir as chaves “{}” quando a única instrução está em uma linha só.

  if(condition) <instructions>;

Exemplo:

if(condtion) Serial.println("Conditon est réalisée");

Se não houver instruções para executar quando a condição não for cumprida, é possível omitir o bloco else{}.

  if(condition){
    <liste d'instructions>;
  }

Se várias condições forem avaliadas ao mesmo tempo

  if(condition){
   // <liste d'instructions si condition==true>;
  }else if(condition2){
    //<liste d'instructions si condition==false && condition2==true>;
  }else if(condition3){
    //<liste d'instructions si condition==false && condition2==false && condition3==true>;
  }else{
    //<liste d'instructions si aucune condition réalisée>;
  }

Para lembrar:

  • A declaração if toma como entrada uma condição representada por uma variável booleana.
  • A condição pode ser uma função que devolve um booleano ou o resultado de um teste com os operadores lógicos =, !=, <, >, !
  • A condição está entre parênteses.
  • O bloco de instruções está entre chaves {}.
  • Se a lista de instruções estiver numa única linha, não há necessidade de chaves.

Bônus

Em casos simples, é possível utilizar a instrução “? “, cuja sintaxe é a seguinte:

resultado = (condição) ? instrução caso verdadeira : instrução caso falsa;

Exemplo: linha de código que devolve o sinal de uma variável.

 
  int signe= (variable>=0) ? 1:-1; // retourne 1 si la valeur est positive et - 1 si elle est négative

Certifique-se entender bem as booleanas e os operadores lógicos para usar a instrução if corretamente. Quando dominar bem esta instrução, os seus algoritmos serão capazes de tomar boas decisões.

Fontes

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