Loop For
Autor: Alexandre Richard | Publicado: 2013-05-19T15:46:00-07:00

O loop for não é tão flexível quanto o loop while, porém, é o mais popular.
A maioria dos loops tem 4 partes essenciais.

- A configuração:
Envolve declarar e iniciar uma&nbsp;variável&nbsp;increment.

- O teste de expressão:
A expressão que levará o programa a executar o loop ou sair dele. Normalmente acontece entre os parentes.

- O corpo:
O código dentro das chaves.

- O incremento:
É onde a variável é incrementada. Normalmente no final do corpo.

O loop for incorpora as quatro partes em uma única estrutura. Ex.:

for(setup; teste de expressão; incremento)
{
&nbsp; Corpo;
}

Uma vez que o setup é executado, o controle vai para o teste da expressão.
O teste da expressão sendo verdadeiro, ou true, o controle passa para o corpo de loop for.
Se o teste da expressão passa a ser falso, ou false, o controle passa para a próxima declaração após a chave de fechamento.
Quando o controle tiver passado pelo corpo do loop for, é forçado a executar a seção de incremento do loop. Depois, o controle volta a testar a expressão.

Vamos refazer o programa fatorial utilizando o loop for para&nbsp;exemplificar&nbsp;e fixar.
------------------------------------------------------------------------------------------------------------


#include &lt;cstdio&gt;
#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
using namespace std;

int main(int nNumberofArgs, char* pszArgs[])
{
&nbsp; &nbsp;
&nbsp; &nbsp; int nAlvo;
&nbsp; &nbsp; cout &lt;&lt; "Entre com o numero para calcular seu fator: ";
&nbsp; &nbsp; cin &nbsp;&gt;&gt; nAlvo;

&nbsp; &nbsp;
&nbsp; &nbsp; int nAcumulador = 1;
&nbsp; &nbsp; for(int nValor = 1; nValor &lt;= nAlvo; nValor++)
&nbsp; &nbsp; {
&nbsp; &nbsp; &nbsp; &nbsp; cout &lt;&lt; nAcumulador &lt;&lt; " * "
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;&lt; nValor &lt;&lt; " igual ";
&nbsp; &nbsp; &nbsp; &nbsp; nAcumulador = nAcumulador * nValor;
&nbsp; &nbsp; &nbsp; &nbsp; cout &lt;&lt; nAcumulador &lt;&lt; endl;
&nbsp; &nbsp; }

&nbsp; &nbsp;
&nbsp; &nbsp; cout &lt;&lt; nAlvo &lt;&lt; " O fator e: "
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;&lt; nAcumulador &lt;&lt; endl;

&nbsp; &nbsp; system("PAUSE");
&nbsp; &nbsp; return 0;
}
------------------------------------------------------------------------------------------------------------

Há um operador que não foi mencionado, a virgula (,).
Vamos escrever um programa para ver o operador virgula(,) em ação. &nbsp;Este programa é apenas ilustrativos, vamos entrar numa prática mais aplicada para o operador virgula(,) quanto chegar os arrays, e eu espero chegar lá ;)

------------------------------------------------------------------------------------------------------------


#include &lt;cstdio&gt;
#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
using namespace std;

int main(int nNumberofArgs, char* pszArgs[])
{
&nbsp;int nAlvo;
&nbsp;cout &lt;&lt; "Entre com o valor maximo: ";
&nbsp;cin &gt;&gt; nAlvo;

&nbsp;for(int nMinuscula = 1, nMaiuscula = nAlvo;
&nbsp;nMinuscula &lt;= nAlvo; nMinuscula++, nMaiuscula--)
&nbsp;{
&nbsp; cout &lt;&lt; nMinuscula &lt;&lt; " * "
&nbsp; &nbsp; &nbsp; &nbsp;&lt;&lt; nMaiuscula &lt;&lt; " e igual "
&nbsp; &nbsp; &nbsp; &nbsp;&lt;&lt; nMinuscula * nMaiuscula &lt;&lt; endl;
&nbsp;}

&nbsp;system("pause");
&nbsp;return 0;
}
------------------------------------------------------------------------------------------------------------
Desta vez, nós queremos não apenas incrementar uma variável de 1 até o nAlvo, mas também, decrementar a segunda variável de nAlvo até 1.