comando for
Descrição
O comando “for” é utilizado para repetir blocos de comandos inseridos entre chaves. Um contador incremental é normalmente utilizado para incrementar e finalizar o laço. O comando “for” é útil em qualquer tarefa repetitiva, e largamente utilizado em combinação com arrays para processar coleções de dados/portas.
O laço “for” é constituído de 3 partes:
for
(
iniciação;
condição;
incremento) {
//comando(s);
}
A iniciação (declaração da variável contadora) acontece primeiro e exatamente uma única vez. Cada vez que o laço “roda”, a condição é testada; se é verdadeira, o bloco de comandos e seu incremento é executado, então a condição é verificada novamente. Quando a condição se torna falsa, o laço termina.
Exemplo
// Esvanece um LED usando uma porta PWM int PWMpin = 10; // LED em série com resistor 470 ohm na porta 10 void setup() { // nada a ser feito no setup } void loop() { for (int i=0; i <= 255; i++){ analogWrite(PWMpin, i); delay(10); } }
Dicas de Codificação
O laço “for” do C é muito mais flexível que outros laços encontrados em outras linguagens de programação, incluindo BASIC. Qualquer uma das 3 partes (ou todas elas) podem ser omitidas, embora os pontos e vírgulas são obrigatórios. Tanto que os comandos de iniciação, condição e incremento podem ser qualquer comando válido em C, mesmo que as variáveis não tenham relação entre si. E é permitido o uso de qualquer tipo de variável, mesmo float. Estes tipos não usuais para comandos “for” devem fornecer soluções para alguns problemas raros de programação.
Por exemplo, utilizando multiplicação na parte incremental gerará uma progressão logarítimica:
for(int x = 2; x < 100; x = x * 1.5){ println(x); }
Resultado: 2,3,4,6,9,13,19,28,42,63,94
Outro exemplo, esvanece um LED ao ligar e desligar com esse laço “for”
void loop() { int x = 1; for (int i = 0; i > -1; i = i + x){ analogWrite(PWMpin, i); if (i == 255) x = -1; // muda a direção no pico delay(10); } }
laço while
Descrição
Laços “while” vão executar sequencialmente e para sempre, até que a expressão dentro dos parênteses () se torne falsa. Algum evento deve mudar o estado da variável testada, ou então o laço “while” não terminará nunca. Este evento pode estar em seu código, como uma variável incremental, ou uma condição externa, como um sensor de teste, um botão etc.
Sintaxe
while(expressão){ // comando(s) }
Parametros
expressão - um (boolean) comando C que retorne verdadeiro ou falso (true ou false)
Exemplo
var = 0; while(var < 200){ // faça alguma coisa repetitiva por 200 vezes var++; }
Traduzido do Original em Inglês por Renato Aloi