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

  1. Crie uma variável chamada Litros_No_Tanque.

Passo 2: O Código de Abastecimento

Encaixe os blocos:

  1. 🟡 Eventos: [quando clicar em 🏁]
  2. 🟧 Variáveis: [mude Litros_No_Tanque para 0]
  3. 🟠 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]
  4. 🟣 Aparência: [diga "TANQUE CHEIO! LIBERADO." por 2 segundos]
  5. 🔊 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)

  1. Crie um sistema de Carregamento de 10 Caixas.
  2. Use o repita até que para contar de 1 até 10.
  3. 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, o repita 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!"]