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 variável 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)
{
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 exemplificar e fixar.
------------------------------------------------------------------------------------------------------------
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int nNumberofArgs, char* pszArgs[])
{
int nAlvo;
cout << "Entre com o numero para calcular seu fator: ";
cin >> nAlvo;
int nAcumulador = 1;
for(int nValor = 1; nValor <= nAlvo; nValor++)
{
cout << nAcumulador << " * "
<< nValor << " igual ";
nAcumulador = nAcumulador * nValor;
cout << nAcumulador << endl;
}
cout << nAlvo << " O fator e: "
<< nAcumulador << endl;
system("PAUSE");
return 0;
}
------------------------------------------------------------------------------------------------------------
Há um operador que não foi mencionado, a virgula (,).
Vamos escrever um programa para ver o operador virgula(,) em ação. 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 <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int nNumberofArgs, char* pszArgs[])
{
int nAlvo;
cout << "Entre com o valor maximo: ";
cin >> nAlvo;
for(int nMinuscula = 1, nMaiuscula = nAlvo;
nMinuscula <= nAlvo; nMinuscula++, nMaiuscula--)
{
cout << nMinuscula << " * "
<< nMaiuscula << " e igual "
<< nMinuscula * nMaiuscula << endl;
}
system("pause");
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.
domingo, 19 de maio de 2013
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário