---
sidebar_position: 2
title: "Loops (Repetição)"
---
# Loops - A Arte da Repetição
**Loops** são como receitas que dizem "faça isso várias vezes". É o computador sendo eficiente: em vez de escrever a mesma coisa 100 vezes, ele repete automaticamente!
## **O que são Loops?**
Loops são **estruturas de repetição** que fazem o programa executar as mesmas ações múltiplas vezes, sem precisar reescrever o código.
### **Analogia: Caminhada**
Imagine que você precisa dar 10 passos:
- **SEM LOOP**: Passo 1, Passo 2, Passo 3... (escrever 10 vezes)
- **COM LOOP**: "Repita 10 vezes: dê um passo"
Muito mais simples, não é?
## **Como Funcionam?**
### **Estrutura Básica**
```
REPITA X vezes:
faça isso
```
ou
```
ENQUANTO (condição verdadeira):
faça isso
```
## **Atividades Desplugadas**
### **1. Robô Repetidor**
**Material**: Cartões com comandos
**Como fazer**:
1. Um estudante é o "robô"
2. Outro é o "programador"
3. Programador dá comando: "Repita 5 vezes: levante o braço direito"
4. Robô executa exatamente 5 vezes
### **2. Música em Loop**
**Material**: Uma música conhecida
**Como fazer**:
1. Escolham um refrão simples
2. "Repita 3 vezes: Parabéns pra você..."
3. Todos cantam o refrão 3 vezes seguidas
4. Experimente com números diferentes
### **3. Receita de Biscoitos**
**Material**: Papel e caneta
**Como fazer**:
1. Escreva receita para 1 biscoito
2. Agora para 12 biscoitos sem loop:
- "Misture farinha, misture farinha, misture farinha..." (12 vezes)
3. Com loop:
- "Repita 12 vezes: misture farinha, adicione açúcar, modele"
## **Tipos de Loops**
```mermaid
flowchart TD
A[Preciso repetir uma ação] --> B{Sei quantas vezes?}
B -->|Sim| C[Use FOR]
B -->|Não| D{Tenho condição de parada?}
D -->|Sim| E[Use WHILE]
D -->|Não| F[Reveja a lógica para evitar loop infinito]
C --> G{É para cada item de lista?}
G -->|Sim| H[Use FOR EACH]
G -->|Não| I[FOR tradicional]
```
### **1. Loop com Contador (FOR)**
- Repete um **número específico** de vezes
- "Faça isso 10 vezes"
** Exemplo**: Escovar dentes
- Repita 20 vezes: mova a escova para cima e para baixo
### **2. Loop com Condição (WHILE)**
- Repete **enquanto** algo for verdadeiro
- "Faça isso enquanto..."
** Exemplo**: Dirigir até o destino
- Enquanto não chegou no destino: continue dirigindo
### **3. Loop para Cada Item (FOR EACH)**
- Repete **para cada** elemento de uma lista
- "Para cada item, faça isso"
** Exemplo**: Lista de compras
- Para cada item da lista: pegue o produto
## **Loops no Cotidiano**
### **Em Casa**
- ** Lavar louça**: Para cada prato sujo, lave
- ** Varrer casa**: Para cada cômodo, varra
- ** Tomar banho**: Repita até ficar limpo: ensaboe e enxágue
### **Na Escola**
- ** Tabuada**: Repita 10 vezes: 2 x número
- ** Leitura**: Para cada página do livro, leia
- ** Educação física**: Repita 20 vezes: flexão
### **Na Tecnologia**
- ** Email**: Para cada mensagem nova, notifique
- ** Vídeo**: Repita 30 vezes por segundo: mostre frame
- ** Jogos**: Enquanto jogo não acabou: continue rodando
## **Na Programação Visual**
### **Blocos de Loop**
No Decoda, você verá:
- ** Bloco "Repetir"**: Formato circular ou oval
- ** Número**: Quantas vezes repetir
- ** Comandos dentro**: O que será repetido
### **Exemplo no Jogo Tartaruga**
1. **Repetir 4 vezes**:
- Ande 100 passos
- Vire 90 graus à direita
2. **Resultado**: Desenha um quadrado!
## **Cuidados com Loops**
### **Loop Infinito**
- **Problema**: Loop que nunca para
- **Exemplo**: "Enquanto 1 = 1: diga olá" (nunca vai parar!)
- **Solução**: Sempre ter uma condição de parada
### **Loop Muito Lento**
- **Problema**: Muitas repetições desnecessárias
- **Exemplo**: "Repita 1 milhão de vezes: pisque"
- **Solução**: Use apenas o número necessário
## **Atividades Práticas com Decoda**
### **1. Desenhar Formas**
- **Triângulo**: Repita 3 vezes (ande, vire 120°)
- **Quadrado**: Repita 4 vezes (ande, vire 90°)
- **Estrela**: Repita 5 vezes (ande, vire 144°)
### **2. Mover Personagem**
- **Andar em linha**: Repita 10 vezes (ande 1 passo)
- **Dança**: Repita 5 vezes (esquerda, direita, pule)
- **Patrulha**: Enquanto não encontrar inimigo, ande
### **3. Sons e Efeitos**
- **Sirene**: Repita 10 vezes (som agudo, som grave)
- **Batida**: Repita enquanto música toca (toque tambor)
- **Eco**: Para cada nota, repita 3 vezes mais baixo
## **Dicas para Educadores**
### **Como Ensinar**
1. ** Mostre a ineficiência primeiro**: Escreva sem loop
2. ** Apresente o loop como mágica**: "E se eu disser que há um jeito mais fácil?"
3. ** Use atividades físicas**: Loops corporais
4. ** Vá do simples ao complexo**: Comece com números pequenos
### **Erros Comuns**
- **Esquecer a condição de parada**: Criar loops infinitos
- **Contar errado**: "Repita 5 vezes" mas contar 6
- **Loop desnecessário**: Usar loop para uma única ação
- **Condição sempre falsa**: Loop que nunca executa
### **Sinais de Compreensão**
- Identifica repetições no cotidiano
- Escolhe o tipo certo de loop
- Prevê quantas vezes algo vai repetir
- Explica quando usar ou não usar loops
## **Pensamento Computacional**
### **Reconhecimento de Padrões**
- Identificar quando algo se repete
- Ver semelhanças em diferentes situações
### **Decomposição**
- Quebrar problema grande em pequenas repetições
- "Como faço uma vez?" → "Como repito muitas vezes?"
### **Abstração**
- Focar no padrão, não nos detalhes
- "O que se repete é o importante"
### **Algoritmos**
- Criar sequências eficientes
- Otimizar através da repetição
## **Objetivos de Aprendizagem**
Ao final desta seção, estudantes devem conseguir:
- **** Identificar repetições no cotidiano
- **** Escolher o tipo apropriado de loop
- **** Criar loops simples na programação visual
- **** Evitar loops infinitos
- **** Otimizar código usando repetição
## **Atividades de Fixação**
### **1. Identifique o Loop**
Transforme estas ações em loops:
- Subir 10 degraus
- Ler todas as páginas de um livro
- Lavar todos os pratos
### **2. Conte as Repetições**
Quantas vezes o loop executará?
- Repita 5 vezes: pule
- Enquanto bateria > 0: use celular
- Para cada dedo da mão: conte
### **3. Construa o Loop**
Crie loops para:
- Desenhar escadinha de 6 degraus
- Tocar "Parabéns" 3 vezes
- Verificar chuva até parar
## **Referências e Recursos**
### **Sites Educativos**
- [Code.org - Loops](https://code.org/curriculum/course2/5/Activity5-Loops.pdf) - Atividades com loops
- [CS Unplugged - Algorithms](https://csunplugged.org/en/topics/algorithms/) - Algoritmos sem computador
- [Scratch - Repetition](https://scratch.mit.edu/ideas) - Ideias para loops
### **Vídeos Explicativos**
- [Loops Explained](https://www.youtube.com/watch?v=mgooqyWMTxk) - Explicação visual
- [Repetition in Programming](https://www.youtube.com/watch?v=wxds6MAtUQ0) - Code.org
- [For Loops vs While Loops](https://www.youtube.com/watch?v=94UHCEmprCY) - Diferenças
### **Jogos e Atividades**
- [Cargo Bot](http://twolivesleft.com/CargoBot/) - Programa robô com loops
- [Human Resource Machine](https://tomorrowcorporation.com/humanresourcemachine) - Puzzles com loops
- [While True: Learn()](https://luden.io/wtl/) - Machine learning com loops
### **Literatura Acadêmica**
- Weintrop, D. (2016). _Defining Computational Thinking for Mathematics and Science_
- Yadav, A. (2014). _Computational Thinking in Elementary and Secondary Education_
- Grover, S. (2013). _Learning to Code, Coding to Learn_
### **Ferramentas Complementares**
- [Logo Programming](http://www.logointerpreter.com/) - Desenhos com loops
- [Alice](http://www.alice.org/) - Programação 3D com repetição
- [Greenfoot](https://www.greenfoot.org/) - Java visual com loops
---
** Próximo**: Descubra [**Funções**](./funcoes) para organizar e reutilizar seu código!