Módulo 11 - Listas, muitas caixas juntas
Percorrendo a lista, caixa por caixa
8 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 02/07/2026
O que você vai aprender
- Escrever o laço PARA que visita todos os índices da lista.
- Usar lista[i] dentro do laço para trabalhar com cada valor.
- Ajustar os limites do laço: de 0 até tamanho menos 1.
- Perceber que o mesmo laço serve para 4 ou 4 mil elementos.
Ouvir o resumo desta aula
Um recap de cerca de 2 minutos na voz do Valim, para ouvir no trânsito ou na academia.
Ler a transcrição do resumo
Resumo da aula: Percorrendo a lista, caixa por caixa.
Os objetivos desta aula. Escrever o laço PARA que visita todos os índices da lista. Usar lista[i] dentro do laço para trabalhar com cada valor. Ajustar os limites do laço: de 0 até tamanho menos 1. Perceber que o mesmo laço serve para 4 ou 4 mil elementos.
Veja o essencial, parte por parte.
O casamento do laço com a lista. Percorrer a lista = usar um laço PARA em que o contador i assume cada índice: 0, 1, 2... até tamanho menos 1.
A receita do percurso (e os limites certos). Escrever “para i de 0 até 3” funciona para a lista de 4 nomes, mas esconde uma fragilidade: se a turma ganhar um aluno, o 3 vira mentira e o novato fica sem chamada.
Um laço para qualquer tamanho. para i de 0 até tamanho(lista) - 1 faça ... fim: visita todas as caixas, na ordem.
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
O casamento do laço com a lista
No módulo 10 você aprendeu que o laço PARA repete um bloco fazendo um contador andar de um valor até outro. A lista dá ao contador o emprego perfeito: servir de índice. Se i vai de 0 a 3, então lista[i] visita lista[0], lista[1], lista[2] e lista[3], uma caixa por volta, na ordem. Esse encaixe entre o contador do laço e o índice da lista é um dos momentos mais bonitos do curso: duas peças aprendidas separadamente que se encaixam sem esforço, como trilho e trem.
nomes <- ["Ana", "Bruno", "Carla", "Davi"]
para i de 0 até 3 faça
escreva("Presente: " + nomes[i])
fim
// Saída:
// Presente: Ana
// Presente: Bruno
// Presente: Carla
// Presente: DaviQuatro nomes, um laço: a chamada da turma em três linhas.
A receita do percurso (e os limites certos)
Escrever “para i de 0 até 3” funciona para a lista de 4 nomes, mas esconde uma fragilidade: se a turma ganhar um aluno, o 3 vira mentira e o novato fica sem chamada. A forma profissional usa o tamanho da lista no limite: para i de 0 até tamanho(nomes) - 1. Assim o laço se ajusta sozinho ao crescer ou encolher da lista. Repare no “menos 1”, herança direta da aula passada: o tamanho é 4, mas o último índice é 3. Esquecer esse detalhe faz o laço pedir uma caixa que não existe, na última volta.
🎮 Jogo da aula
Monte o passeio pela lista
Um laço que percorre a lista repete sempre o mesmo ciclo. Toque os passos na ordem correta, do primeiro ao último.
O jogo desmonta o PARA na engrenagem que você conheceu no módulo 9 com o ENQUANTO: começo, condição, corpo e avanço. De fato, todo percurso de lista pode ser escrito com ENQUANTO (i <- 0; enquanto i <= tamanho - 1 faça...), e o resultado é idêntico. O PARA vence no dia a dia porque junta começo, limite e avanço numa linha só, deixando menos espaço para esquecer o “some 1 ao i”, aquele esquecimento que no módulo 9 criava o laço infinito.
Um laço para qualquer tamanho
Aqui mora o superpoder que justifica o módulo inteiro. O laço que faz a chamada de 4 alunos é, caractere por caractere, o mesmo que faria a chamada de uma escola com 4 mil: só o conteúdo da lista muda. Compare com o mundo sem listas, em que cada aluno novo exigia uma variável nova e uma linha nova de código. Com lista e laço, o programa fica do tamanho do PROBLEMA, não do tamanho dos DADOS. É essa separação que permite ao aplicativo do banco mostrar 10 ou 10 mil transações com o mesmo código.
Teste rápido
Uma lista tem 6 elementos. Como fica o laço PARA que visita todas as caixas?
Perguntas frequentes
- Por que o laço vai até tamanho menos 1 e não até o tamanho?
- Porque o índice conta a partir do zero: numa lista de 6 caixas, elas se chamam 0, 1, 2, 3, 4 e 5. O tamanho (6) nunca é um índice válido. Se o laço for até 6, a última volta pede uma caixa inexistente e o programa quebra ou lê lixo.
- Posso percorrer a lista de trás para frente?
- Pode, usando o passo decrescente do módulo 10: para i de tamanho(lista) - 1 até 0, diminuindo 1 por volta. É útil quando a ordem importa ao contrário, como mostrar as mensagens mais recentes primeiro. A regra dos limites continua a mesma, só invertida.
- E se eu quiser visitar só as caixas de índice par?
- Ajuste o passo do laço: para i de 0 até tamanho - 1, de 2 em 2, visita os índices 0, 2, 4 e assim por diante. Você combinou dois aprendizados: o passo personalizado do módulo 10 e o percurso desta aula. É assim que os blocos do curso se empilham.
- Dá para percorrer lista com o laço ENQUANTO?
- Dá, e o resultado é idêntico: i <- 0; enquanto i <= tamanho - 1 faça; use lista[i]; i <- i + 1; fim. O PARA é preferido por juntar começo, limite e avanço numa linha, o que evita esquecer o avanço e cair no laço infinito do módulo 9. Saber as duas formas ajuda a ler código alheio.
- O que acontece se a lista estiver vazia?
- O laço simplesmente não roda nenhuma volta: o limite seria de 0 até -1, e não existe caminho nesse intervalo. Isso costuma ser o comportamento certo (nada a percorrer, nada a fazer), mas o programa que mostra “o maior valor é...” de uma lista vazia precisa tratar esse caso antes. O módulo 13 chama isso de caso de borda.
- As linguagens reais têm um jeito mais curto de percorrer listas?
- Têm: o Python escreve “for nome in nomes” e entrega cada valor direto, sem você administrar o índice. O JavaScript tem o for...of. Esses atalhos são ótimos, mas por baixo fazem exatamente o percurso desta aula. Aprender com o índice explícito primeiro é o que permite entender os atalhos depois, e resolver os casos em que o índice é necessário.
Fontes
Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.