As estruturas de repetição, popularmente conhecidas como loops, são um dos conceitos mais fundamentais e poderosos na programação e no desenvolvimento de algoritmos. Elas permitem que um conjunto de instruções seja executado múltiplas vezes, de forma automática, até que uma condição específica seja satisfeita ou um número pré-determinado de repetições seja atingido.
O principal objetivo dos loops é evitar a duplicação de código para tarefas repetitivas, tornando os algoritmos mais eficientes, legíveis e fáceis de manter. Imagine precisar imprimir a mesma mensagem dez vezes ou processar cada item de uma lista com centenas de elementos; os loops tornam essas tarefas triviais.
for (Para)O loop for é tipicamente usado quando o número de iterações é conhecido ou pode ser facilmente determinado antes do início do loop. Ele é ideal para percorrer sequências numéricas, elementos de uma coleção, ou executar um bloco de código um número fixo de vezes.
PARA [inicialização]; [condição de continuação]; [passo/incremento] FAÇA
// Bloco de código a ser repetido
FIM_PARA
// Pseudo-código
PARA contador DE 1 ATÉ 5 FAÇA
IMPRIMA contador
FIM_PARA
// Saída esperada:
// 1
// 2
// 3
// 4
// 5
Neste exemplo, o loop começa com contador valendo 1, continua enquanto contador for menor ou igual a 5, e incrementa contador em 1 a cada repetição.
while (Enquanto)O loop while é utilizado quando o número de iterações não é conhecido de antemão, e a repetição deve continuar enquanto uma condição específica for verdadeira. O bloco de código é executado repetidamente enquanto a condição do while for avaliada como verdadeira. É fundamental que algo dentro do bloco do loop mude a condição para falsa em algum momento, caso contrário, teremos um loop infinito.
ENQUANTO [condição] FAÇA
// Bloco de código a ser repetido
// É essencial que algo aqui altere a [condição] para que ela se torne FALSA
FIM_ENQUANTO
// Pseudo-código
variavel numero = 1
ENQUANTO numero <= 5 FAÇA
IMPRIMA numero
numero = numero + 1 // Incrementa o número para eventualmente sair do loop
FIM_ENQUANTO
// Saída esperada:
// 1
// 2
// 3
// 4
// 5
Aqui, o loop continua enquanto numero for menor ou igual a 5. A cada iteração, numero é incrementado, garantindo que a condição se torne falsa após a quinta repetição.
do-while (Faça-Enquanto)O loop do-while é similar ao while, mas com uma diferença crucial: o bloco de código é executado pelo menos uma vez antes que a condição seja verificada. Após a primeira execução, a repetição continua enquanto a condição for verdadeira.
FAÇA
// Bloco de código a ser repetido
// É essencial que algo aqui altere a [condição] para que ela se torne FALSA
ENQUANTO [condição]
// Pseudo-código
variavel entradaValida = FALSO
variavel opcaoUsuario
FAÇA
IMPRIMA "Por favor, digite 'sim' ou 'não':"
LEIA opcaoUsuario
SE opcaoUsuario É IGUAL A "sim" OU opcaoUsuario É IGUAL A "não" ENTAO
entradaValida = VERDADEIRO
SENAO
IMPRIMA "Opção inválida. Tente novamente."
FIM_SE
ENQUANTO entradaValida É IGUAL A FALSO
IMPRIMA "Você digitou: " + opcaoUsuario
Neste exemplo, a pergunta é feita e a entrada é lida pelo menos uma vez. Somente depois disso a condição entradaValida É IGUAL A FALSO é verificada para decidir se o loop deve continuar.
As estruturas de repetição são ferramentas indispensáveis na caixa de ferramentas de qualquer desenvolvedor. Elas fornecem o poder de automatizar tarefas, processar grandes volumes de dados e criar algoritmos dinâmicos e eficientes. Compreender quando e como usar cada tipo de loop (for, while, do-while) é fundamental para construir softwares robustos e eficazes.