desenvolvimento pre-lancamento

Commit inicial - add do repo privado para o repo NT

style: changes header's logo and colors

style: changes home page first session layout

feat: creates about us home page section

chore: creates home page section for whom

chore: creates student materails home page section

chore: creates teachers materials home page section

chore: creates teacher materials home page section

style: changes primary color

style: changes color at activities page

style: changes about page color

style: changes name to Decoda

fix: changes route to about page at footer

fix: changes background color

style: changes game page header colors

style: changes footer colors

chore: adds home page sections title

style: changes main font family to Lato

style: adds title font

fix: changes sizes to be more responsive for mobile

ajuste no build vercel

atualiza regras envio homol

Adiciona instrucoes de uso

add JupyterLite

fix solucao turtle

Add Mole Mash e Modal de Falhas

Add Progress Bar na pagina de Atividades

fix game name

chore: atualiza lockfile removendo vercel analytics

inclusão de efeito ao mudar de fase

add mecanismo de solução de fases em debug

vite config test

add BaseGame e refator do MoleMash

refatoração turtle

refatoração automato

refatoração automato

add tag

bug 1 e 2 automato

mostrar apenas games em homologação na pagina de atividades

aumentar timeout das fases finais do Turtle

fix bug scroll

add video

refactor semaforo

arrumar ordem das cores

add build docs

update vercel

update vercel

update vercel

update vercel

update vercel

add vercel jupyter

add vercel jupyter

fix deploy Vercel

fix deploy Vercel

fix deploy Vercel

add cripto

add cripto

refatoração

fix tour Mole Mash

.

remover arquivos de controle

chore: adds development tag for activity card

remover arquivos de status indevidamente versionados

atualizar cores nas atividades

add Quebra Cabeças

add Quebra Cabeças

add iniciativas

add Iniciativas

alteração de fotos pesadas

fix menu mobile

fix menu mobile

fix menu mobile

add Aspirador

update icons

update identidade visual documentação

update jupyter

add kernel python local

add kernel python local

add kernel python local

feat: add health check

feat: add primeiros passos

add letramento

mover letramento de lugar

update path games

update path games

fix: ajuste clique rapido no botão executar

remover dead code

fix: refactor: extract shared utilities for storage, phase unlock and mobile detection

stabilize context references and fix stale closure

extrair GameProgressContext do GameStateContext (SRP)

refactor(game): extrair usePhaser e useGameModals de GameBase + corrigir bugs descobertos

refactor(game): remove todos os aliases PT/EN duplicados

Remover aliases PT/EN da camada de modais

refactor + tests

security: add CodeSanitizer and integrate into GameInterpreter

- CodeSanitizer.js: 4 built-in rules (max_length, infinite_while,
  infinite_for, excessive_nesting) with pluggable extra rules
- GameInterpreter.executeCode: calls sanitizeCode() before js-interpreter,
  differentiates CodeSanitizationError (warn) from other errors (error)
- 21 unit tests for CodeSanitizer (100% coverage)
- 4 integration tests in GameInterpreter for sanitization paths

add CodeSanitizer

fix: fase 10 aspirador

fix: bug semaforo

teste

feat: add version

Ajusta a landing page para ficar mais próxima ao protótipo

ajusta raio da borda do botão de Acesse nosso Laboratório

pequenos ajustes de layout na página de iniciativas

atualiza tabela de jogos educativos com os jogos disponíveis atualmente

ajustados pequenos detalhes e informações do jogos na seção de guias pedagógicos

troca nome playground para laboratório e adiciona imagens do lab

adiciona documentação de conceitos básicos de programação

ajustado pequenos erros de digitação

adiciona tooltip com conceitos escondidos em hover na tag +N de conceitos

update docs dev

desativar tour

setup matriz MoleMash

setup matriz MoleMash

fix: link

update version

update docs

update docs

mudou o layout de quem somos

mudei as imgs dos icons e baixei o botao

centraliza titulo com imagem e ajusta sessão com gradiente vermelho-rosa

adiciona responsividade para a pagina quem somos

ajusta botão de conheça nossa história

ajustes

ajustes na home + add. teclado

update version

security

security

feat: add tapume para telas pequenas

v1.1.0

feat: decoda offline

feat: doc offline

offline

fix: ajustes para release

fix: navbar; config ordenação; versão

fix: rotas docs e jupyter para pwa

delete private files

Co-authored-by: Indra Araujo <indra.araujo.santos@gmail.com>
Co-authored-by: solange dos santos <sollangelive71@gmail.com>
This commit is contained in:
2025-10-29 21:30:14 -03:00
committed by Graciano
parent e24ee22b5a
commit 3da7d323e8
577 changed files with 121994 additions and 158 deletions

View File

@@ -0,0 +1,282 @@
---
sidebar_position: 2
title: "Variáveis"
---
# Variáveis - As Caixinhas da Informação
**Variáveis** são como **caixas com nome** onde guardamos informações para usar depois. Elas ajudam o programa a "lembrar" dados enquanto executa uma tarefa.
## **O que são Variáveis?**
Uma variável é um **espaço nomeado na memória** que armazena um valor. Esse valor pode mudar durante a execução do programa.
### **Analogia: Etiquetas em Potes**
```
POTE "idade" -> guarda 12
POTE "nome" -> guarda "Ana"
POTE "pontuacao" -> guarda 1500
```
Cada pote tem uma **etiqueta** (nome da variável) e um **conteúdo** (valor).
## **Características de uma Boa Variável**
### **1. Nome Significativo**
- Use nomes que expliquem o que está guardado
- Prefira `idadeAluno` em vez de `x`
### **2. Organização**
- Cada informação deve ter seu espaço
- Evita confusão e erros no código
### **3. Atualização**
- O valor pode mudar ao longo do programa
- Exemplo: `pontuacao = pontuacao + 10`
### **4. Tipo Adequado**
- Texto deve ir em variável de texto
- Número deve ir em variável numérica
### **5. Reutilização**
- Uma variável pode ser usada em várias partes do algoritmo
- Evita repetir informações manualmente
## **Atividades Desplugadas**
### **1. Variáveis Humanas**
**Material**: Cartões com nomes de variáveis (`nome`, `idade`, `cidade`) e cartões com valores
**Como fazer**:
1. Cada estudante recebe um cartão de variável
2. O educador distribui valores: `"Lucas"`, `11`, `"Recife"`
3. A turma monta pares corretos (variável + valor)
4. Depois, os valores mudam para mostrar atualização
### **2. Mercado das Variáveis**
**Material**: Etiquetas de produtos e preços fictícios
**Como fazer**:
1. Criar variáveis como `produto`, `preco`, `quantidade`
2. Simular compras alterando valores
3. Calcular total com base nas variáveis
### **3. Placar do Campeonato**
**Material**: Quadro e marcador
**Como fazer**:
1. Criar variáveis `timeA` e `timeB`
2. Atualizar gols durante "partida" simulada
3. Mostrar como os valores mudam com o tempo
## **Variáveis no Cotidiano**
### **Escola**
- **`nota`**: muda a cada atividade
- **`faltas`**: aumenta quando há ausência
- **`turma`**: texto que identifica classe
### **Celular**
- **`volume`**: valor numérico que sobe e desce
- **`wifiConectado`**: verdadeiro ou falso
- **`contatoFavorito`**: nome em texto
### **Jogos**
- **`pontuacao`**: cresce conforme desafios
- **`energia`**: diminui com ações
- **`faseAtual`**: indica progresso do jogador
## **Na Programação Visual**
### **Criando Variáveis com Blocos**
No Decoda, variáveis aparecem como blocos para **criar**, **atribuir** e **ler** valores:
```
1. [Criar variável "pontos"]
2. [Definir pontos para 0]
3. [Quando pegar moeda -> aumentar pontos em 1]
4. [Mostrar pontos na tela]
```
### **Exemplo: Contador de Passos**
```
1. [INÍCIO]
2. [Criar variável "passos"]
3. [Definir passos para 0]
4. [REPETIR enquanto caminhando]
- [passos = passos + 1]
5. [Exibir "Total de passos: " + passos]
```
## **Boas Práticas com Variáveis**
### **1. Nomeie com clareza**
- `quantidadeLivros` é melhor que `ql`
### **2. Evite sobrescrever sem querer**
- Antes de alterar, confirme se ainda precisará do valor antigo
### **3. Use o tipo correto**
- Evite guardar texto numa variável pensada para número
### **4. Inicialize as variáveis**
- Dê um valor inicial para evitar dados indefinidos
## **Erros Comuns com Variáveis**
### **1. Nome Confuso**
- **Problema**: `a`, `b`, `c` sem contexto
- **Solução**: Usar nomes descritivos
### **2. Misturar Tipos**
- **Problema**: Somar texto com número sem conversão
- **Solução**: Garantir tipos compatíveis
### **3. Perder Valor Importante**
- **Problema**: Reatribuir valor sem necessidade
- **Solução**: Criar nova variável quando apropriado
### **4. Usar Variável Não Inicializada**
- **Problema**: Tentar usar variável sem definir valor
- **Solução**: Inicializar sempre no começo
## **Dicas para Educadores**
### **Como Ensinar**
1. **<i class="fas fa-archive"></i> Use metáforas concretas**: Caixa, pote, etiqueta
2. **<i class="fas fa-hands"></i> Faça simulações com cartões**: Variável e valor
3. **<i class="fas fa-sync"></i> Mostre mudanças ao vivo**: Atualização de pontuação
4. **<i class="fas fa-users"></i> Trabalhe em pares**: Um define variável, outro usa
### **Observar nos Estudantes**
- **<i class="fas fa-check"></i>** Escolhem nomes claros para variáveis
- **<i class="fas fa-check"></i>** Entendem diferença entre nome e valor
- **<i class="fas fa-check"></i>** Atualizam valores corretamente
- **<i class="fas fa-check"></i>** Identificam uso de variáveis em apps e jogos
### **Sinais de Sucesso**
- Explicam variáveis com exemplos próprios
- Conseguem criar e atualizar variáveis sem ajuda
- Corrigem erros de tipo e nomeação
- Reutilizam variáveis para resolver problemas
## **Pensamento Computacional**
### **Decomposição**
- Separar um problema em informações menores
- Cada informação vira uma variável
### **Reconhecimento de Padrões**
- Perceber que muitas tarefas usam "guardar e atualizar dados"
- Identificar variáveis que aparecem com frequência
### **Abstração**
- Escolher apenas os dados essenciais para resolver o problema
- Ignorar detalhes desnecessários
### **Algoritmos**
- Integrar variáveis ao passo a passo da solução
- Controlar decisões com base nos valores guardados
## **Objetivos de Aprendizagem**
Ao final desta seção, estudantes devem conseguir:
- **<i class="fas fa-check"></i>** Explicar o que é uma variável com exemplos do cotidiano
- **<i class="fas fa-check"></i>** Criar variáveis com nomes claros e apropriados
- **<i class="fas fa-check"></i>** Armazenar e atualizar diferentes tipos de dados
- **<i class="fas fa-check"></i>** Identificar e corrigir erros comuns de uso de variáveis
- **<i class="fas fa-check"></i>** Usar variáveis em blocos visuais para resolver problemas
## **Atividades de Fixação**
### **1. Minha Ficha Digital**
Crie variáveis para guardar:
- Nome
- Idade
- Cidade
- Jogo favorito
### **2. Caça aos Erros**
Encontre e corrija erros:
```
idade = "12"
idade = idade + 1
```
```
nomeCompleto = "Ana"
nomeCompleto = 25
```
### **3. Desafio do Placar**
- Criar variáveis para dois times
- Simular 5 rodadas de gols
- Mostrar placar final
## **Referências e Recursos**
### **Sites Educativos**
- [Khan Academy - Variables](https://www.khanacademy.org/computing/computer-programming/programming#variables) - Introdução prática
- [Code.org - Variables](https://studio.code.org/docs/concepts/javascript/variables/) - Conceitos básicos e exemplos
- [Scratch Wiki - Variables](https://en.scratch-wiki.info/wiki/Variable) - Uso em programação visual
### **Vídeos Explicativos**
- [Variables for Kids](https://www.youtube.com/watch?v=GhQdlIFylQ8) - Explicação simples
- [What is a Variable?](https://www.youtube.com/watch?v=xYwLx4NQjV8) - Conceito fundamental
- [Scratch Variables Tutorial](https://www.youtube.com/watch?v=QG8fFG5NfXQ) - Aplicação com blocos
### **Jogos e Simuladores**
- [Scratch](https://scratch.mit.edu/) - Criar projetos com variáveis
- [Blockly Games](https://blockly.games/) - Lógica visual interativa
- [CodeCombat](https://codecombat.com/) - Prática gamificada
### **Literatura**
- Downey, A. (2015). _Think Python_. O'Reilly
- Matthes, E. (2023). _Python Crash Course_. No Starch Press
- Nygard, K. (2020). _Code This Game_. No Starch Press
---
**<i class="fas fa-arrow-right"></i> Próximo**: Continue em [**Tipos de Dados**](./dados) para entender quais formatos de informação uma variável pode armazenar!