Módulo 1 · Lógica de Programação — Capítulo 03

Variáveis, Tipos de Dados e Entrada/Saída

Toda linguagem de programação precisa guardar dados em algum lugar e trocar informação com quem está usando o programa. Aqui você aprende os conceitos universais de variável, tipo de dado, entrada e saída — a matéria-prima de qualquer algoritmo.

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.

PSEUDOCÓDIGO variaveis.txt
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)GuardaExemplos
InteiroNúmeros sem casas decimais7, -3, 0, 1000
RealNúmeros com casas decimais3.14, -0.5, 157.90
Texto (string)Sequência de caracteres"Maria", "a1b2", "123" (como texto)
Lógico (booleano)Apenas dois valores possíveisVERDADEIRO, 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).

Nota

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.

PSEUDOCÓDIGO declaracao.txt
INÍCIO
    nome ← "Ana"           // texto
    idade ← 28             // inteiro
    altura ← 1.68          // real
    maiorDeIdade ← VERDADEIRO   // lógico
FIM
Atenção

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.
PSEUDOCÓDIGO entrada-saida.txt
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.

PSEUDOCÓDIGO algoritmo.txt
INÍCIO
    nome ← "Wellington"
    idade ← 30
    ativo ← VERDADEIRO

    ESCREVA "Digite sua cidade:"
    LEIA cidade

    ESCREVA nome + " mora em " + cidade
FIM
JS equivalente.js
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.

Comparando com o que você já sabe

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.

📌 Resumo do capítulo

  • Variável é uma "caixa" nomeada que guarda um valor, e esse valor pode mudar ao longo do algoritmo.
  • Os quatro tipos primitivos universais são: inteiro, real, texto (string) e lógico (booleano).
  • Cada linguagem nomeia esses tipos de forma diferente, mas o conceito por trás é o mesmo em praticamente todas.
  • Declarar é anunciar a existência de uma variável; atribuir é colocar um valor nela.
  • LEIA captura uma entrada do usuário; ESCREVA produz uma saída.
  • Nomes de variáveis devem ser descritivos, não abreviações obscuras.
  • O pseudocódigo deste curso mapeia diretamente para a sintaxe de qualquer linguagem real, incluindo JS.

✏️ Praticando

  1. Escreva um algoritmo que declare três variáveis, uma de cada tipo (inteiro, real, texto), e as exiba com ESCREVA.
  2. Escreva um algoritmo que leia o nome e a idade de uma pessoa e escreva uma frase de apresentação usando essas duas variáveis.
  3. Identifique o tipo primitivo mais adequado para cada um destes dados: preço de um produto, quantidade de itens no carrinho, se o usuário aceitou os termos de uso, e o e-mail do usuário.
  4. Reescreva, à mão, o pseudocódigo do exemplo da seção 4 trocando os nomes das variáveis para nomes mais descritivos do seu contexto (por exemplo, um cadastro de cliente).