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):
- 🟡 Eventos:
[quando clicar em 🏁] - 🟠 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:
- 🟣 Aparência:
[diga "Caminhão Completo! Próximo..." por 2 segundos] - 🟡 Controle:
[espere 1 segundos]
- 🟣 Aparência:
✅ 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)
- Crie um sistema que faça o ator dizer as Tabuadas do 1 e do 2.
- Use um loop externo para o número da tabuada e um interno para o multiplicador (1 a 10).
- 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]