---
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!