Capitulo 4 - Variáveis e Tipos de Dados
[1]Copyright © 2026 Alyce Suza.
Como o computador armazena informações
4.1 O que é uma Variável?
- Nome: identificador único escolhido pelo programador.
- Tipo: que categoria de dado ela pode armazenar.
- Valor: o conteúdo atual (pode mudar ao longo do programa).
- Escopo: onde ela pode ser acessada (local ou global).
— Wirth, N. Algorithms + Data Structures = Programs. Prentice Hall, 1976.
A gaveta idade só aceita números inteiros. A gaveta nome só aceita texto.
Em qualquer momento do programa, você pode abrir uma gaveta para ver ou trocar o conteúdo.
Mas não pode colocar texto em uma gaveta rotulada para números — isso é erro de tipo.
4.2 Os 5 Tipos de Dados do Portugol
Tipo inteiro - Números inteiros
Armazena números sem parte decimal: positivos, negativos ou zero. Ocupa menos espaço que o tipo real.
inteiro idade = 25
inteiro saldo = -100
inteiro zero = 0
inteiro populacao = 215000000
inteiro x, y, z // declara três inteiros na mesma linha
- ✅ Use para: idades, anos, contadores, índices, quantidades sem fração.
- ❌ NUNCA use para: dinheiro (perderia os centavos), medidas decimais.
Tipo real - Números com parte decimal
Armazena números com ponto decimal (vírgula flutuante). Use PONTO, não vírgula.
real preco = 29.99
real altura = 1.75
real temperatura = -3.5
real pi = 3.14159265
real notaAluno = 7.8
- ✅ Use para: preços, medidas, notas, percentuais, qualquer número com decimais.
- ✅ Correto:
real pi = 3.14159 - ❌ Errado:
real pi = 3,14159(causará erro de sintaxe!)
Todas as linguagens de programação modernas usam ponto decimal — padrão herdado do sistema americano.
Tipo cadeia - Texto
Armazena qualquer sequência de caracteres. O conteúdo fica entre ASPAS DUPLAS.
cadeia nome = "Ana Paula"
cadeia endereco = "Rua das Flores, 123"
cadeia cpf = "123.456.789-00" // CPF como texto, não número!
cadeia vazia = ""
cadeia frase = "Programar e aprender a pensar."
cadeia numero = "42" e inteiro numero = 42 são COMPLETAMENTE diferentes!
- Com
cadeia: não dá para calcular."10" + "5" = "105"(concatenação de texto). - Com
inteiro:10 + 5 = 15(soma matemática).
CPF, CEP e telefone devem ser cadeia - têm pontos, traço e não são números para calcular.
Tipo caracter - Um único símbolo
Armazena exatamente UM caractere — letra, número ou símbolo. Use ASPAS SIMPLES.
caracter letra = 'A'
caracter digito = '7'
caracter simbolo = '@'
caracter espaco = ' '
caracter opcao = 'S' // para menus sim/não
- ✅ Use para: opções de menu (S/N), letras individuais, gênero (M/F), grau de avaliação.
Tipo logico - Verdadeiro ou Falso
Armazena exatamente dois valores possíveis: verdadeiro ou falso. É a base de toda decisão em programação.
logico aprovado = verdadeiro
logico pagouMensalidade = falso
logico ativo = verdadeiro
logico resultado = (10 > 5) // resultado = verdadeiro
- ✅ Use para: estados (ligado/desligado, aprovado/reprovado), condições, resultados de comparações.
Tabela Resumo dos Tipos
| Tipo | Exemplos | Quando usar |
|---|---|---|
inteiro |
25, -3, 0, 1000 |
Contadores, idades, anos |
real |
3.14, -0.5, 99.99 |
Preços, medidas, notas |
cadeia |
"Maria", "Olá!" |
Nomes, frases, textos |
caracter |
'A', '7', '@' |
Símbolo único |
logico |
verdadeiro, falso |
Condições, estados |
4.3 Declaração de Variáveis - Todas as Formas
Declarar uma variável significa reservar espaço na memória e dar um nome a esse espaço.
// Forma 1: declarar sem valor inicial
inteiro x
// Forma 2: declarar com valor inicial (inicialização)
real salario = 2500.00
// Forma 3: declarar múltiplas do mesmo tipo (sem valor inicial)
cadeia nome, sobrenome, email
// Forma 4: declarar múltiplas — cada uma com valor
// (só funciona uma por vez quando tem valor inicial)
inteiro a = 10
inteiro b = 20
// Forma 5: constante (valor que nunca muda)
const real PI = 3.14159
const inteiro MAX_ALUNOS = 50
const cadeia NOME_ESCOLA = "UFGO"
4.4 Regras para Nomear Variáveis
| Regra | Exemplo |
|---|---|
✅ Pode começar com letra ou _ |
nome, _total, resultado |
✅ Pode ter letras, números e _ |
nota1, preco_unitario, v3 |
| ❌ NÃO pode começar com número | 3variavel → ERRO |
| ❌ NÃO pode ter espaços | meu nome → ERRO (use meuNome) |
| ❌ NÃO pode ser palavra reservada | se, real, enquanto → ERRO |
| ⚠️ Maiúsculas e minúsculas são diferentes | Nome e nome são variáveis distintas |
- camelCase para variáveis compostas:
nomeCompleto,valorTotal,idadeAluno. - MAIÚSCULO para constantes:
PI,MAX_ALUNOS,TAXA_JUROS. - Nomes descritivos:
mediaFinalé melhor quemfoux.
Forbellone (2005): "o nome de uma variável deve refletir seu conteúdo, facilitando a leitura e manutenção do código."
4.5 Atribuição - Colocando Valores nas Variáveis
Atribuição é o ato de colocar (ou atualizar) um valor em uma variável. O sinal = em programação significa RECEBE, não igualdade matemática.
inteiro x = 0
x = 10 // x RECEBE o valor 10 (x agora vale 10)
x = x + 5 // x RECEBE (10 + 5) = 15
x = x * 2 // x RECEBE (15 * 2) = 30
x++ // equivale a: x = x + 1 (x agora = 31)
x-- // equivale a: x = x - 1 (x agora = 30)
// Atalhos de atribuição:
x += 5 // x = x + 5
x -= 3 // x = x - 3
x *= 2 // x = x * 2
x /= 4 // x = x / 4
x = x + 1 faz sentido em programação? Para um matemático: impossível. Nenhum número é igual a si mesmo + 1.
Para um programador: "pegue o valor atual de x, some 1, e ARMAZENE de volta em x."
O = não é igualdade — é uma seta de atribuição. Seria mais claro escrever x ← x + 1.
Isso se chama INCREMENTO e é uma das operações mais usadas em loops e contadores.
4.6 Escopo das Variáveis
O escopo define onde uma variável pode ser acessada no programa.
programa
{
// VARIÁVEL GLOBAL: acessível em qualquer função
inteiro globalContador = 0
funcao inicio()
{
// VARIÁVEL LOCAL: acessível somente dentro desta função
inteiro localValor = 42
escreva(globalContador) // OK: global é visível aqui
escreva(localValor) // OK: local é visível dentro da função
}
// Aqui fora, 'localValor' NÃO existe mais
}
4.7 Exercícios do Capítulo 4
O gabarito está reunido ao final do livro, na seção GABARITO.
Anote suas tentativas - comparar seu raciocínio com a solução é fundamental para aprender.
inteiro, real, cadeia, caracter, logico) e justifique:
a) Número de filhos de uma pessoa b) Preço de um produto c) Nome completo de um cliente d) Se o aluno está matriculado e) Nota de uma prova (com decimais) f) A inicial do nome (apenas a primeira letra) g) Número de CPF h) Temperatura média do dia
Dica: Para cada um, pense: precisa de decimal? É texto? Tem apenas dois valores possíveis?
cadeia), preço (real), quantidade em estoque (inteiro), disponível para venda (logico).
Atribua valores diretamente no código (sem leia).
Exiba um relatório formatado com todos os dados.
Dica: Exemplo: nome = "Notebook", preco = 3499.90, estoque = 15, disponivel = verdadeiro
PI como constante: const real PI = 3.14159.
Leia o raio de um círculo.
Calcule e exiba a área (PI × raio × raio) e o perímetro (2 × PI × raio).
Dica: Raio ao quadrado: raio * raio (não existe operador de potência direto).
a = 10 e b = 25.
Troque os valores entre elas (a deve ficar com 25 e b com 10).
Exiba os valores antes e depois da troca.
Dica: Você vai precisar de uma terceira variável auxiliar: aux = a | a = b | b = aux
Copyright © 2026 Alyce Suza. Todos os direitos reservados nos termos da Lei 9.610/98. O conteúdo publicado no site https://wiki.suzacybersecurity.com/ é protegido pelas diretrizes brasileiras de propriedade intelectual e a sua autoria é reconhecida desde o momento da criação técnica. O compartilhamento, a reprodução e a distribuição deste material são permitidos e incentivados apenas para finalidades educacionais, acadêmicas ou de consulta técnica, sendo estritamente vedado qualquer tipo de uso comercial. Para que a replicação seja validada e legal, você deve obrigatoriamente atribuir os devidos créditos a Alyce Suza e fornecer um link direto e acessível para a publicação original. A utilização deste material para obter lucro, monetização, venda de materiais ou qualquer vantagem financeira constitui violação de direitos autorais e está sujeita às sanções legais cabíveis, assim como alterações que modifiquem o sentido original das explicações sobre segurança da informação. Para eventuais dúvidas sobre permissões de uso, parcerias ou para reportar replicações indevidas, envie um e-mail para alycesuza@gmail.com. ↩︎