Capítulo 12: Aninhamento de Blocos

🎯 Objetivo da Aula

No mundo real, as coisas acontecem em ciclos dentro de ciclos. Nesta aula, você aprenderá sobre o Aninhamento de Blocos (um loop dentro do outro). O objetivo é entender como processar dados complexos, como gerenciar várias equipes em vários dias da semana ou simular o movimento de um relógio.


🏢 O Cenário Prático (Seu Desafio)

Situação: A FastLog tem 3 caminhões para carregar, e cada caminhão deve receber exatamente 3 caixas. O Problema: Como fazer o computador entender que ele deve repetir o “Ciclo de Carregamento” para cada um dos “Ciclos de Caminhão”?

Missão: Criar uma estrutura de repetição dupla para simular o carregamento de uma frota pequena.


🧠 Fundamentos: A Teoria Traduzida

1. O Conceito de Ninho

Imagine o ponteiro de um relógio: o ponteiro dos minutos precisa dar 60 voltas completas para que o ponteiro das horas dê apenas 1 passo.

⌚ Exemplo 1: Cotidiano (Relógio)

  • [Repita 24 vezes (Horas)]
    • [Repita 60 vezes (Minutos)]

📊 Exemplo 2: Técnico (Escala de Trabalho)

  • [Repita 3 vezes (Equipes)]
    • [Repita 5 vezes (Dias)]
graph TD
    A[Início Loop Caminhão] --> B[Início Loop Caixa]
    B --> C{Fim das Caixas?}
    C -- "Sim" --> D[Próximo Caminhão]
    C -- "Não" --> B
    
    style B fill:#f39c12,stroke:#fff,color:#fff
    style D fill:#2ecc71,stroke:#fff,color:#fff

🛠️ Mão na Massa: Atividade 12 - Carregamento de Frota

Vamos programar a repetição dupla:

Passo 1: O Código de Aninhamento

Encaixe os blocos cuidadosamente (um repita dentro do outro):

  1. 🟡 Eventos: [quando clicar em 🏁]
  2. 🟠 Controle: [repita (3) vezes] ⬅️ Este controla o número de Caminhões
    • 🟣 Aparência: [diga (junte "Iniciando Caminhão " e (tamanho da lista)) por 2 segundos]
    • 🟠 Controle: [repita (3) vezes] ⬅️ Este controla as Caixas de CADA caminhão
      • 🟣 Aparência: [diga "Carregando Caixa..." por 1 segundo]
      • 🔊 Som: [toque o som 'Pop' até o fim]
      • 🟡 Controle: [espere 0.5 segundos]
    • 🟣 Aparência: [diga "Caminhão Completo! Próximo..." por 2 segundos]
    • 🟡 Controle: [espere 1 segundos]

✅ Resultado Esperado

O ator dirá “Iniciando Caminhão 1”, depois fará a ação da caixa 3 vezes. Em seguida, dirá “Caminhão 1 completo” e recomeçará o ciclo para o Caminhão 2 e o Caminhão 3.


📤 Instruções de Entrega (Microsoft Teams)

  1. Crie um sistema que faça o ator dizer as Tabuadas do 1 e do 2.
  2. Use um loop externo para o número da tabuada e um interno para o multiplicador (1 a 10).
  3. Envie o print do código no Microsoft Teams na tarefa “Scratch Cap 12 - Aninhamento”.

💡 Checkpoint de Lógica

  • Para TI (Grid Computing): Loops aninhados são a base para criar grades de pixels e mapas de jogos. Lembre-se: o loop de fora cria as Linhas e o de dentro as Colunas.
  • Para ADM (Layout de Galpão): Use loops aninhados para simular a organização de um Centro de Distribuição. Para cada corredor, verifique todas as prateleiras.

🔥 Desafio de Fixação (ADM/TI)

Mapa de Prateleiras: Use dois loops repita. O externo roda 3 vezes (corredores) e o interno 5 vezes (prateleiras). Faça o ator dizer: “Corredor [X], Prateleira [Y]”.


🔑 Gabarito de Lógica (Blocos)

Tabuadas:

  • [repita (2) vezes (i)]
    • [repita (10) vezes (j)]
      • [diga (junte (i) e (junte " x " e (j)))]
      • [espere 0.5 segundos]