• Olá Visitante, se gosta do forum e pretende contribuir com um donativo para auxiliar nos encargos financeiros inerentes ao alojamento desta plataforma, pode encontrar mais informações sobre os várias formas disponíveis para o fazer no seguinte tópico: leia mais... O seu contributo é importante! Obrigado.

Instrução For

Serr@no™

GF Ouro
Membro Inactivo
Entrou
Set 23, 2006
Mensagens
1,690
Gostos Recebidos
0
A sintaxe do for é a seguinte:
for( <inicialização> ; <teste> ; <incremento> )
<instrução>
Programa de exemplo:
#include <iostream>
using namespace std;
// programa que escreve o alfabeto
int main()
{
for( char c = 'A'; c <= 'Z' ; ++c ) {
cout<<' '<< c;
if( (c - 'A' + 1) % 4 == 0 ) cout<<endl; /* esta parte serve para mudar de linha
de 4 em 4 caractéres */
}
return 0;
}
É claro que em vez de um char podia-se ter um utilizado um int, ou qualquer outra coisa. Usei o char neste exemplo para mostar esta potencialidade do C++.
O for funciona assim:
1. Primeiro, faz o que se pede na iniciação:
char c = 'A';
2. faz o teste, se for true, realiza as instruções, se for false sai do for:
cout<<' '<< c;
if( (c - 'A' + 1) % 4 == 0 ) cout<<endl;
3. Realiza o incremento:
4. Volta ao ponto 2
Sublinho que só se sai do for quando o teste for false! Ou seja, quando a variável c for 'Z'. De seguida estão vários exemplos do for.
#include <iostream>
using namespace std;
// programa que pede um caracter e um numero(n) e escreve esse caracter n vezes
int main()
{
int num; char c;


cout<<"introduza um numero:"; cin>>num;
cout<<"introduza um caracter:"; cin>>c;
cout<<endl;


int i; // não é obrigatório daclarar a variável dentro do for
for( i = 0; i < num; ++i )
cout<<c;


cout<<endl;
i = 2; num += 2; // não são obrigatórios os campos do for
for( ; i < num; ++i )
cout<<c;


cin.get();
}
Por vezes utiliza-se mesmo um for forever:
// não experimentar este programa
int main()
{
for( ; ; ) // forever!
;
/* pode-se dar o caso de se ter um for sem nenhuma instrução específica
nesse caso utiliza-se o ';' como se mostra no exemplo. Põe-se na linha seguinte
para mostrar que é mesmo essa a intenção do for */
}
Não sei que mais dizer sobre o for, penso que com o que foi escrito se pode apreender o conceito do for.
Aproveito para deixar um pequeno reparo:
// programa de exemplo sobre o scoop do for
int main()
{
for( int a = 0 ; ... ; ... ) { // os pontos significam qualquer coisa
....
}
a = 2; // já está fora do scoop do for, dará erro?
}
Pois, isso irá depender do compilador. O Visual C++, por exemplo, faz com que aquela variável a esteja acessível no resto do scoop da função main, não dando erro a instrução a=2;
Mas em compiladores como o gcc a coisa já não é assim... Nesses, o scoop da variável é o do for! O que por acaso até é standard C++...
 
Topo