Files
decoda/docs/edu/fundamentos-programacao/conceitos-basicos/dados.md
ruimoraes 3da7d323e8 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>
2026-05-26 18:01:50 -03:00

8.9 KiB

sidebar_position, title
sidebar_position title
3 Tipos de Dados

Tipos de Dados - O Formato da Informação

Tipos de dados definem que tipo de valor uma variável pode guardar. Assim, o programa sabe se aquele valor representa número, texto, verdadeiro/falso ou uma coleção de itens.

O que são Tipos de Dados?

Um tipo de dado é uma classificação da informação armazenada em uma variável. Essa classificação ajuda o programa a decidir quais operações são permitidas.

Analogia: Gavetas Organizadas

Imagine uma cômoda:

  • Gaveta de roupas guarda roupas
  • Gaveta de documentos guarda papéis
  • Gaveta de brinquedos guarda brinquedos

Na programação, funciona igual: cada variável tem um "tipo de gaveta" para guardar dados corretos.

Por que Tipos de Dados são Importantes?

1. Evitam Erros

  • Impedem usar valores de forma incorreta
  • Exemplo: somar texto com número sem conversão pode causar erro

2. Melhoram Desempenho

  • Cada tipo ocupa memória de forma diferente
  • O programa pode otimizar operações

3. Facilitam a Leitura

  • Fica mais claro entender que tipo de valor está sendo tratado
  • Ajuda na manutenção do código

4. Ajudam na Validação

  • Permitem checar se uma entrada está correta
  • Exemplo: idade deve ser número inteiro

Tipos Básicos de Dados

1. Inteiro (int)

Números sem parte decimal, positivos ou negativos.

Exemplo:

idade = 12
saldoPontos = -3

2. Real (float)

Números com parte decimal.

Exemplo:

altura = 1.58
temperatura = 36.7

3. Caractere (char)

Um único símbolo: letra, número ou sinal.

Exemplo:

inicial = 'A'
simbolo = '#'

4. Texto (string)

Conjunto de caracteres (palavras e frases).

Exemplo:

nome = "Joana"
mensagem = "Parabéns pela conquista!"

5. Booleano (bool)

Apenas dois valores: verdadeiro ou falso.

Exemplo:

usuarioLogado = verdadeiro
atividadeConcluida = falso

6. Vetor/Lista

Uma variável que guarda vários valores do mesmo tipo.

Exemplo:

notas = [8, 7, 10, 9]
nomes = ["Ana", "Bia", "Caio"]

Tipos de Dados no Cotidiano

Escola

  • idade -> inteiro
  • mediaFinal -> real
  • nomeAluno -> texto
  • aprovado -> booleano

Celular

  • nivelBateria -> inteiro
  • versaoSistema -> texto
  • wifiAtivo -> booleano

Jogos

  • vida -> inteiro
  • precisaoTiro -> real
  • inventario -> vetor/lista

Na Programação Visual

Escolhendo o Tipo Certo

Em ambientes de blocos, nem sempre o tipo aparece com nome técnico, mas ele está presente no comportamento dos dados.

1. [Criar variável "nomeJogador"]   -> texto
2. [Criar variável "pontos"]        -> número
3. [Criar variável "venceu"]        -> verdadeiro/falso
4. [Criar lista "itensColetados"]   -> coleção de valores

Exemplo: Perfil de Jogador

1. [INÍCIO]
2. [nome = "Rafa"]                // string
3. [idade = 11]                   // int
4. [altura = 1.42]                // float
5. [premium = verdadeiro]         // bool
6. [mochila = ["mapa", "chave"]]  // lista
7. [Exibir dados na tela]

Boas Práticas com Tipos

1. Use o tipo mais adequado

  • Não guarde número em texto sem necessidade

2. Converta quando necessário

  • Exemplo: transformar "12" em 12 antes de calcular

3. Nomeie variáveis com contexto

  • temperaturaMedia ajuda a entender que é número real

4. Valide entradas do usuário

  • Verifique se o dado recebido está no tipo esperado

Erros Comuns com Tipos de Dados

1. Misturar texto e número sem conversão

  • Problema: "10" + 5 pode gerar resultado inesperado
  • Solução: Converter antes da operação

2. Usar decimal quando precisa de inteiro

  • Problema: contador de pessoas com float
  • Solução: usar int para contagens

3. Usar valores inválidos em booleano

  • Problema: guardar "talvez" em variável booleana
  • Solução: usar apenas verdadeiro/falso

4. Misturar tipos na mesma lista sem planejamento

  • Problema: lista difícil de processar e validar
  • Solução: manter padrão de tipo por coleção

Atividades Desplugadas

1. Classifique os Dados

Material: Cartões com valores ("Maria", 15, 3.14, verdadeiro)

Como fazer:

  1. Separar cartões por tipo
  2. Discutir por que cada valor pertence àquela categoria
  3. Criar variáveis para cada cartão

2. Carrinho Inteligente

Material: Lista de compras fictícia

Como fazer:

  1. Definir produto (string), quantidade (int), preco (float)
  2. Calcular total do carrinho
  3. Criar pagamentoAprovado (bool)

3. Coleção da Turma

Material: Quadro e nomes dos alunos

Como fazer:

  1. Criar lista de nomes (string)
  2. Criar lista de notas (int/float)
  3. Comparar e discutir diferenças entre dados simples e coleção

Dicas para Educadores

Como Ensinar

  1. Use exemplos reais: idade, nome, nota, presença
  2. Trabalhe com cartões físicos: classificar e recategorizar
  3. Simule erros comuns: mostrar por que quebram
  4. Incentive justificativa: "Por que isso é string?"

Observar nos Estudantes

  • Identificam corretamente cada tipo de dado
  • Escolhem tipos adequados para variáveis
  • Entendem diferença entre dado único e lista
  • Corrigem erros de tipagem

Sinais de Sucesso

  • Explicam tipos com exemplos do cotidiano
  • Evitam misturas incorretas de dados
  • Aplicam conversão de tipos quando necessário
  • Modelam problemas simples com tipos coerentes

Pensamento Computacional

Decomposição

  • Separar um problema em dados menores
  • Definir tipo adequado para cada parte

Reconhecimento de Padrões

  • Perceber quais informações sempre aparecem como texto, número ou booleano
  • Reaplicar essa lógica em novos problemas

Abstração

  • Representar o mundo real em formatos simples e úteis
  • Ignorar detalhes que não impactam a solução

Algoritmos

  • Usar tipos corretos para garantir cálculos e decisões confiáveis
  • Integrar variáveis e listas ao fluxo do programa

Objetivos de Aprendizagem

Ao final desta seção, estudantes devem conseguir:

  • Diferenciar os tipos básicos de dados
  • Escolher tipos adequados para cada variável
  • Reconhecer quando usar lista/vetor
  • Evitar e corrigir erros comuns de tipagem
  • Aplicar tipos de dados em blocos visuais e pseudocódigo

Atividades de Fixação

1. Qual é o Tipo?

Diga o tipo de cada valor:

  • "Brasil"
  • 42
  • 9.5
  • falso
  • ["lápis", "caderno", "borracha"]

2. Corrija o Programa

Identifique e ajuste:

idade = "13"
proximaIdade = idade + 1
aprovado = "sim"

3. Desafio Cadastro da Turma

  • Criar variáveis para nome, idade, média e aprovado
  • Guardar nomes em uma lista
  • Exibir um resumo final com os dados

Referências e Recursos

Sites Educativos

Vídeos Explicativos

Jogos e Simuladores

Literatura

  • Downey, A. (2015). Think Python. O'Reilly
  • Matthes, E. (2023). Python Crash Course. No Starch Press
  • Wengrow, J. (2020). A Common-Sense Guide to Data Structures and Algorithms. Pragmatic Bookshelf

Próximo: Avance para Operadores para aprender como realizar operações com cada tipo de dado!