Capítulo 13: Listas I: Armazenando Dados

🎯 Objetivo da Aula

Uma variável guarda um dado. Uma Lista guarda uma coleção inteira. Nesta aula, você aprenderá sobre as Listas no Scratch (cor vermelho escuro). O objetivo é aprender a criar o equivalente a uma planilha ou banco de dados, onde você pode adicionar, remover e organizar múltiplos itens (como placas de caminhões ou códigos SKU).


🏢 O Cenário Prático (Seu Desafio)

Situacao: A FastLog precisa de um Manifesto de Carga para registrar todos os produtos que entram no caminhão. O Problema: Não sabemos quantas caixas virão. Pode ser 1 ou podem ser 100. Precisamos de um lugar que aceite novos dados dinamicamente.

Missão: Criar uma lista chamada Manifesto e permitir que o usuário adicione itens a ela via teclado.


🧠 Fundamentos: A Teoria Traduzida

1. O que é uma Lista?

Pense em uma lista como um Caderno de Anotações infinito. Cada linha tem um número (índice).

🛒 Exemplo 1: Cotidiano (Lista de Compras)

  1. Arroz
  2. Feijão
  3. Sabão

🚛 Exemplo 2: Técnico (Pátio de Caminhões)

  1. ABC-1234
  2. XYZ-9876
  3. KKK-0000
graph LR
    L[Lista: Manifesto]
    L --> I1[Item 1: 'Caixa A']
    L --> I2[Item 2: 'Caixa B']
    L --> I3[Item 3: 'Caixa C']
    
    style I1 fill:#e74c3c,stroke:#fff,color:#fff
    style I3 fill:#e74c3c,stroke:#fff,color:#fff

2. Blocos de Listas 🟥

  • [adicione (coisa) a (lista)]: Coloca um novo item no fim da lista.
  • [apague tudo de (lista)]: Limpa o caderno.
  • [item (1) de (lista)]: Lê o valor que está na linha 1.

🛠️ Mão na Massa: Atividade 13 - Criando o Manifesto

Vamos programar a captura de dados para a lista:

Passo 1: Criando a Lista

  1. Vá na categoria 🟧 Variáveis.
  2. Clique no botão Criar uma Lista.
  3. Nomeie como Manifesto_Digital.

Passo 2: O Código de Cadastro

Encaixe os blocos:

  1. 🟡 Eventos: [quando clicar em 🏁]
  2. 🟥 Listas: [apague tudo de (Manifesto_Digital)]
  3. 🟠 Controle: [repita (3) vezes]
    • 🔵 Sensores: [pergunte "Qual o código do produto?" e espere]
    • 🟥 Listas: [adicione (resposta) a (Manifesto_Digital)]
  4. 🟣 Aparência: [diga "Manifesto concluído com sucesso!" por 2 segundos]

✅ Resultado Esperado

No palco, você verá uma janela chamada Manifesto_Digital. Conforme você digita os códigos, eles aparecerão numerados dentro dessa janela em tempo real.


📤 Instruções de Entrega (Microsoft Teams)

  1. Crie uma lista chamada “Cidades_de_Destino”.
  2. Adicione 3 cidades usando o bloco adicione.
  3. Tire um print do palco com a lista preenchida.
  4. Envie no Microsoft Teams na tarefa “Scratch Cap 13 - Listas Básicas”.

💡 Checkpoint de Lógica

  • Para TI (Estruturas Dinâmicas): Diferente das variáveis simples, as Listas podem crescer e diminuir durante a execução do programa. Isso é o que chamamos de estrutura dinâmica.
  • Para ADM (Base de Dados): Listas no Scratch funcionam como uma Tabela de Banco de Dados. Use-as para guardar nomes de clientes, preços ou placas de veículos.

🔥 Desafio de Fixação (ADM/TI)

Lista de Compras Corporativa: Crie uma lista chamada Insumos. Crie um sistema que peça o nome de 5 itens e os adicione automaticamente à lista.


🔑 Gabarito de Lógica (Blocos)

Cadastro Simples:

  • [quando clicar em 🏁]
  • [apague tudo de (Cidades)]
  • [adicione "São Paulo" a (Cidades)]
  • [adicione "Rio de Janeiro" a (Cidades)]
  • [adicione "Curitiba" a (Cidades)]