diff --git a/TABELA_DE_INSTRUCOES.md b/TABELA_DE_INSTRUCOES.md
index b108d53..7175d84 100644
--- a/TABELA_DE_INSTRUCOES.md
+++ b/TABELA_DE_INSTRUCOES.md
@@ -19,6 +19,10 @@ Estruturas de controle são estruturas do tipo condicional, que irão analisar u
| se | Analisa se a condição dentro do parâmetro é verdadeira e executa uma ação. | se(a == b) {
// ação caso "a = b"
} |
| senao | Executa uma ação se o parâmetro da condição ``se`` for falso. | se(a == b) {
// ação caso "a = b"
}
senao {
// ação caso "a ≠ b"
} |
| para | Executa um bloco de instruções enquanto uma condição for satisfeita. É utilizado um contador para incrementar, ou decrementar, e terminar o loop. | para(x = 0; x < 2; x = x+1) {
/\* executa este bloco enquanto "x" for menor que 2 \*/
} |
+| paraCada | Executa uma varredura em um vetor/matriz enquanto não se chegar ao fim do mesmo ou ser forçada uma quebra de laço
+ | paraCada(celula,vetor){
+ /*executa esse bloco ate o fim do vetor ser atingido */ }
+ |
| contarAte | Aplicação da função ``para`` onde se escolhe o número de iterações. | contarAte(5) {
/\* executa este bloco de instruções 5 vezes \*/
} |
| enquanto | Esta função executa continuamente enquanto o teste do parâmetro for verdadeiro. | enquanto(x == 2) {
/\* ações a serem executadas enquanto o parâmetro for verdadeiro, ou seja, enquanto "x = 2" \*/
} |
| comparar....caso | Compara o parâmetro da função com os casos definidos. No exemplo, "x" é comparado com os valores 1 e 2. É utilizado a instrução ``sair`` para que não se realize os próximos testes se algum já for o verdadeiro. | comparar(x) {
caso 1:
/\* ação caso "x = 1" \*/
sair;
caso 2:
/\* ação caso "x = 2" \*/
sair;
padrao:
/\* executa se não for nenhum dos casos \*/
sair;
} |
diff --git a/examples/paraCada/paraCada.ino b/examples/paraCada/paraCada.ino
new file mode 100644
index 0000000..245e597
--- /dev/null
+++ b/examples/paraCada/paraCada.ino
@@ -0,0 +1,59 @@
+/*
+ paraCada(A,B)
+ Um melhoramento da função para(for) que auxilia o programador a percorrer um vetor ou matriz de dados até os seu fim.
+
+ Uso:
+
+ paraCada(A,B)
+ {
+ imprima(A);
+ }
+
+ Variáveis:
+ A (Variável a ser preenchida com os valores do vetor/matriz que está sendo lido. É
+ necessário que tenha o mesmo tipo do vetor).
+ B (Vetor/matriz a ser percorrido durante o laço).
+
+ O laço irá executar até o fim do vetor/matriz ser atingido ou uma condição de quebra seja
+ forçada.
+
+ Este exemplo de código está em domínio público.
+
+ criado em 28 de abril de 2018
+ modificado em 12 de fevereiro de 2019
+ Desenvolvido por Alesson Renato.
+ Contribuição a biblioteca Brasilino.
+
+ Este exemplo é baseado em código aberto referente a linguagem C++.
+*/
+
+// Inclue a biblioteca Brasilino
+#include
+
+// A funcao configurar executa uma vez quando a placa é ligada ou quando o botão de reset é pressionado
+funcao configurar() {
+ // Inicializa a comunicação serial com a placa
+ iniciarSerial();
+}
+
+// A funcao repetir executa para sempre
+funcao repetir() {
+ // Cria a variável celula que armazenará o conteudo das celulas do vetor, cria posição que demonstrará a posição ca leula atual e por fim cria um vetor com valores inteiros
+ inteiro celula posicao=1; vetor[10]{10,9,8,7,6,5,4,3,2,1};
+ // Chama a função paraCada que guardará em celula um valor de posição do vetor que cada iteração
+ paraCada(celula,vetor){
+ // Escreve Posicao na serial
+ escreverSerial("Posicao:");
+ // Escreve a posição lida atual
+ escreverSerial(posicao);
+ // Escreve um espaço entre os valores e a palavra Valor:
+ escreverSerial(" Valor:");
+ // Escreve o valor contido na celula atual e pula uma linha
+ escreverSerialn(celula);
+ esperar(0.5); // espera meio segundo
+ posição++; // atualiza posição
+}
+/*
+ OBS: O exemplo foi criado usando o tipo de dado inteiro, contudo a função é compatível com
+ qualquer tipo de dado primitivo ou composto compatível com a linguagem C++
+*/