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>
7.6 KiB
sidebar_position, title
| sidebar_position | title |
|---|---|
| 2 | 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
idadeAlunoem vez dex
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:
- Cada estudante recebe um cartão de variável
- O educador distribui valores:
"Lucas",11,"Recife" - A turma monta pares corretos (variável + valor)
- Depois, os valores mudam para mostrar atualização
2. Mercado das Variáveis
Material: Etiquetas de produtos e preços fictícios
Como fazer:
- Criar variáveis como
produto,preco,quantidade - Simular compras alterando valores
- Calcular total com base nas variáveis
3. Placar do Campeonato
Material: Quadro e marcador
Como fazer:
- Criar variáveis
timeAetimeB - Atualizar gols durante "partida" simulada
- Mostrar como os valores mudam com o tempo
Variáveis no Cotidiano
Escola
nota: muda a cada atividadefaltas: aumenta quando há ausênciaturma: texto que identifica classe
Celular
volume: valor numérico que sobe e descewifiConectado: verdadeiro ou falsocontatoFavorito: nome em texto
Jogos
pontuacao: cresce conforme desafiosenergia: diminui com açõesfaseAtual: 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 queql
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,csem 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
- Use metáforas concretas: Caixa, pote, etiqueta
- Faça simulações com cartões: Variável e valor
- Mostre mudanças ao vivo: Atualização de pontuação
- 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 - Introdução prática
- Code.org - Variables - Conceitos básicos e exemplos
- Scratch Wiki - Variables - Uso em programação visual
Vídeos Explicativos
- Variables for Kids - Explicação simples
- What is a Variable? - Conceito fundamental
- Scratch Variables Tutorial - Aplicação com blocos
Jogos e Simuladores
- Scratch - Criar projetos com variáveis
- Blockly Games - Lógica visual interativa
- CodeCombat - 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 para entender quais formatos de informação uma variável pode armazenar!