Conteúdo 13 de 20
Variáveis e constantes
Entenda como nomes representam dados, acompanhe mudanças de estado e diferencie valores atualizáveis de associações constantes.

Variáveis dão nome ao estado de um algoritmo
Uma variável é um nome usado para acessar um dado que o algoritmo precisa guardar, consultar ou atualizar. Se quantidadeDeItens vale 3 agora e um item é adicionado, o mesmo nome pode passar a representar 4.
Pense nela como uma etiqueta associada ao valor atual. A metáfora da “caixa” ajuda no início, mas não descreve igualmente todas as linguagens: algumas armazenam o valor diretamente; outras fazem o nome referenciar um objeto. O modelo essencial é este: o nome permite recuperar o estado que importa naquele ponto da execução.
Uma constante também dá nome a um dado, mas estabelece que essa associação não deve mudar durante o contexto definido. Ela comunica estabilidade e, quando a linguagem oferece suporte, pode impedir uma nova atribuição. É esse estado nomeado que permite ligar a entrada ao processamento e à saída sem perder os valores intermediários.
O ciclo de uma variável
Para usar uma variável com clareza, separe quatro ideias. Os exemplos seguem as convenções da aula sobre como escrever um pseudocódigo claro.
Declaração
Declarar introduz o nome no algoritmo. Linguagens com tipagem explícita podem exigir também o tipo; outras inferem ou permitem que ele seja definido pelo valor. A próxima aula aprofundará tipos de dados.
Em pseudocódigo independente de linguagem, podemos registrar apenas a intenção:
declare quantidadeDeItens
Inicialização
Inicializar fornece o primeiro valor válido:
quantidadeDeItens ← 0
Esse valor inicial precisa fazer sentido para o problema. Zero pode representar uma contagem vazia, mas não serve automaticamente para datas, nomes ou estados desconhecidos.
Leitura
Ler é usar o valor atual em uma expressão, condição ou saída:
informe quantidadeDeItens
A leitura não altera a variável. Ela apenas consulta o estado naquele momento.
Atualização
Atualizar calcula e atribui um novo valor:
quantidadeDeItens ← quantidadeDeItens + 1
O valor anterior participa do cálculo; o resultado volta a ser associado ao mesmo nome. Depois da instrução, a leitura de quantidadeDeItens devolve o novo valor.
Atribuição não é igualdade matemática
Na matemática, x = x + 1 seria impossível. Em um algoritmo, o símbolo de atribuição indica uma operação no tempo: avalie o lado direito com o estado atual e grave o resultado no alvo à esquerda.
Por isso, o pseudocódigo desta trilha usa ←:
saldo ← saldo + deposito
Se saldo vale 40 e deposito vale 15, a execução ocorre assim:
- ler
saldo, obtendo40; - ler
deposito, obtendo15; - calcular
40 + 15, obtendo55; - atribuir
55asaldo.
Documentações de linguagens formalizam a atribuição de maneiras próprias. A referência do Python, por exemplo, descreve que a expressão é avaliada e o resultado é atribuído ao alvo. O detalhe de implementação varia, mas a leitura temporal evita confundir atualização com comparação.
O que caracteriza uma constante
Uma constante representa um valor ou uma associação que deve permanecer estável no contexto do programa. Exemplos possíveis incluem DIAS_DA_SEMANA ← 7 ou um limite definido pela regra do exercício.
Ela é útil porque:
- dá significado a um literal que apareceria solto;
- evita alterações acidentais quando a linguagem fiscaliza a restrição;
- centraliza um valor reutilizado;
- comunica ao leitor que aquele nome não participa das mudanças de estado.
Em pseudocódigo, podemos escrever:
constante LIMITE_DE_TENTATIVAS ← 3
Usar letras maiúsculas é uma convenção comum para destacar constantes, não uma regra universal. O importante é que o padrão do material ou da equipe seja consistente.
Constante não significa a mesma coisa em toda linguagem
O conceito introdutório é estável, mas a garantia concreta depende da linguagem.
Em C#, uma constante declarada com const precisa ser conhecida em tempo de compilação e aceita apenas certos tipos. Quando o valor só pode ser determinado em tempo de execução, existem outros mecanismos, como campos readonly.
Em JavaScript, const impede que o identificador seja reatribuído. Se ele referencia um objeto ou uma coleção, o conteúdo desse objeto ainda pode ser modificado. Portanto, referência constante não é sinônimo de objeto imutável.
Compare conceitualmente:
constante CONFIGURACAO ← objetoConfiguracao
CONFIGURACAO ← outroObjeto // reatribuição: proibida pela regra
CONFIGURACAO.tema ← "escuro" // alteração interna: depende da linguagem e do objeto
Esta aula trabalha com valores simples no pseudocódigo. Ao programar, consulte a documentação da linguagem antes de presumir o que a palavra constante protege.
Exemplo: controlar vagas de uma turma
Considere uma turma com capacidade definida em 30, inicialmente com 18 vagas ocupadas. Uma nova reserva inclui 3 pessoas.
constante CAPACIDADE_MAXIMA ← 30
vagasOcupadas ← 18
quantidadeDaReserva ← 3
vagasOcupadas ← vagasOcupadas + quantidadeDaReserva
vagasDisponiveis ← CAPACIDADE_MAXIMA - vagasOcupadas
informe vagasOcupadas
informe vagasDisponiveis
O algoritmo termina com 21 vagas ocupadas e 9 disponíveis. Observe os papéis:
CAPACIDADE_MAXIMApermanece30;vagasOcupadasmuda de18para21;quantidadeDaReservavale3neste exemplo e participa do cálculo;vagasDisponiveisé derivada do estado atualizado.
Uma tabela de rastreamento confirma a ordem:
| Após a instrução | CAPACIDADE_MAXIMA | vagasOcupadas | quantidadeDaReserva | vagasDisponiveis |
|---|---|---|---|---|
| inicializar capacidade | 30 | — | — | — |
| inicializar ocupadas | 30 | 18 | — | — |
| registrar reserva | 30 | 18 | 3 | — |
| atualizar ocupadas | 30 | 21 | 3 | — |
| calcular disponíveis | 30 | 21 | 3 | 9 |
O traço significa “ainda não definido”, não zero. Essa distinção evita usar um valor antes de inicializá-lo.
O exemplo supõe que a reserva cabe na turma. A validação será aprofundada no módulo de decisões; por enquanto, o objetivo é acompanhar o estado.
Quando escolher variável ou constante
Pergunte se o nome deve receber outro valor dentro do contexto atual.
Use uma variável quando o dado:
- acompanha contagem, saldo, posição ou estado;
- recebe entrada que pode variar entre execuções;
- é atualizado por uma regra;
- guarda um resultado intermediário ou derivado.
Use uma constante quando o dado:
- representa uma regra estável naquela execução;
- não deve receber uma nova associação;
- aparece em vários cálculos com o mesmo significado;
- ganha clareza ao substituir um número ou texto literal.
Nem todo valor inicial é constante. saldoInicial pode começar em 100 e mudar. Nem todo valor que muda entre implantações precisa ser variável durante a execução: uma configuração pode ser carregada uma vez e depois permanecer somente para leitura.
Como criar nomes informativos
O nome deve explicar o significado, não apenas o formato. Prefira quantidadeDeTentativas a q, valor1 ou dado.
Boas práticas:
- use substantivos para valores e contagens;
- diferencie total, valor atual, limite e resultado;
- mantenha o idioma e o estilo de escrita consistentes;
- evite abreviações que só o autor entende;
- não inclua um tipo no nome sem necessidade;
- reserve convenções visuais de constante para valores realmente estáveis.
Um nome longo o bastante para ser claro costuma reduzir comentários. Ainda assim, não coloque uma frase inteira no identificador.
Erros comuns
Usar antes de inicializar
Somar a uma variável sem valor inicial torna o resultado indefinido ou provoca erro, conforme a linguagem.
Confundir atribuição e comparação
Atribuição atualiza o estado; comparação pergunta se dois valores atendem a uma relação. Use símbolos distintos no pseudocódigo.
Criar nomes genéricos
x, temp e valor escondem o papel do dado fora de exemplos muito pequenos.
Declarar como constante algo que é configuração mutável
Se o valor precisa mudar durante a execução, tratá-lo como constante contradiz a regra. Se muda apenas entre ambientes, modele explicitamente como configuração carregada.
Acreditar que const congela qualquer conteúdo
Algumas linguagens impedem apenas a reatribuição do nome. Imutabilidade do objeto é outra propriedade.
Atualizar na ordem errada
Calcular vagasDisponiveis antes de somar a nova reserva produziria 12, um resultado antigo. A sequência das atribuições importa.
Pratique rastreando uma pontuação
Considere:
constante BONUS ← 5
pontos ← 10
pontos ← pontos + BONUS
pontos ← pontos * 2
- monte uma tabela com uma linha após cada instrução;
- registre
BONUSepontos; - informe o valor final;
- explique por que
BONUSnão precisa mudar; - troque o valor inicial de
pontospara0e execute novamente; - identifique o que seria inválido em
BONUS ← 8depois da declaração.
O resultado final do primeiro rastreamento é 30: primeiro 10 + 5, depois 15 × 2. Confira seguindo o método de testar um algoritmo manualmente.
O que você deve guardar
Variáveis e constantes dão nomes aos dados do algoritmo. A variável permite acompanhar um estado que pode ser atualizado. A constante comunica que uma associação deve permanecer estável no contexto definido.
Atribuição acontece no tempo: primeiro a expressão é avaliada; depois o resultado é associado ao alvo. Inicialize antes de ler, escolha nomes pelo significado e consulte as regras da linguagem para saber o que uma declaração constante realmente garante.
Este conteúdo abre o módulo de dados e expressões. Avance para tipos de dados para entender quais valores e operações cada variável admite e consulte o catálogo da trilha de Lógica de Programação para acompanhar a sequência.
Referências
- Computer Science Teachers Association — Use variables to store, compare, and modify data within a program. Acesso em 10 set. 2026.
- Computer Science Teachers Association — CSTA K–12 Computer Science Standards, Revised 2017. Acesso em 10 set. 2026.
- Python Documentation — Assignment statements. Acesso em 10 set. 2026.
- MDN Web Docs —
const. Acesso em 10 set. 2026. - Microsoft Learn — Constants: C# Programming Guide. Acesso em 10 set. 2026.