Estrutura de repetição FOR em C++
A instrução de repetição FOR tem a seguinte sintaxe:for(inicialização ; teste_condicional ; atualização){ // código que executa enquanto // o teste condicional // for verdadeiro }Vamos lá.
A estrutura de repetição FOR tem três expressões dentro dela, separadas por ponto e vírgula.
O laço começa com algum tipo de inicialização, geralmente uma variável de contagem, com algum valor inicial.
Após essa inicialização, ocorre o teste condicional. Se for verdadeiro, o código dentro das chaves do laço FOR é executado.
Após cada iteração, ocorre a 'atualização', onde geralmente atualizamos o valor do contador, muito comumente é uma variável que vai se incrementar ou decrementar.
Então, novamente o teste condicional é realizado, em caso de ser verdadeiro, novamente o código do FOR é executado. Após essa iteração, ocorre mais uma vez a atualização.
Exemplo de uso do laço FOR
Em programação, um exemplo vale mais que mil palavras.Vamos contar de 1 até 10, usando o laço for, o código é o seguinte:
#include <iostream> using namespace std; int main() { int count; for(count=1; count<=10 ; count++){ cout << count << endl; } return 0; }A nossa variável de controle é a count, que vai iniciar valendo 1.
Vamos printar ela na tela enquanto seu valor for menor ou igual a 10.
A cada iteração, incrementamos ela em uma unidade (count++), pois queremos que ela vá de 1 até 10.
Note que já fazíamos isso no laço WHILE, mas inicializávamos as variáveis antes do laço, dentro dele a gente atualizava a variável a cada loop e ocorria o teste condicional dentro dos parêntesis do WHILE.
Ocorre a mesma maneira no laço FOR, mas de maneira mais organizado.
Como usar a estrutura de repetição FOR
Vamos fazer o contrário agora, uma contagem regressiva, que conta de 100 até 1.Para isso, inicializamos nossa variável de controle como 100.
O teste a ser realizado é: count > 0
Ou seja, enquanto a variável tiver um valor acima de 0, as iterações do laço FOR vão ocorrer.
E a cada iteração temos que decrementar o count, pois ele vai de 100 pra 1, de um em um.
Veja como ficou nosso código:
#include <iostream> using namespace std; int main() { int count; for(count=100; count>0 ; count--){ cout << count << endl; } return 0; }Nem sempre, porém, vamos incrementar ou decrementar de 1 em 1.
Podemos atualizar nossas variáveis da maneira que quisermos.
Por exemplo, vamos imprimir na tela todos os números pares de 1 até mil.
O primeiro par é o 2, então inicializamos nossa variável com esse valor.
Vamos incrementar de 2 em 2: count += 2
E o teste é enquanto a variável for menor ou igual a mil: count <= 1000
#include <iostream> using namespace std; int main() { int count; for(count=2; count<=1000 ; count+=2){ cout << count << endl; } return 0; }Veja a incrível velocidade com que esse código é executado.
Duvida da capacidade do C++? Coloque 1 milhão.
Quando usar o laço FOR
Muitas vezes, queremos fazer loopings com determinado número de iterações.Por exemplo, ao pedir as notas de um aluno, vamos pedir o tanto de matérias que existem, para calcular a média.
Para calcular seu imposto de renda, precisamos somar todo seu salário do ano, ou seja, 13 salários (tem o décimo terceiro).
O laço FOR é ideal quando você sabe exatamente o número de iterações que vai fazer: "ah, quero calcular isso nesse intervalo de x até y", então pimba, use a estrutura de repetição FOR.
Quando não sabe quando o looping deve terminar ou tem menos controle sobre quantas iterações devem ocorrer, aí use o laço WHILE.
Lembrando que, no fundo, eles são absolutamente a mesma coisa.
Só vai ser mais fácil trabalhar com FOR algumas vezes e com WHILE em outras ocasiões.
Estrutura de Repetição FOR
Crie um programa que pede quantas notas você quer calcular a média, em seguida pede cada uma dessas notas e por fim exibe a média.Vamos armazenar o número de notas que vamos pedir na variável n.
O próximo passo é pedir nota por nota, e aqui vem o pulo do gato: calcular a soma de todas as notas.
Dentro do FOR, a variável de controle aux vai da nota 1 até a nota n, pedindo uma por uma e armazenando essa nota na variável grade.
Vamos armazenar na variável sum, a soma de todas essas notas.
Por fim, exibimos sum/n para exibir a média.
Veja nosso código C++:
#include <iostream> using namespace std; int main() { int aux, n; float grade, sum=0; cout <<"Quantas matérias: "; cin >> n; for(aux=1; aux<=n ; aux++){ cout <<"Nota "<<aux<<": "; cin >> grade; sum += grade; } cout << "Média: "<<(sum/n)<<endl; return 0; }Note como essa estrutura de repetição é controlada: ela vai sempre rodar 'n' iterações, seja lá qual o valor de 'n' (obviamente, o número de notas deve ser um valor inteiro positivo).
Pode preencher com 2 notas, 3 notas, mil notas, um milhão de notas...
Poderoso, esse laço FOR não é?
Valeu pela explicação!
ResponderExcluir