Criando Jogos com Arduino: Passo a Passo
Estrutura de controle de fluxo
decremento por --.
Os operadores de incremento e decremento podem ser pré-fixos ou pós-
fixos dependendo de serem posicionados antes ou depois do nome da variável
a ser implementada ou decrementada.
Tabela 7 - Operadores de incremento e decremento.
Tipo Operador Significado
++x Incrementa x em um e retorna o novo valor de x
Prefixo
--x Decrementa x em um e retorna o novo valor de x
x++ Incrementa x em um e retorna o valor antigo de x
Pós-fixo
x-- Decrementa x em um e retorna o valor antigo de x
Exemplo:
1 x=2;
2 y=++x; //x agora contém 3 e y também
3 y=x++; //x contém 4, mas y ainda contém 3
Estrutura de controle de fluxo
As estruturas de controle são blocos de programação que analisam
variáveis e decidem como o programa deve se comportar com base em
parâmetros pré-definidos. Em outras palavras, a estrutura de controle de fluxo
determina como o programa responderá diante de certas condições ou
parâmetros.
A Figura 22 ilustra um exemplo de estrutura de controle, em que
dependendo do resultado obtido na condicional (verdadeiro ou falso) o programa executará diferentes instruções.
Neste caso, o resultado da condicional for verdadeiro o programa
executará a Instrução 1 e, em sequência, a instrução 2. No entanto, se o
resultado da condicional for falso apenas a Instrução 2 será executada pelo
programa.
Figura 22 - Estrutura de controle de fluxo.
IF
O comando if (se) é uma estrutura de controle de fluxo de seleção.
Usamos esse comando para checar uma condição. Se a condição for satisfeita
(verdadeiro) uma lista de instrução delimitada por {} (chaves) serão
executadas. No entanto, se a condição não for satisfeita (falso) esta lista de
instruções não será executada e o programa seguirá a sequência de comandos
escritos depois do if.
A sintaxe do comando if na programação Arduino é:
1 if (condição){
2 Comando 1;
3 Comando 2;
4 ... }
IF...ELSE
A combinação dos comandos if...else permite maior controle sobre o
fluxo de código que o comando if , por possibilitar que múltiplos testes sejam
agrupados. O comando else (senão) será executado se a condição do comando
if (se) resultar em falso.
A sintaxe dos comandos if...else na programação Arduino é:
1 if (condição1){
2 Comando 1;
3 }
4 else {
5 Comando 2;
6 }
Dentro do comando else podemos adicionar outro comando if , de modo
que múltiplos testes podem ser executados ao mesmo tempo. Desta forma, a
sintaxe poderá ser a seguinte:
1 if (condição1){
2 Comando 1;
3 }
4 else if (condição2){
5 Comando 2;
6 }
7 else {
8 Comando 3;
9 }
FOR
O comando for (para) é uma estrutura de controle de fluxo de repetição.
Este comando permite que certo trecho do código seja executado um
determinado número de vezes. O comando for é útil para qualquer operação
repetitiva e é usado frequentemente com vetores para operar em coleções de
dados.
A sintaxe do comando for é a seguinte:
1 for (inicialização; condição; incremento){
2 Comando 1;
3 ...
4 }
A inicialização ocorre primeiro e apenas uma vez. A cada repetição do
loop, a condição é testada, se verdadeira o bloco de comandos e o incremento
são executados. Por sua vez, quando a condição for falsa o loop termina.
SWITCH...CASE
Da mesma forma que o comando if , o comando switch...case
(selecione...caso) é uma estrutura de controle de fluxo de seleção. Este
comando permite especificar códigos diferentes para serem executados em várias condições, funcionando da seguinte maneira: um comando switch
compara o valor de uma variável aos valores especificados nos comandos
case . Quando um comando case é encontrado, cujo valor é igual ao da
variável, o código para esse comando case é executado.
A sintaxe do comando switch...case é a seguinte:
1 switch (var){
2 case valor1:
3 comando1;
4 break ;
5 case valor2:
6 comando2;
7 break ;
8 default :
9 comando3;
10 break ;
11 }
A variável va r será comparada ao valor dos vários cases, podendo ser
do tipo int ou char. Os parâmetros valor 1 e valor 2 são constantes do tipo int
ou char.
OBSERVAÇÕES:
A palavra-chave break é utilizada para interromper o comando
switch , devendo ser escrito ao final de cada case . Sem o
comando break o comando switch continuará executando as
expressões seguintes, até encontrar um break.
A palavra-chave default é opcional e é executado quando a variável de
comparação do switch não corresponde a nenhum valor constate dos
cases.
WHILE
O while (enquanto) é uma estrutura de controle de fluxo de repetição.
As instruções contidas em um while serão repetidas continuamente, e
infinitamente, até que a sua condicional se torne falsa. Em outras palavras, as
instruções contidas no código while serão executadas enquanto a condição for
satisfeita (verdadeiro)
A forma geral do while é:
1 while (condição){
2 Comando 1;
3 ...
4 }
DO...WHILE
A estrutura do...while (faça...enquanto) funciona de forma semelhante
às estruturas while e for, com exceção de a condição ser testada ao final do
loop, de tal modo que as instruções contidas no do...while serão executadas
pelo menos uma vez.
A sintaxe do comando do...while é a seguinte:
1 do{
2 Comando 1;
3 } while (condição);