Capítulo 10: Repetição II (Repita Até Que)
🎯 Objetivo da Aula
Um loop infinito nem sempre é o que queremos. Às vezes, o computador deve repetir uma tarefa apenas até que um objetivo seja alcançado. Nesta aula, você aprenderá sobre o laço Repita Até Que. O objetivo é dominar o controle de parada, essencial para processos como encher um tanque de combustível ou carregar um caminhão.
🏢 O Cenário Prático (Seu Desafio)
Situação: A FastLog está enchendo o tanque de um caminhão com 50 litros. O Problema: O frentista precisa apertar o botão e o combustível deve fluir até que o marcador chegue a 50.
Missão: Criar um simulador de abastecimento que pare automaticamente no limite definido.
🧠 Fundamentos: A Teoria Traduzida
1. O que é o Loop Condicional?
É um “Faça isso enquanto não acontecer aquilo”.
🍜 Exemplo 1: Cotidiano (Sopa)
[Repita]->[Comer colherada]->[Até que (prato esteja vazio)]
🔐 Exemplo 2: Técnico (Carregamento de Lote)
[Repita]->[Colocar caixa]->[Até que (capacidade = 50)]
graph TD
A[Início: Litros = 0] --> B{Litros = 50?}
B -- "Não" --> C[Adicionar 1 Litro]
C --> B
B -- "Sim" --> D[Tanque Cheio - PARAR]
style B fill:#f39c12,stroke:#fff,color:#fff
style D fill:#2ecc71,stroke:#fff,color:#fff🛠️ Mão na Massa: Atividade 10 - Posto FastLog
Vamos programar o abastecimento controlado:
Passo 1: Preparação
- Crie uma variável chamada
Litros_No_Tanque.
Passo 2: O Código de Abastecimento
Encaixe os blocos:
- 🟡 Eventos:
[quando clicar em 🏁] - 🟧 Variáveis:
[mude Litros_No_Tanque para 0] - 🟠 Controle:
[repita até que ( (Litros_No_Tanque) = 50 ) ]⬅️ Use o hexágono verde =- 🟧 Variáveis:
[adicione 1 a Litros_No_Tanque] - 🟣 Aparência:
[diga (junte "Abastecendo... " e (Litros_No_Tanque)) por 0.1 segundos]
- 🟧 Variáveis:
- 🟣 Aparência:
[diga "TANQUE CHEIO! LIBERADO." por 2 segundos] - 🔊 Som:
[toque o som 'Pop' até o fim]
✅ Resultado Esperado
Você verá o contador subir rapidamente de 0 a 50 no palco. No momento em que atingir 50, o ator parará de falar e emitirá o som de conclusão.
📤 Instruções de Entrega (Microsoft Teams)
- Crie um sistema de Carregamento de 10 Caixas.
- Use o
repita até quepara contar de 1 até 10. - Envie o print do código no Microsoft Teams na tarefa “Scratch Cap 10 - Loop Até Que”.
💡 Checkpoint de Lógica
- Para TI (Condição de Parada): Diferente do
sempre, orepita ate queé um laço controlado. Ele evita desperdício de processamento, pois para assim que atinge o objetivo. - Para ADM (Ciclo de Produção): Use este bloco para processos que têm um Lote Definido (ex: carregar até que o peso chegue a 10 toneladas).
🔥 Desafio de Fixação (ADM/TI)
Carregamento de Lote:
Crie um sistema que peça o peso de caixas. Use o repita ate que para somar esses pesos em uma variável Total. O programa deve parar assim que o Total for maior que 2000kg.
🔑 Gabarito de Lógica (Blocos)
Carregamento:
[mude caixas para 0][repita até que ( (caixas) = 10 )][adicione 1 a caixas][diga (caixas)][fim do repita][diga "Caminhão Carregado!"]