terça-feira, 7 de dezembro de 2010

Básicos de C++ Para Arduino - Parte 5 - Estruturas de Controle


é através de estruturas de controle que montamos o esqueleto do nosso programa, é com elas que dizemos ao computador que atitude tomar em certas ocasiões. Devido a complexidade deste tópico, decidi dividi-lo em 3 sub partes, nesta trataremos das estruturas básicas de controle If..Else, For , e Switch. Nos proximos posts veremos os loops While e Do While e em seguida os controles Break, Continue, Return e Goto.

  • If Else
A estrutura if else é a mais simples de se entender, e provavelmente a mais usada devido a sua praticidade, do ingles se / senão, essa estrutura é usada para escolher entre dois possiveis caminhos para um ponto do programa, por exemplo SE ( IF ) uma variavel "tamanho" for maior que 10 execute a função "grande()" SENÃO ( ELSE ) , execute a função "pequeno()", em codigo:


int tamanho = 32; // declara variável tamanho = 32
if (tamanho > 10) // verifica se ela é maior que 10, neste caso,verdade
{ //abre o bloco IF
grande();//a função será executada
tamanho = 5; //tamanho agora é igual a 5
} //fexa o bloco IF
else //se a variavel for menor ou igual a 10 executará o bloco else
{ //abre o bloco ELSE
pequeno();//neste caso, esta parte do código sera desprezada
tamanho = 999; //isto tambem será desprezado
//pois tamanho é maior que 10
}//fexa o bloco else

if(tamanho > 10) grande(); //como tamanho NÃO É maior que 10...
else pequeno();// o bloco ELSE será executado

/* OBS: PERCEBA QUE EXISTEM DUAS MANEIRAS DE SE DECLARAR UM CONTROLE IF ELSE, AS DUAS SÃO CORRETAS, POREM NO SEGUNDO CASO SÓ SE PODE EXECUTAR UMA LINHA DE COMANDO, ENQUANTO NO PRIMEIRO PODERÁ SER EXECUTADO QUANTOS COMANDOS QUISER JA QUE ELES ESTARÃO AGRUPADOS EM UM BLOCO ( ENTRE CHAVES {} ) */


  • For
O comando "for" é usado para repetir blocos de código {entre chaves;} utilizando-se de um contador que normalmente ira incrementar e terminar o loop quando tiver cumprido sua função. Normalmente usado em combinação com arrays para operar em coleções de dados ou pinos.
OBS:
  • A declaração é opcional desde que a variável seja previamente declarada. 
  • A inicialização ocorre apenas uma vez no começo do loop.
  • O teste é executado no começo de cada laço, caso seu resultado seja falso o loop é interrompido.
  • O incremendo ou decremento será feito ao final de cada laço do loop.



// Varia o brilho do LED utilizando saida PWM
int PWMpin = 10; // LED ligado ao pino 10

void setup()
{
// Não eh nescessario
}

void loop()
{
for (int i=0; i <= 255; i++){ //para i =0 até i = 255 analogWrite(PWMpin, i); //Escreve o valor de i na saida PWM delay(10); //Aguarda 10ms até o proximo laço } }

Nenhum comentário:

Postar um comentário