Estruturas de Repetição: Entenda For, While e Do-While na Lógica de Programação

Entenda como funcionam os laços for, while e do-while, quando usar cada um e como evitar os erros mais comuns em lógica de programação.

Compartilhar no Linkedin Compartilhar no WhatsApp

Tempo estimado de leitura: 8 minutos

Imagem do artigo Estruturas de Repetição: Entenda For, While e Do-While na Lógica de Programação

Repetir tarefas é uma das coisas que os computadores fazem melhor. Imprimir uma lista com mil nomes, somar todos os itens de um carrinho de compras ou verificar cada linha de um arquivo são tarefas que ninguém escreveria manualmente, linha por linha. É aí que entram as estruturas de repetição, também chamadas de laços ou loops. Neste artigo, você vai entender como funcionam o for, o while e o do-while, quando usar cada um e quais erros evitar.

O que é uma estrutura de repetição

Uma estrutura de repetição é um bloco de código que executa as mesmas instruções várias vezes, enquanto uma condição for verdadeira. Em vez de escrever a mesma linha dez vezes, você escreve uma vez e informa ao programa quantas vezes (ou até quando) ela deve se repetir.

Todo laço, independentemente da linguagem, é formado por três ideias básicas:

  1. Inicialização: o ponto de partida, geralmente uma variável de controle (um contador).
  2. Condição: o teste que decide se o laço continua ou para.
  3. Atualização: a mudança que aproxima o laço do fim, como somar 1 ao contador.

Se qualquer uma dessas três partes estiver errada, o laço pode repetir menos vezes do que deveria — ou nunca parar.

O laço for: quando você sabe quantas repetições quer

O for é a escolha natural quando o número de repetições é conhecido antes de o laço começar. Ele reúne inicialização, condição e atualização em uma única linha, o que deixa o código compacto e fácil de ler.

// Exibe os números de 1 a 5
for (int i = 1; i <= 5; i++) {
    imprimir(i);
}

Lendo em voz alta: comece com i valendo 1; enquanto i for menor ou igual a 5, execute o bloco; ao fim de cada volta, some 1 em i. O laço roda exatamente cinco vezes.

Use o for quando a resposta para “quantas vezes isso vai repetir?” já existe antes da primeira volta: percorrer os 12 meses do ano, os 50 itens de uma lista ou as 3 tentativas de senha permitidas.

O laço while: quando você não sabe quantas repetições serão necessárias

O while repete enquanto uma condição continuar verdadeira, sem se importar com contagem. Ele testa a condição antes de executar o bloco. Se a condição já começar falsa, o bloco nunca roda.

// Continua pedindo até o usuário digitar um número válido
enquanto (numero <= 0) {
    imprimir("Digite um número positivo:");
    numero = lerEntrada();
}

Aqui não há como saber de antemão quantas tentativas o usuário fará. Pode acertar de primeira ou errar oito vezes. O while é ideal para situações que dependem de algo externo: entrada do usuário, leitura de um arquivo até o fim ou espera por uma resposta.

O laço do-while: quando o bloco precisa rodar pelo menos uma vez

O do-while é irmão do while, com uma diferença importante: ele testa a condição depois de executar o bloco. Isso garante no mínimo uma execução, mesmo que a condição seja falsa desde o início.

// Exibe o menu ao menos uma vez e repete até o usuário escolher sair
faca {
    exibirMenu();
    opcao = lerEntrada();
} enquanto (opcao != "sair");

Menus interativos são o exemplo clássico: o menu precisa aparecer ao menos uma vez para que o usuário possa escolher alguma coisa — inclusive escolher sair. Vale saber que nem toda linguagem oferece o do-while; em Python, por exemplo, ele é simulado com um while e uma condição de saída interna.

Comparando os três laços

Característicaforwhiledo-while
Quando o teste aconteceAntes de cada voltaAntes de cada voltaDepois de cada volta
Execuções mínimasZeroZeroUma
Número de repetiçõesGeralmente conhecidoGeralmente desconhecidoGeralmente desconhecido
Uso típicoPercorrer listas e contagensAguardar uma condição mudarMenus e validações iniciais

Vale reforçar: os três são intercambiáveis. Qualquer for pode ser reescrito como while e vice-versa. A escolha é sobre clareza, não sobre capacidade. Escolha o laço que deixa a intenção do código mais evidente para quem for lê-lo depois — inclusive você.

Erros comuns em estruturas de repetição

Alguns tropeços aparecem com frequência para quem está começando:

  • Laço infinito: esquecer de atualizar a variável de controle. Se o contador nunca muda, a condição nunca fica falsa e o programa trava.
  • Erro de um a mais ou um a menos: confundir < com <= e acabar processando um item a mais ou deixando o último de fora.
  • Modificar a coleção durante o laço: remover itens de uma lista enquanto a percorre costuma gerar resultados imprevisíveis.
  • Trabalho desnecessário dentro do laço: repetir um cálculo que poderia ser feito uma única vez antes do laço começar.

Uma técnica simples ajuda muito a evitar esses problemas: o teste de mesa. Pegue papel e caneta, escolha valores pequenos e anote o valor de cada variável a cada volta do laço. Em poucos minutos, você enxerga exatamente onde a lógica desvia do esperado — sem depender do computador.

Comandos que alteram o fluxo do laço

Duas instruções aparecem com frequência dentro de laços e valem ser conhecidas desde cedo:

  • break: interrompe o laço imediatamente e segue para o código seguinte. Útil quando você encontrou o que procurava e não precisa continuar.
  • continue: pula o restante da volta atual e vai direto para a próxima. Útil para ignorar itens que não interessam.

Use os dois com moderação. Em excesso, eles espalham as saídas do laço por vários pontos do código e dificultam o entendimento.

Laços aninhados

Um laço pode conter outro laço dentro dele. É assim que se percorre uma tabela: o laço externo caminha pelas linhas e o interno, pelas colunas. Se o externo roda 10 vezes e o interno roda 10 vezes a cada volta, o bloco mais interno executa 100 vezes. Esse crescimento é rápido, então tenha atenção ao aninhar muitos níveis — o custo se multiplica.

Conclusão

Estruturas de repetição são um dos pilares da lógica de programação. O for brilha quando o número de voltas é conhecido, o while resolve situações que dependem de uma condição externa e o do-while garante ao menos uma execução. Dominar os três é menos sobre decorar sintaxe e mais sobre reconhecer qual deles descreve melhor o problema que você tem em mãos.

A melhor forma de fixar esses conceitos é praticando: escreva pequenos programas que contem, somem, filtrem e percorram listas, e faça o teste de mesa sempre que o resultado surpreender. Se quiser se aprofundar de forma estruturada, vale explorar os cursos gratuitos de lógica de programação e desenvolvimento disponíveis na Cursa, que acompanham você desde os primeiros conceitos até a prática em linguagens como Python, Java e C.

Cursos gratuitos em vídeo

Imagem do Curso gratuito Algoritmos e Lógica de Programação

Curso GratuitoAlgoritmos e Lógica de Programação

5

EstrelaEstrelaEstrelaEstrelaEstrela

(5)

Clock icon

4h06m

List icon

14 exercícios

Imagem do Curso gratuito Lógica de Programação

Curso GratuitoLógica de Programação

5

EstrelaEstrelaEstrelaEstrelaEstrela

(10)

Clock icon

1h55m

List icon

15 exercícios

Imagem do Curso gratuito Aprenda Programação criando games

Curso GratuitoAprenda Programação criando games

5

EstrelaEstrelaEstrelaEstrelaEstrela

(4)

Clock icon

2h52m

List icon

13 exercícios

Imagem do Curso gratuito Lógica de programação

Curso GratuitoLógica de programação

4.96

EstrelaEstrelaEstrelaEstrelaEstrela

(53)

Clock icon

7h35m

List icon

15 exercícios

Recomendado
Imagem do Curso gratuito Algoritmo e lógica de programação em C

Curso GratuitoAlgoritmo e lógica de programação em C

4.88

EstrelaEstrelaEstrelaEstrelaEstrela

(122)

Clock icon

8h44m

List icon

27 exercícios

Ideal para iniciantes
Imagem do Curso gratuito Lógica de programação na prática com desafios

Curso GratuitoLógica de programação na prática com desafios

4.86

EstrelaEstrelaEstrelaEstrelaEstrela

(7)

Clock icon

3h02m

List icon

5 exercícios

Imagem do Curso gratuito Lógica de Programação com Python para Iniciantes

Curso GratuitoLógica de Programação com Python para Iniciantes

4.8

EstrelaEstrelaEstrelaEstrelaEstrela

(5)

Clock icon

1h05m

List icon

5 exercícios

Imagem do Curso gratuito Logica de programação

Curso GratuitoLogica de programação

4.78

EstrelaEstrelaEstrelaEstrelaEstrela

(79)

Clock icon

1h11m

List icon

8 exercícios

Imagem do Curso gratuito Lógica de programação

Curso GratuitoLógica de programação

4.74

EstrelaEstrelaEstrelaEstrelaMeia estrela

(143)

Clock icon

4h18m

List icon

31 exercícios

Imagem do Curso gratuito Lógica de programação completa

Curso GratuitoLógica de programação completa

4.67

EstrelaEstrelaEstrelaEstrelaMeia estrela

(9)

Clock icon

9h19m

List icon

24 exercícios

Ideal para iniciantes
Imagem do Curso gratuito Lógica de programação com Javascript do zero para iniciantes em programação

Curso GratuitoLógica de programação com Javascript do zero para iniciantes em programação

4.67

EstrelaEstrelaEstrelaEstrelaMeia estrela

(3)

Clock icon

3h07m

List icon

6 exercícios

Imagem do Curso gratuito Lógica de programação

Curso GratuitoLógica de programação

4.38

EstrelaEstrelaEstrelaEstrelaMeia estrela

(8)

Clock icon

1h29m

List icon

17 exercícios

Imagem do Curso gratuito Lógica de Programação em Portugol para Iniciantes

Curso GratuitoLógica de Programação em Portugol para Iniciantes

1

Estrela

(1)

Clock icon

1h59m

List icon

8 exercícios

Imagem do Curso gratuito Linguagem e lógica de programação

Curso GratuitoLinguagem e lógica de programação

Novo

Clock icon

9h32m

List icon

8 exercícios

Imagem do Curso gratuito Lógica de Programação e Algoritmos

Curso GratuitoLógica de Programação e Algoritmos

Novo

Clock icon

5h56m

List icon

20 exercícios

Imagem do Curso gratuito Pensamento Computacional

Curso GratuitoPensamento Computacional

Novo

Clock icon

2h32m

List icon

11 exercícios

Recomendado
Imagem do Curso gratuito Portugol Studio: Algoritmos e Lógica de Programação do Zero

Curso GratuitoPortugol Studio: Algoritmos e Lógica de Programação do Zero

Novo

Clock icon

5h50m

List icon

25 exercícios

Imagem do Curso gratuito Lógica de Programação em Flutter: Do Zero ao App

Curso GratuitoLógica de Programação em Flutter: Do Zero ao App

Novo

Clock icon

2h38m

List icon

15 exercícios

Imagem do Curso gratuito Lógica de Programação e Algoritmos do Zero ao Avançado

Curso GratuitoLógica de Programação e Algoritmos do Zero ao Avançado

Novo

Clock icon

2h17m

List icon

6 exercícios

Ideal para iniciantes
Imagem do Curso gratuito Lógica de Programação e Algoritmos no Visualg (do Zero ao Avançado)

Curso GratuitoLógica de Programação e Algoritmos no Visualg (do Zero ao Avançado)

Novo

Clock icon

4h43m

List icon

10 exercícios

Como Criar um Sumário Automático no Word: Guia Passo a Passo

Aprenda a criar, personalizar e atualizar um sumário automático no Word usando estilos de título, de forma rápida e profissional.

Big Data: O Que É e Qual a Sua Relação com a Inteligência Artificial

Entenda o que é Big Data, os 5 Vs que o definem e como ele alimenta a inteligência artificial no dia a dia das empresas.

PROCV e PROCX: Como Buscar Dados Automaticamente no Excel

Aprenda a usar as funções PROCV e PROCX do Excel para localizar informações em tabelas de forma rápida, prática e sem erros.

Funções Essenciais do Excel para Iniciantes: SOMA, MÉDIA e PROCV

Conheça as funções mais úteis do Excel para quem está começando: SOMA, MÉDIA, SE, CONT.SE e PROCV, com exemplos simples e diretos.

O que é Aprendizado por Reforço? Entenda a IA que Aprende por Tentativa e Erro

Descubra o que é aprendizado por reforço, como funciona esse ramo da inteligência artificial e onde ele já está presente no dia a dia.

Autenticação de Dois Fatores (2FA): O Que É e Como Proteger Suas Contas

Entenda o que é a autenticação de dois fatores (2FA), os principais tipos e como ativá-la para proteger suas contas online.

Processamento de Linguagem Natural: Como as Máquinas Entendem a Linguagem Humana

Entenda o que é o Processamento de Linguagem Natural (PLN), como funciona e onde essa tecnologia da IA já faz parte do seu dia a dia.

O Que É SQL? Introdução à Linguagem dos Bancos de Dados

Entenda o que é SQL, para que serve e os principais comandos da linguagem usada para consultar e gerenciar bancos de dados relacionais.