Módulo 1 · Aula 1.7 · Listas
| Carga horária | Dificuldade | Ferramenta | Competências |
|---|---|---|---|
| 8 h/a | ⭐⭐⭐ | Scratch | C1, C2 |
Objetivos de aprendizagem
- Criar uma lista e preenchê-la à mão e por código.
- Ler um item pela posição e saber o tamanho da lista.
- Apagar itens e conferir se a lista contém algo.
- Sortear um item de uma lista.
Pré-requisitos
Aulas 1.3 a 1.6.
Materiais
Computador; projeto 1-7-mochila.sb3 (professor).
Conceitos
- Lista: uma variável que guarda vários valores em ordem, numerados a partir de 1. Exemplo: mochila = [cantil, chapéu de couro, mapa].
- Posição (índice): o número do item. "item (2) de [mochila]" = chapéu de couro.
- "tamanho de [mochila]": quantos itens existem. O último item está na posição "tamanho".
- Sortear da lista: "item (número aleatório entre (1) e (tamanho de [achados])) de [achados]".
- "[mochila] contém (mapa)?": condição que responde se o item existe na lista.
Blocos de lista (conferidos no editor em português):
| Bloco | O que faz |
|---|---|
| adicione (coisa) a [lista] | coloca no fim |
| apague (1) de [lista] | tira o item daquela posição; os de baixo sobem |
| apague todos os itens de [lista] | esvazia |
| insira (coisa) na posição (1) de [lista] | coloca no meio, empurrando os outros |
| substitua o item (1) de [lista] por (coisa) | troca um item |
| item (1) de [lista] | lê um item |
| item # de (coisa) em [lista] | em que posição está aquele item |
| tamanho de [lista] | quantidade de itens |
| [lista] contém (coisa)? | condição |

Figura: captura real dos blocos de lista e do mostrador da lista vazia, com "+" e "Comprimento 0" (scratch.mit.edu, 29/10/2026).
Exemplos
- Inventário de um jogo de aventura.
- Lista de perguntas de um quiz (próximas aulas).
- Fila de inimigos de uma fase.
Tutorial passo a passo
Parte A. Criar e preencher à mão (40 min)
- Projeto novo
mochila-v1.sb3. - Variáveis > Criar uma Lista. Na janela Nova Lista, nome
achados, Para todos os atores, OK. - O mostrador da lista aparece no palco. Clique no + (canto inferior esquerdo do mostrador) e digite
rapadura, Enter. Repita paralanterna,mapa,corda,bússola. - Crie a lista
mochila(vazia).
Parte B. Preencher por código (30 min)
- Monte o roteiro da bandeira (código abaixo): esvazia a mochila e coloca dois itens iniciais.
Parte C. Pegar, largar, conferir (90 min)
- Tecla m: sorteia um item de
achadose adiciona na mochila. - Tecla d: se a mochila não estiver vazia, diz qual item vai largar e apaga o último.
- Tecla s: se a mochila contém mapa, pode sair; senão, avisa.
O código completo
Ator Gato:
quando ⚑ for clicado
apague todos os itens de [mochila]
adicione (cantil) a [mochila]
adicione (chapéu de couro) a [mochila]
diga (M = pegar item, D = descartar o último, S = posso sair?)
quando a tecla [m] for pressionada
adicione (item (número aleatório entre (1) e (tamanho de [achados])) de [achados]) a [mochila]
diga (junte (Peguei: ) com (item (tamanho de [mochila]) de [mochila]))
quando a tecla [d] for pressionada
se <(tamanho de [mochila]) > (0)> então
diga (junte (Larguei: ) com (item (tamanho de [mochila]) de [mochila]))
apague (tamanho de [mochila]) de [mochila]
fim
quando a tecla [s] for pressionada
se <[mochila] contém (mapa)?> então
diga (Tenho o mapa. Posso sair!)
senão
diga (Sem o mapa eu me perco. Aperte M.)
fimProjeto pronto: ../projetos/1-7-mochila/1-7-mochila.sb3.
Explicação do código
- Por que esvaziar no começo? Listas ficam salvas dentro do projeto. Sem "apague todos", a mochila acumularia itens de todas as partidas.
- "item (tamanho de [mochila]) de [mochila]" é o último item, porque o tamanho é a posição do último.
- No "d", a fala vem antes do "apague"; depois de apagar, o item já não existe para ser falado.
- O "se tamanho > 0" evita tentar apagar de uma lista vazia.
Resultado esperado (testado)
Começa com 2 itens; m três vezes deixa 5, todos vindos de achados; d larga o último e diz qual; s responde certo com e sem mapa; apertar d com a mochila vazia não quebra nada.
Problemas comuns
| Sintoma | Causa | Solução |
|---|---|---|
| A mochila cresce a cada partida | falta "apague todos os itens" | colocar na bandeira |
| Sorteio dá item vazio | número aleatório maior que o tamanho (ex.: fixo em 1 a 10) | usar "tamanho de [achados]" |
| "Larguei: " sem nome | o "apague" veio antes do "diga" | inverter a ordem |
| "contém mapa" sempre falso | digitou "Mapa " com espaço no fim na lista | conferir o texto do item |
| Criou a lista "Apenas para este ator" | opção errada na janela | apagar e criar de novo para todos |
Exercício guiado
Faça a tecla v mostrar quantos itens tem a mochila: "diga (junte (Tenho ) com (junte (tamanho de [mochila]) com ( itens.)))".
Desafio individual
Limite a mochila a 6 itens: se estiver cheia, o gato diz "Mochila cheia!" e não pega nada.
Desafio avançado (opcional)
A tecla u (usar) pergunta "Usar qual item?" e, se a mochila contém a resposta, apaga aquele item usando "item # de (resposta) em [mochila]".
Critérios de avaliação
- As quatro teclas funcionam como descrito.
- O aluno explica por que "tamanho" é a posição do último item.
Checklist de conclusão
Extensão
Monte uma lista de palavras da sua região (oxente, arretado, aperreio...) e uma segunda lista com o significado de cada uma, na mesma posição. A tecla espaço sorteia uma posição e mostra a palavra e o significado. Essa ideia de listas paralelas é o coração do Quiz das próximas aulas.