Capítulo 12: Laços de Repetição Aninhados
🎯 Objetivo da Aula
Nesta aula, o nível de complexidade sobe. Você aprenderá a colocar um laço de repetição dentro de outro. O objetivo é entender como as Repetições Aninhadas funcionam, permitindo que você processe dados em duas dimensões (como as horas e minutos de um relógio ou as linhas e colunas de uma planilha).
🏢 O Cenário Prático (Seu Desafio)
Situação: A FastLog precisa de uma planilha de todas as tabuadas possíveis, do 1 ao 10, para servir de consulta rápida no galpão.
Missão: Criar um programa que não imprima apenas uma tabuada, mas todas as 10 tabuadas de uma vez, de forma organizada.
🧠 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)
para (hora=1...) { para (min=1...) { tique_taque } }
📊 Exemplo 2: Técnico (Tabela de Custos)
para (regiao=1...) { para (faixa_peso=1...) { calcular_tarifa } }
graph TD
A[Início Loop Região] --> B[Início Loop Faixa Peso]
B --> C{Fim da Faixa?}
C -- "Sim" --> D[Próxima Região]
C -- "Não" --> B
style B fill:#8e44ad,stroke:#fff,color:#fff
style D fill:#2ecc71,stroke:#fff,color:#fff📖 Exemplo Guiado: A Fábrica de Tabuadas
Loops aninhados permitem processar dados em duas dimensões. No exemplo abaixo, o loop j faz 10 voltas para cada volta única do loop i:
🛠️ Prática Obrigatória 1: Cronômetro Simples
Crie um programa que use dois laços para: um para os minutos (0 a 5) e outro para os segundos (0 a 59). Exiba o tempo formatado.
✅ Resultado Esperado
🛠️ Prática Obrigatória 2: Mapa de Estoque FastLog
Imagine um galpão com 3 corredores e 5 prateleiras em cada. Use loops aninhados para exibir o endereço de cada posição disponível para armazenamento.
✅ Resultado Esperado
🔥 Desafio de Fixação (Opcional): Triângulo de Asteriscos
Crie um programa que peça um número (ex: 5) e desenhe um triângulo de asteriscos no console usando loops aninhados. Dica: O loop interno deve rodar até o valor atual do contador do loop externo.
📤 Instruções de Entrega (Microsoft Teams)
Após validar seus códigos:
- Evite aninhamentos excessivos (mais de 3 níveis) para não comprometer o desempenho.
- Salve os arquivos com a extensão
.por(Ex:Atividade_12_SeuNome.por). - Envie no Microsoft Teams na tarefa “Capítulo 12 - Laços Aninhados”.