đ§ #4 â Repetir atĂ© acertar: como a lĂłgica dos laços resolve tarefas chatas
đ§ Introdução
Se nas Ășltimas ediçÔes vocĂȘ entendeu como pensar passo a passo, tomar decisĂ”es com âSE... ENTĂO...â e estruturar sua lĂłgica, agora chegou a hora de automatizar repetiçÔes.
Porque a real Ă©: computadores foram feitos pra repetir coisas.
E Ă© aqui que entram os laços de repetição â tambĂ©m conhecidos como loops. Eles servem pra evitar que vocĂȘ fique escrevendo a mesma coisa mil vezes.
E acredite: vocĂȘ vai usĂĄ-los o tempo todo.
đ O que Ă© um laço de repetição?
Laços de repetição são blocos de código que se repetem enquanto uma condição for verdadeira.
Pensa assim:
âEnquanto tiver roupa suja, continue lavando.â âEnquanto a fila tiver pessoas, atenda.â âEnquanto o alarme nĂŁo tocar, durma.â
Simples, né?
𧱠Tipos de laços mais comuns
Existem vårios tipos de laços (ou loops), mas os mais comuns e båsicos são:
- while â enquanto algo for verdadeiro, repita.
- for â repita um nĂșmero definido de vezes.
- do...while â repita ao menos uma vez, e continue se a condição for verdadeira.
Spoiler: todos eles fazem a mesma coisa, sĂł mudam a forma como vocĂȘ escreve.
đ€Ż Exemplo do mundo real
Imagine que vocĂȘ quer contar de 1 atĂ© 5.
VocĂȘ poderia fazer isso assim (de forma nĂŁo lĂłgica):
Mas isso é ineficiente, né?
Com um laço de repetição, vocĂȘ pode fazer isso com bem menos cĂłdigo:
Enquanto o usuårio não responder "JavaScript", o sistema continua perguntando. Assim que acertar, o laço para automaticamente.
đ§ Mas por que isso Ă© Ăștil?
Porque o computador Ă© excelente em fazer tarefas repetitivas. E como dev, vocĂȘ nĂŁo quer (e nem deve) ficar repetindo manualmente.
Com loops, vocĂȘ pode:
- Mostrar listas completas de produtos ou posts.
- Criar tabelas automĂĄticas.
- Validar vĂĄrias respostas do usuĂĄrio.
- Rodar testes automatizados.
- Aplicar regras em massa.
đČ Aplicação prĂĄtica: sistema de cadastro
Imagine que vocĂȘ quer cadastrar 3 usuĂĄrios em sequĂȘncia.
VocĂȘ pode usar:
Isso evita que vocĂȘ copie o mesmo bloco 3 vezes.
đĄ Pensamento lĂłgico antes do cĂłdigo
Antes de sair escrevendo for ou while, pense:
- O que precisa ser repetido?
- Quantas vezes ou até quando?
- Tem um nĂșmero fixo ou depende de algo acontecer?
đ Se vocĂȘ sabe quantas vezes quer repetir â use for. đ Se precisa repetir atĂ© uma condição mudar â use while.
đ§Ș Mini desafios (sem cĂłdigo ainda):
- VocĂȘ estĂĄ imprimindo crachĂĄs para uma turma de 10 alunos.
Como vocĂȘ repetiria essa ação com um laço?
- Um jogo pergunta o nome do jogador até que ele digite algo diferente de vazio.
Qual condição vocĂȘ verificaria?
- Um sistema precisa validar senhas: se estiver errada, pede novamente.
Como manter essa lógica até o usuårio acertar?
đŻ Desafio da edição:
Monte um passo a passo (em portuguĂȘs mesmo) para essa situação:
"Um restaurante precisa imprimir o cardĂĄpio com 5 itens, um por linha."
Agora pense:
- Quantos itens tem?
- Que dados precisam ser repetidos?
- Quando o loop deve parar?
Depois, tente converter para pseudocĂłdigo ou lĂłgica escrita assim:
Para i de 1 até 5
Mostrar item i
Fim do laço
Quer tentar em cĂłdigo? Pode mandar pra mim que te dou feedback! đ
â ïž Atenção: cuidado com loops infinitos!
Um erro muito comum de iniciantes é esquecer de atualizar a condição, fazendo o laço nunca parar.
Exemplo clĂĄssico em while:
đĄ Sempre revise:
- A condição (quando o loop deve continuar)
- O incremento ou mudança da variåvel
đ Dica extra: sites para praticar
- beecrowd â tem vĂĄrios desafios com loops!
- Exercism
- Codewars
- Faça um projetinho simples: lista de compras, quiz, contador...
đŹ Na prĂłxima ediçãoâŠ
Vamos falar sobre algoritmos: como montar um plano de ação antes de escrever qualquer código.
VocĂȘ vai aprender a escrever lĂłgica em portuguĂȘs antes de tocar no teclado â uma das prĂĄticas mais poderosas pra devs iniciantes.
đ Gostou da edição?
Compartilha com alguém que:
- TĂĄ repetindo cĂłdigo sem parar
- Vive travando em for e while
- Ou simplesmente quer programar com mais clareza
đŹ Deixe seu comentĂĄrio! Vamos trocar ideias e melhorar juntos đâš
đ Minhas Redes Sociais
Instagram - Facebook - Linkedin - PortfĂłlio - DIO
AtĂ© a prĂłxima! đ #NaTrilhaDoDev