Módulo 3 - Variáveis, as caixas da memória
Atribuição: guardar, substituir e a linha que parece impossível
8 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 02/07/2026
O que você vai aprender
- Ler a atribuição sempre como “recebe”: caixa <- valor.
- Entender que a atribuição substitui: o valor antigo é descartado sem aviso.
- Prever o valor final de uma variável após várias atribuições em sequência.
- Decifrar a linha pontos <- pontos + 5: primeiro a conta, depois a guardada.
Ouvir o resumo desta aula
Um recap de cerca de 2 minutos na voz do Valim, para ouvir no trânsito ou na academia.
Ler a transcrição do resumo
Resumo da aula: Atribuição: guardar, substituir e a linha que parece impossível.
Os objetivos desta aula. Ler a atribuição sempre como “recebe”: caixa <- valor. Entender que a atribuição substitui: o valor antigo é descartado sem aviso. Prever o valor final de uma variável após várias atribuições em sequência. Decifrar a linha pontos <- pontos + 5: primeiro a conta, depois a guardada.
Veja o essencial, parte por parte.
A seta que guarda: leia sempre como “recebe”. Atribuição é guardar um valor numa variável: idade <- 25 se lê “idade recebe 25”.
Substituir é jogar fora: a caixa não guarda histórico. Agora, a regra que mais derruba iniciante em prova: quando você atribui um valor novo a uma variável que já tinha conteúdo, o antigo é descartado na hora.
A linha que parece impossível: pontos <- pontos + 5. cofrinho <- cofrinho + 20 é depositar: o total novo é o total antigo mais a moeda que entrou.
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
A seta que guarda: leia sempre como “recebe”
A atribuição tem uma coreografia fixa de dois tempos, sempre na mesma ordem. Tempo um: o computador resolve tudo o que está à DIREITA da seta até sobrar um único valor. Tempo dois: esse valor entra na caixa nomeada à esquerda. Na linha troco <- 50 - 42.50, a máquina primeiro faz a conta (7.50) e só então guarda o resultado na caixa troco. A caixa nunca guarda a conta; guarda o resultado dela. Por isso o lado esquerdo só pode ter UMA coisa: o nome de uma variável. Escrever 50 - 42.50 <- troco é como mandar guardar uma caixa dentro do feijão: a frase nem faz sentido.
preco <- 42.50
valor_pago <- 50
troco <- valor_pago - preco
escreva(troco)
// saída:
// 7.50O lado direito resolve primeiro (50 - 42.50 = 7.50); o resultado entra na caixa troco.
Repare que a terceira linha do exemplo usa OUTRAS variáveis no lado direito. Isso é o dia a dia da programação: caixas alimentando caixas. Quando a máquina encontra valor_pago - preco, ela abre as duas caixas, pega os valores do momento (50 e 42.50), faz a conta e guarda o resultado. As caixas originais continuam intactas: ler uma variável não a esvazia, assim como conferir o rótulo do pote não gasta o café. Só a atribuição muda o conteúdo de uma caixa; a leitura é sempre inofensiva.
Substituir é jogar fora: a caixa não guarda histórico
Agora, a regra que mais derruba iniciante em prova: quando você atribui um valor novo a uma variável que já tinha conteúdo, o antigo é descartado na hora. A caixa não tem histórico, não tem lixeira, não tem “desfazer”. Pense no quadro de avisos de um prédio: quando o síndico prega um aviso novo por cima, o anterior deixa de existir para quem passa. Se o algoritmo escreve saldo <- 100 e depois saldo <- 30, o saldo é 30 e ponto; o 100 não está “atrás” do 30, não está em lugar nenhum.
🎮 Jogo da aula
Qual valor sobrevive?
Três atribuições em sequência na mesma caixa. Execute o código de cabeça, linha por linha, e escolha o que aparece na tela.
pontos <- 10
pontos <- pontos + 5
pontos <- 40
escreva(pontos)A pegadinha do jogo mora na terceira linha: muita gente soma 15 + 40 e responde 55, esperando que a atribuição acumule. Ela não acumula; ela substitui. Acumular é possível, mas precisa ser pedido por extenso, com a variável aparecendo também no lado direito, como na segunda linha. Essa distinção entre trocar e acumular é exatamente o assunto da próxima seção, e vai reaparecer com força no módulo 9, quando os acumuladores viram ferramenta central dos laços.
A linha que parece impossível: pontos <- pontos + 5
Para quem vem da matemática da escola, a linha pontos <- pontos + 5 parece um absurdo: nenhum número é igual a ele mesmo mais cinco. O segredo é lembrar que a seta não é o sinal de igual: é uma ORDEM em dois tempos. Tempo um, lado direito: abra a caixa pontos, pegue o valor atual (digamos, 10), some 5, obtenha 15. Tempo dois, lado esquerdo: guarde 15 na caixa pontos, substituindo o 10. A mesma variável desempenha dois papéis em momentos diferentes: fornecedora do valor antigo no primeiro tempo, destinatária do valor novo no segundo. Nunca ao mesmo tempo.
cofrinho <- 0
cofrinho <- cofrinho + 20
cofrinho <- cofrinho + 35
escreva(cofrinho)
// saída:
// 55O padrão do cofrinho: cada linha lê o total atual, soma o depósito e guarda o novo total.
Teste rápido
Depois das linhas “saldo <- 80” e “saldo <- saldo - 30”, qual é o conteúdo da caixa saldo?
Perguntas frequentes
- Por que o curso usa <- em vez do sinal de igual?
- Para deixar a direção do movimento explícita: o valor viaja da direita para a esquerda. Muitas linguagens reais usam = para atribuir, o que confunde iniciantes justamente na linha x = x + 1. Aprendendo com a seta, você grava o conceito; trocar o símbolo depois é detalhe de sintaxe.
- Tem como recuperar o valor antigo depois de uma atribuição?
- Não. A substituição é definitiva: a caixa só comporta um valor. Se o algoritmo vai precisar do valor antigo, a solução é copiá-lo para OUTRA variável antes de sobrescrever. Esse truque da cópia preventiva é o coração da troca de valores, assunto da próxima aula.
- O que acontece primeiro numa atribuição: a conta ou a guardada?
- Sempre a conta. O computador resolve o lado direito por completo, até sobrar um único valor, e só então o deposita na variável do lado esquerdo. É por isso que pontos <- pontos + 5 funciona: quando a guardada acontece, a leitura do valor antigo já terminou.
- Posso atribuir o valor de uma variável a outra?
- Sim, e é comuníssimo: copia <- original lê o valor de original e guarda uma CÓPIA em copia. As duas caixas ficam com o mesmo valor, mas continuam independentes: mudar uma depois não afeta a outra. É uma cópia do conteúdo, não um espelho permanente.
- Ler uma variável muitas vezes gasta o valor dela?
- Não. A leitura é como conferir o conteúdo da caixa sem tirar nada: escreva(saldo) pode rodar mil vezes e o saldo continua lá, intacto. Só a atribuição altera o conteúdo. Essa assimetria entre ler (inofensivo) e atribuir (substitui) vale para todo o curso.
- A linha x <- x + 1 tem nome?
- Tem: incremento, o ato de aumentar a variável em uma unidade. A versão que soma valores variados (total <- total + valor) é o acumulador, e a que conta ocorrências (contador <- contador + 1) é o contador. Os três padrões viram protagonistas nos módulos 9 e 10, dentro dos laços de repetição.
Fontes
Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.