programandoai

O loop for

Quando você já sabe quantas vezes quer repetir uma tarefa, o for faz o trabalho braçal por você, sem cansar e sem errar.

Estudar esta lição interativa →

Imagine que te pedissem para escrever "Bom dia" cem vezes, ou somar todos os números de 1 a 1000, ou gerar a tabuada do 7. Na mão, seria um tédio (e um convite ao erro). Computadores, porém, são incansáveis: nunca reclamam de repetir a mesma tarefa um milhão de vezes. Só falta a gente saber pedir essa repetição. A ferramenta para isso é o loop (em português, "laço"), e ele é o que separa um programa que faz uma continha de um que processa a lista inteira de pedidos de uma loja.

O loop mais clássico de todos é o for. Ele foi feito para uma situação bem específica e comum: quando você já sabe quantas vezes quer repetir, seja "cem vezes", seja "uma vez para cada dia da semana". A ideia por trás dele é simples: existe um contador, um numerozinho que começa num valor, vai subindo de um em um a cada repetição, e o loop continua rodando enquanto esse contador não passar de um limite.

Todo loop, no fundo, faz sempre a mesma dança em três tempos: confere se ainda vale a pena continuar, roda o trabalho uma vez e dá um passo em direção ao fim. Depois volta ao começo e repete. Enquanto a condição valer, o ciclo gira:

O ciclo de qualquer loop: confere a condição; se ela vale, roda o corpo e dá um passo; então volta a conferir. Quando a condição deixa de valer, o loop termina.

O for reúne essas três coisas num cabeçalho único, entre parênteses, separando cada parte com ponto e vírgula. É um formato novo, então vale dissecar com calma:

O cabeçalho do for tem três partes separadas por ponto e vírgula: onde o contador começa, até quando ele continua e o passo que ele dá a cada volta.

Repare que o contador se chama i (de "índice"). É só uma variável comum, e você poderia chamá-la de qualquer coisa, mas i é uma tradição tão antiga e universal que praticamente todo loop do mundo usa essa letra. Rode o exemplo e acompanhe o i subindo de 1 até 5, uma linha por volta:

// O for repete um bloco várias vezes.
// (começo; condição para continuar; passo a cada volta)
for (let i = 1; i <= 5; i++) {
  console.log("Volta número " + i);
}

console.log("Acabou o loop!");
O i++ que você já conhece

Aquele i++ na terceira parte não é novidade: é o mesmo atalho de "somar 1" que vimos na tabela de operadores, lá no Módulo 2. Ele é o passo do loop, o que faz o contador avançar a cada volta. E ele é essencial: sem um passo que empurre o contador em direção ao limite, a condição nunca ficaria falsa e o loop rodaria para sempre.

Contar e mostrar já é útil, mas o for brilha mesmo quando cada volta contribui para um resultado que vai crescendo. O padrão é criar uma variável antes do loop (o "acumulador") e, a cada volta, somar um pouco nela. No fim, ela guarda o total. Veja como somar todos os números de 1 a 10 sem escrever dez somas na mão:

// Somando os números de 1 até 10 com um loop:
let soma = 0;

for (let n = 1; n <= 10; n++) {
  soma += n;
}

console.log("A soma de 1 a 10 é:", soma); // 55
// Sua vez! Transforme este loop na tabuada do 3.
// Pistas: o limite vai até 10, e imprima i * 3 dentro do loop.
for (let i = 1; i <= 5; i++) {
  console.log(i);
}
// Deve sair: 3, 6, 9, 12, ... até 30.

Monte a tabuada do 3 e clique em Rodar.

← Voltar ao índice do curso