--- 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. ** Use metáforas concretas**: Caixa, pote, etiqueta 2. ** Faça simulações com cartões**: Variável e valor 3. ** Mostre mudanças ao vivo**: Atualização de pontuação 4. ** Trabalhe em pares**: Um define variável, outro usa ### **Observar nos Estudantes** - **** Escolhem nomes claros para variáveis - **** Entendem diferença entre nome e valor - **** Atualizam valores corretamente - **** 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: - **** Explicar o que é uma variável com exemplos do cotidiano - **** Criar variáveis com nomes claros e apropriados - **** Armazenar e atualizar diferentes tipos de dados - **** Identificar e corrigir erros comuns de uso de variáveis - **** 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 --- ** Próximo**: Continue em [**Tipos de Dados**](./dados) para entender quais formatos de informação uma variável pode armazenar!