Capítulo 12: Laços de Repetição Aninhados
🎯 Objetivo da Aula
No mundo real, as coisas acontecem em ciclos dentro de ciclos. Nesta aula, você aprenderá sobre Laços Aninhados (um loop dentro do outro). O objetivo é entender como processar dados que possuem mais de uma dimensão, como uma planilha com várias colunas ou o funcionamento de um relógio digital.
🏢 O Cenário Prático (Seu Desafio)
Situação: A FastLog quer gerar um relatório de produtividade para 3 equipes, onde cada equipe será avaliada durante os 5 dias da semana. O Problema: Como fazer o computador percorrer cada equipe e, para cada uma delas, percorrer todos os dias da semana sem repetir código manualmente?
Missão: Criar uma estrutura de repetição dupla para gerar esse cronograma de avaliação.
🧠 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 de 1 ate 24 faca para min de 1 ate 60 faca ... fimpara fimpara
📊 Exemplo 2: Técnico (Tabela de Custos)
para regiao de 1 ate 5 faca para faixa_peso de 1 ate 10 faca ... fimpara fimpara
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:#fff2. A Sintaxe no VisuAlg
Você pode colocar qualquer laço dentro de outro (para dentro de para, enquanto dentro de para, etc.).
📖 Exemplo Guiado: Cronograma de Avaliação
Loops aninhados (um dentro do outro) são usados para processar tabelas. O loop externo controla as linhas (Equipes) e o interno as colunas (Dias).
🛠️ Prática Obrigatória 1: Tabuadas Completas
Use dois laços para aninhados para exibir as tabuadas do 1 ao 5. Cada tabuada deve mostrar a multiplicação de 1 até 10.
✅ 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: “Corredor 1 - Prateleira 1”, “Corredor 1 - Prateleira 2”, etc.
✅ Resultado Esperado
🔥 Desafio de Fixação (Opcional): Desenhar Retângulo
Crie um programa que peça a largura e a altura de um retângulo ao usuário. Use loops aninhados para desenhar esse retângulo no console usando o caractere asterisco *.
📤 Instruções de Entrega (Microsoft Teams)
Após validar seus códigos:
- O loop interno deve completar todas as voltas antes que o externo mude de valor.
- Salve os arquivos com a extensão
.alg(Ex:Atividade_12_SeuNome.alg). - Envie no Microsoft Teams na tarefa “VisuAlg Cap 12 - Laços Aninhados”.