Capítulo 02: Variáveis Visuais na Memória (Placares e Estoques)
🎯 Objetivo da Aula
Em qualquer sistema de gestão empresarial, os dados não são estáticos: eles mudam a cada segundo conforme carretas chegam e partem. No Scratch, assim como em linguagens profissionais como Python ou Java, utilizamos Variáveis para que o computador se “lembre” de números, textos e estados do sistema.
Ao final desta aula, você será capaz de:
- Compreender o que é uma Variável na Memória e como o Scratch a exibe no Palco como um placar.
- Dominar a criação de variáveis na categoria 🔴 Variáveis.
- Diferenciar Escopo Global (Para todos os atores) de Escopo Local (Apenas para este ator).
- Utilizar com precisão os blocos de Atribuição Direta (
mude para) e Incremento Acumulativo (adicione a).
📥 Material de Apoio e Roteiro de Blocos:
- 📄 Roteiro Estruturado (.txt): Baixar Capitulo_02.txt (guia textual com a sequência de blocos)
- 📦 Exercícios Separados (.zip): Baixar Capitulo_02.zip
🏢 O Cenário Prático (Seu Desafio)
Situação: O gerente de operações do armazém central da FastLog precisa de um painel de monitoramento no Palco (Dashboard Visual) que exiba continuamente:
- A quantidade de Paletes em Estoque disponíveis no galpão.
- O Faturamento Bruto Acumulado das taxas de descarga do dia.
- A Capacidade Máxima do Armazém (limite de 500 paletes).
Missão: Você deve criar as variáveis de controle do armazém, programar a inicialização do sistema quando a bandeira verde for clicada e criar a rotina de entrada de cargas.
🧠 Fundamentos: Como as Variáveis Funcionam no Scratch?
1. A Analogia da Gaveta com Placar
No Scratch, uma variável é uma gaveta da memória RAM que possui:
- Um Nome único (ex:
Estoque_Paletes). - Um Valor armazenado (ex:
150). - Um Monitor Visual no Palco: uma caixinha retangular que os operadores conseguem acompanhar em tempo real.
graph TD
A["Gatilho: quando clicar em 🏁"] --> B["Inicialização: mude (Estoque_Paletes) para (100)"]
B --> C["Evento: Nova carreta descarrega 20 paletes"]
C --> D["Incremento: adicione (20) a (Estoque_Paletes)"]
D --> E["Placar no Palco exibe: 120 paletes"]
style A fill:#f39c12,stroke:#fff,color:#fff
style B fill:#e67e22,stroke:#fff,color:#fff
style D fill:#d35400,stroke:#fff,color:#fff
style E fill:#27ae60,stroke:#fff,color:#fff2. Atribuição (mude) vs Incremento (adicione)
A Diferença Crucial que Todo Programador Deve Saber:
[mude (Total) para (50)]➔ Apaga o que estava lá e força o valor a ser exatamente50. (Usado para inicializar ou resetar o sistema).[adicione (10) a (Total)]➔ Soma 10 ao valor que já existia lá dentro. Se tinha 50, passa a ter 60! (Usado para acumular entradas, pontos ou faturamento).
3. Escopo no Scratch: Global vs Local
Ao clicar em “Criar uma Variável”, o Scratch oferece duas opções de escopo:
- Para todos os atores (Global): Qualquer ator do projeto (caminhão, cancela, painel) pode ler e alterar essa variável. Ideal para dados compartilhados da empresa (como
Saldo_Caixa,Estoque_Geral). - Apenas para este ator (Local): Somente aquele ator específico tem acesso. Ideal para propriedades individuais (como
Velocidade_Caminhao_1).
4. Outro Gatilho de Evento: Clicar no Próprio Ator
Além do já conhecido quando clicar em 🏁, o Scratch oferece outros blocos de evento (categoria 🟡 Eventos) que servem como gatilho de um script. Um deles é quando este ator for clicado: ele dispara o script apenas quando o jogador toca com o mouse naquele ator específico (como um botão), e não quando a bandeira verde é clicada. Vamos usá-lo nos Gabaritos deste capítulo para simular botões clicáveis no palco; ele será estudado com mais detalhes no Capítulo 03.
📖 Exemplo Guiado: Painel de Controle de Almoxarifado
Passo a Passo no Scratch 3.0:
- Abra seu projeto no Scratch.
- Vá até a categoria 🔴 Variáveis e clique em Criar uma Variável.
- Crie duas variáveis com a opção “Para todos os atores”:
Estoque_PaletesFaturamento_Dia
- Deixe a caixinha ao lado do nome delas marcada para que apareçam no topo do Palco como monitores.
- No ator
Gerenciador_Patio(ou no próprio Palco), monte o script de inicialização:
🛠️ Prática Obrigatória 1: Simulando a Descarga de um Lote
O Desafio:
Crie um botão no palco chamado Botao_Descarga. Quando o operador clicar nesse botão, simule o descarregamento de uma carreta com os seguintes blocos:
- O estoque deve aumentar em 25 paletes:
[adicione (25) a (Estoque_Paletes v)]. - A empresa deve faturar a taxa de descarga de R$ 350,00:
[adicione (350) a (Faturamento_Dia v)]. - Toque um efeito sonoro de caixa registradora ou sino:
toque o som [Coin v]. - O botão deve mudar brevemente de tamanho para dar efeito de clique (pulsar):
mude o tamanho para (110)%➔espere (0.1) segs➔mude o tamanho para (100)%.
🛠️ Prática Obrigatória 2: Simulando Expedição e Baixa de Estoque
Crie um segundo botão no palco chamado Botao_Expedicao.
Quando clicado:
- O estoque deve diminuir em 15 paletes:
[adicione (-15) a (Estoque_Paletes v)](usando número negativo!). - Toque um efeito sonoro de confirmação:
toque o som [Pop v]. - O ator deve dizer em balão de fala:
[Despacho de 15 paletes concluído com sucesso!]por 2 segundos.
📤 Instruções de Entrega (Microsoft Teams)
- Baixe seu projeto clicando em Arquivo ➔ Baixar para seu computador.
- Salve com o nome:
Atividade_02_SeuNome_SeuSobrenome.sb3. - No Microsoft Teams, envie na tarefa “Scratch Cap 02 - Variáveis e Placares”.
- Clique em Entregar (Turn In).
💡 Checkpoint de Lógica & Engenharia de Software
Você acabou de aplicar o conceito de Persistência de Estado em Memória. Em softwares de ERP como SAP e Totvs, cada movimentação física no armazém dispara uma transação no banco de dados que incrementa ou decrementa tabelas de inventário e contabilidade.
🔥 Desafio de Fixação: Botão de Zeramento com Confirmação
Crie um ator Botao_Zerar. Ao ser clicado, ele deve emitir um aviso sonoro, resetar as duas variáveis para zero (mude [Estoque_Paletes] para (0) e mude [Faturamento_Dia] para (0)) e avisar no palco que o inventário foi fechado.
🔑 Gabarito de Código (Blocos do Scratch)
Prática 1:
Prática 2:
Desafio:
📥 Download do Roteiro Completo desta Aula:
Baixe o arquivo consolidado Capitulo_02.txt ou o pacote compactado (.zip) com os scripts e desafios da aula.
📝 Atividade Extra: Questionário de Fixação (Caderno)
Instruções: Responda no caderno, de próprio punho, as 10 perguntas abaixo com base no que foi estudado neste capítulo. Ao concluir, leve o caderno até o professor para correção e visto.
- O que é uma variável no Scratch, segundo a analogia da “gaveta” apresentada no capítulo?
- Qual é a diferença entre o bloco
mude ... parae o blocoadicione ... a? - Qual é a diferença entre uma variável de escopo Global (“para todos os atores”) e uma Local (“apenas para este ator”)?
- Quais são os nomes das duas variáveis globais criadas no Exemplo Guiado?
- No Exemplo Guiado, com que valor a variável Estoque_Paletes é inicializada ao clicar na bandeira verde?
- Na Prática Obrigatória 1, qual é o nome do ator/botão criado, e quantos paletes ele adiciona ao estoque quando clicado?
- Na Prática Obrigatória 1, qual bloco de evento (de chapéu) é usado para disparar a ação ao clicar no botão?
- Na Prática Obrigatória 2, como é feita a diminuição do estoque usando o bloco
adicione, que normalmente soma valores? - Segundo o Checkpoint, quais dois sistemas corporativos reais (ERP) foram citados como exemplo de “Persistência de Estado em Memória”?
- Na Prática Obrigatória 1, qual é a taxa de descarga (em R$) adicionada à variável Faturamento_Dia?