Lógica de ProgramaçãoFundamental· 8 min de leitura

Estruturas de Repetição: loops para automatizar tarefas

Repetir 1000 linhas de código manualmente é inviável. Com loops, você escreve uma vez e o computador executa quantas vezes for necessário.

Por que usar loops?

Imagine exibir os números de 1 a 1000 na tela. Sem loops, você precisaria de 1000 linhas de código. Com um loop for, resolve-se em 3 linhas. Loops são um dos recursos mais poderosos da programação.

Além de repetição simples, loops percorrem listas, processam arquivos, aguardam entradas do usuário e animam elementos em jogos. Dominar loops é essencial para qualquer programador.

🧮 Teste você mesmo — CalcSim

Quer mais recursos? Baixar app CalcSim IA

O laço FOR: quando você sabe quantas vezes repetir

O for é o loop mais usado quando o número de repetições é conhecido. Ele tem três partes: inicialização (define o ponto de partida), condição (o loop continua enquanto for verdadeira) e incremento (como o contador avança).

Estrutura: `for (int i = 0; i < 10; i++) { código }`. Traduzindo: comece com i = 0, repita enquanto i < 10, e a cada volta some 1 a i. Isso executa o bloco 10 vezes (i = 0, 1, 2, …, 9).

Para percorrer listas ou arrays, o for é quase sempre a escolha certa. Muitas linguagens oferecem o forEach ou for-in para percorrer cada elemento diretamente: `for (item in lista) { processar(item) }`.

  • i é a variável de controle mais comum por convenção, mas pode ser qualquer nome.
  • O índice começa em 0 na maioria das linguagens — o primeiro elemento de uma lista é lista[0], não lista[1].
  • Você pode iterar de trás para frente: `for (int i = 10; i > 0; i--)` conta de 10 até 1.

O laço WHILE: quando a condição comanda

O while repete enquanto uma condição for verdadeira, sem contador fixo. Ideal quando você não sabe quantas repetições serão necessárias.

Exemplo: ler entradas do usuário até receber 'sair'. `while (entrada != 'sair') { entrada = lerEntrada() }`. O programa continua pedindo entrada até o usuário digitar 'sair'.

A condição é verificada ANTES de cada execução. Se já começar falsa, o bloco nunca executa. Certifique-se de que o corpo do loop modifica a condição em algum momento — caso contrário, você terá um loop infinito.

  • Sempre garanta que a condição de saída será atingida.
  • Loop infinito intencional: `while (true) { ... break quando necessário }` — válido, mas exige um break explícito.
  • Use while para menus, validação de entrada, polling e aguardar estados externos.

O laço DO/WHILE: execute pelo menos uma vez

O do/while é como o while, mas a condição é verificada DEPOIS da execução. Isso garante que o bloco seja executado pelo menos uma vez, mesmo que a condição já seja falsa no início.

Exemplo clássico: menu de sistema. `do { exibirMenu(); opcao = lerOpcao() } while (opcao != 0)`. O menu é exibido uma vez antes da primeira verificação — o comportamento esperado para menus.

Na prática, o do/while é menos comum que o for e o while. Use-o quando a primeira execução é garantida antes da verificação, para deixar a intenção clara no código.

Break, continue e loops aninhados

O `break` interrompe o loop imediatamente, saindo dele. O `continue` pula o restante da iteração atual e vai para a próxima. Ambos tornam loops mais expressivos.

Loops aninhados (loop dentro de loop) são comuns para trabalhar com matrizes ou tabelas. O loop externo representa as linhas, o interno as colunas. Atenção: a complexidade cresce multiplicativamente — dois loops aninhados com 1000 iterações cada executam 1.000.000 de vezes.

Para melhor performance, pense se o problema pode ser resolvido sem loops aninhados. Funções de busca, ordenação e transformação de arrays embutidas nas linguagens modernas frequentemente são mais eficientes.

  • break: sai do loop mais interno imediatamente.
  • continue: pula para a próxima iteração do loop mais interno.
  • Loop aninhado O(n²): cuidado ao usar com coleções grandes.

Perguntas frequentes

Qual a diferença entre for e while?

Use for quando sabe quantas vezes vai repetir (número fixo ou tamanho de uma lista). Use while quando a repetição depende de uma condição que pode mudar de forma imprevisível. Tecnicamente você pode converter um no outro, mas usar o certo para cada situação torna o código mais legível.

Como evitar loops infinitos?

Sempre garanta que: 1) o corpo do loop altera a variável de controle ou a condição de parada; 2) a condição de parada é atingível com os dados reais. Em while, imprima a variável de controle no início do desenvolvimento para confirmar que ela está mudando. IDEs e depuradores permitem pausar um programa travado em loop infinito.

O que é iteração?

Iteração é cada execução do corpo do loop. Se o loop roda 5 vezes, ele tem 5 iterações. A variável de controle (i, j, etc.) tem um valor diferente em cada iteração.

Este artigo foi útil para você?

Avalie com estrelas para nos ajudar a melhorar o conteúdo.

Faça login para avaliar este artigo.

Ainda tem dúvida?

O Professor IA explica passo a passo

Faça uma pergunta em linguagem natural e receba uma explicação personalizada sobre Lógica de Programação — ou qualquer outro tópico.

Prefere resolver pelo celular?

Baixar o app grátis →

Continue aprendendo