1. O que é uma variável
Uma variável é uma "caixa" com um nome, que guarda um valor durante a execução do algoritmo. O nome é fixo (você escolhe e não muda), mas o conteúdo da caixa pode mudar ao longo do tempo — daí o nome "variável".
Pense em uma variável literalmente como uma caixa etiquetada em uma prateleira: a etiqueta
é o nome (idade, nome,
total), e o que está dentro da caixa é o valor
(30, "Maria",
157.90). Você pode trocar o conteúdo da caixa quantas vezes
quiser sem trocar a etiqueta.
INÍCIO
idade ← 30
ESCREVA idade // mostra 30
idade ← 31
ESCREVA idade // mostra 31, o valor mudou
FIM
2. Tipos de dados universais
Toda variável guarda um valor de um determinado tipo — isso define que tipo de informação ela pode conter e quais operações fazem sentido com ela (não faz sentido "somar" duas frases, por exemplo). Praticamente toda linguagem de programação que existe, por baixo de nomes diferentes, tem os mesmos quatro tipos primitivos:
| Tipo (pseudocódigo) | Guarda | Exemplos |
|---|---|---|
| Inteiro | Números sem casas decimais | 7, -3, 0, 1000 |
| Real | Números com casas decimais | 3.14, -0.5, 157.90 |
| Texto (string) | Sequência de caracteres | "Maria", "a1b2", "123" (como texto) |
| Lógico (booleano) | Apenas dois valores possíveis | VERDADEIRO, FALSO |
Por que esses quatro e não outros? Porque eles cobrem as necessidades básicas de qualquer programa: contar coisas (inteiro), medir coisas com precisão fracionária (real), guardar informação legível para humanos (texto) e representar uma decisão binária, sim ou não (lógico). Tipos mais complexos — como listas, datas, objetos — são construídos combinando esses quatro tipos básicos, e você vai ver isso a fundo no Módulo 3 (Algoritmos e Estruturas de Dados).
Cada linguagem dá um nome diferente para os mesmos tipos: JavaScript usa
number para inteiros e reais juntos (e
string, boolean). Outras
linguagens, como C ou Java, separam inteiro (int) de real
(float/double) como tipos
distintos, com comportamentos diferentes. O conceito de "número inteiro"
versus "número com casas decimais" existe em toda linguagem, mesmo quando a sintaxe
esconde essa distinção.
3. Declaração e atribuição
Declarar uma variável é anunciar que ela existe (e, em muitas linguagens,
de que tipo ela é). Atribuir é colocar um valor dentro dela. Em
pseudocódigo, vamos simplificar: a primeira vez que você usa
← em um nome, isso já declara e atribui ao mesmo tempo.
INÍCIO
nome ← "Ana" // texto
idade ← 28 // inteiro
altura ← 1.68 // real
maiorDeIdade ← VERDADEIRO // lógico
FIM
Nomes de variáveis devem ser descritivos. idade comunica a
intenção; x ou a1 não comunicam
nada e obrigam quem lê a decorar o que cada nome significa. Isso vale para qualquer
linguagem — inclusive as que você já usa hoje.
4. Entrada e saída
Um algoritmo isolado, sem entrada nem saída, não serve para muito — ele precisa receber dados de quem o usa e devolver um resultado. No nosso dialeto de pseudocódigo, isso é feito com duas palavras-chave:
LEIA variável— pausa o algoritmo e espera um valor ser informado, guardando-o na variável indicada.ESCREVA valor— exibe um valor (ou o conteúdo de uma variável) como saída.
INÍCIO
ESCREVA "Digite seu nome:"
LEIA nome
ESCREVA "Digite sua idade:"
LEIA idade
ESCREVA "Olá, " + nome + "! Você tem " + idade + " anos."
FIM
5. Comparando com o que você já conhece
Se você já escreve JavaScript, o conceito de variável já é automático para você — mas vale comparar lado a lado para deixar explícita a tradução entre o pseudocódigo deste curso e a sintaxe que você já domina.
INÍCIO
nome ← "Wellington"
idade ← 30
ativo ← VERDADEIRO
ESCREVA "Digite sua cidade:"
LEIA cidade
ESCREVA nome + " mora em " + cidade
FIM
let nome = "Wellington";
let idade = 30;
let ativo = true;
console.log("Digite sua cidade:");
let cidade = prompt();
console.log(nome + " mora em " + cidade);
Note a correspondência direta: ← vira
=, VERDADEIRO/FALSO
viram true/false,
ESCREVA vira console.log e
LEIA vira alguma forma de captura de entrada. A
lógica é idêntica — só a sintaxe muda.
Uma diferença que vale adiantar: em JavaScript, uma variável declarada com
let pode trocar de tipo livremente durante a execução
(let x = 5; x = "cinco"; é válido). Em várias outras
linguagens isso não é permitido — o tipo é fixado no momento da declaração e não muda
depois. Este módulo não entra nesse detalhe (ele é específico de cada linguagem), mas
fica o aviso: nem toda linguagem trata tipo do mesmo jeito que o JS.