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.

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.

Um laço PARA desenhado como um trilho circular passando por quatro caixas de uma lista com índices 0 a 3. Um boneco de contador chamado i caminha pelo trilho e aponta para uma caixa por vez, na ordem: primeira volta índice 0, segunda volta índice 1, e assim por diante.
A cada volta do laço, o contador i aponta para a caixa seguinte: é o percurso da lista.
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: Davi

Quatro 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.