Módulo 3 - Laços sob controle
Interromper o laço: quando achou, pode sair
8 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 08/07/2026
O que você vai aprender
- Entender o que o comando interromper (break) faz num laço.
- Usar o break para sair assim que a busca encontra o item.
- Perceber o ganho de esforço ao não varrer o resto à toa.
- Reconhecer o abuso do break, que embola o fluxo do laço.
Ouvir o resumo desta aula
Um recap de cerca de 2 minutos na voz do Valim, para ouvir no trânsito ou na academia.
Ler a transcrição do resumo
Resumo da aula: Interromper o laço: quando achou, pode sair.
Os objetivos desta aula. Entender o que o comando interromper (break) faz num laço. Usar o break para sair assim que a busca encontra o item. Perceber o ganho de esforço ao não varrer o resto à toa. Reconhecer o abuso do break, que embola o fluxo do laço.
Veja o essencial, parte por parte.
Achou? Pode parar. O comando interromper (break) encerra o laço na hora, mesmo no meio de uma volta.
O ganho real de sair cedo. O ganho do interromper cresce com o tamanho dos dados.
Poder com responsabilidade: sem abusar do break. Um break para encerrar uma busca bem-sucedida: limpo e recomendado.
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
Achou? Pode parar
Imagine procurar uma pessoa numa fila para entregar uma encomenda. Você caminha do começo perguntando o nome de cada um. Na quinta pessoa, é ela. Você entrega o pacote e vai embora, certo? Ninguém continua perguntando o nome das outras cinquenta pessoas da fila só porque começou a percorrer. Essa atitude óbvia tem um comando equivalente na programação: o interromper. Quando o laço encontra o que buscava, o interromper manda parar imediatamente, sem terminar as voltas que sobraram. É a diferença entre um programa que respeita o próprio tempo e um que varre a lista inteira por teimosia.
nomes <- ["Ana", "Bruno", "Carla", "Davi"]
procurado <- "Carla"
posicao <- 0
para cada nome em nomes faça
posicao <- posicao + 1
se nome = procurado então
escreva("Achei na posição ", posicao)
interrompa
fim
fim
// para na posição 3; Davi nem é comparadoAo achar Carla na posição 3, o interrompa encerra o laço. Davi não chega a ser testado.
O ganho real de sair cedo
O ganho do interromper cresce com o tamanho dos dados. Numa lista de quatro nomes, parar na terceira volta economiza uma comparação, quase nada. Numa lista de um milhão de cadastros, achar o item na posição dez e sair economiza novecentos e noventa e nove mil novecentos e noventa comparações. Em busca real, o item procurado costuma aparecer bem antes do fim, então sair cedo faz o programa parecer instantâneo em vez de arrastado. Guarde essa ideia: ela reaparece com força no módulo de busca e no de eficiência, onde você mede exatamente quanto trabalho um algoritmo evita.
🎮 Jogo da aula
Onde o laço para?
Este laço procura o primeiro número maior que 10 e para nele. Siga volta por volta e escolha o que aparece.
numeros <- [4, 8, 15, 16, 23]
para cada n em numeros faça
se n > 10 então
escreva("Primeiro grande: ", n)
interrompa
fim
fim
escreva("Fim")Poder com responsabilidade: sem abusar do break
O interromper é uma faca afiada, e faca afiada corta os dois lados. Um único interromper para encerrar uma busca é limpo e óbvio. Mas quando um laço tem três ou quatro pontos de saída espalhados, cada um com sua condição, fica difícil responder a pergunta mais básica: em que situações esse laço termina? O leitor precisa caçar todos os interromper para entender o fluxo. A recomendação prática é usar o interromper para o caso claro de achei, acabou, e desconfiar de laços com muitas saídas. Muitas vezes, reorganizar a condição do próprio laço, ou usar uma variável de encontrei, deixa a intenção mais legível que vários break.
Teste rápido
Um programa verifica se um CPF está numa lista de bloqueados de 50 mil itens. Por que usar interromper (break) ao encontrar melhora o programa?
Perguntas frequentes
- O interromper para todos os laços de uma vez?
- Não: ele para apenas o laço em que está diretamente. Se houver um laço dentro de outro, o interromper encerra só o de dentro, e o de fora continua. Isso é importante no fim deste módulo, quando os laços se aninham. Para sair de todos, usam-se outras técnicas, como uma variável de controle.
- Usar break é considerado má prática?
- Não em si. Um break claro para encerrar uma busca é boa prática e deixa o código eficiente. O que se evita é o abuso: muitos break com condições diferentes no mesmo laço, o que embola o fluxo. Como quase tudo em programação, a questão é usar com intenção clara, não banir.
- O que acontece com o código depois do interromper, dentro do laço?
- Não executa. O interromper salta direto para depois do fim do laço, então qualquer linha que viesse depois dele na mesma volta é ignorada. Por isso o interromper costuma ficar por último no bloco do SE que decide a saída, com a ação (como escrever achei) vindo antes dele.
- Dá para procurar sem usar break?
- Dá. Uma alternativa é usar um laço enquanto cuja condição inclua não encontrei ainda; quando encontra, a condição vira falsa e o laço termina naturalmente. Muitos consideram essa forma mais legível porque a condição de parada fica visível no topo. Break e essa técnica resolvem o mesmo problema por caminhos diferentes.
- O break funciona no laço para e no enquanto?
- Sim, nos dois. Em qualquer laço, o interromper encerra a repetição na hora. No para cada, ele para de percorrer a coleção; no enquanto, ele sai mesmo que a condição do topo ainda fosse verdadeira. A ideia é a mesma: uma saída de emergência do laço.
- E se o item procurado não estiver na lista?
- Aí o laço não encontra a condição de saída e roda até o fim naturalmente, testando todos os itens. É por isso que buscas costumam ter, depois do laço, um trecho que trata o caso não achei, geralmente checando uma variável que teria sido marcada se o item aparecesse.
Fontes
Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.