Capítulo 02: Variáveis e Tipos de Dados

🎯 Objetivo da Aula

Nesta aula, você aprenderá sobre o coração de qualquer programa: a Memória. O objetivo é entender o que são Variáveis, como dar nomes a elas e como escolher o “tipo” certo para cada informação que queremos guardar.


🏢 O Cenário Prático (Seu Desafio)

Situação: Você foi contratado para criar a tela de cadastro de uma videolocadora retro. Você precisa guardar o nome do cliente, a idade dele, o preço da locação e se ele possui convênio.

O Problema: Você não pode simplesmente jogar as informações no computador; você precisa criar “gavetas” específicas para cada tipo de dado, senão o sistema vai misturar números com letras e travar.


🧠 Fundamentos: A Teoria Traduzida

1. O que é uma Variável?

Pense em uma variável como uma caixa etiquetada.

📱 Exemplo 1: Cotidiano (Contatos)

Para salvar um contato no celular, você precisa de:

  • Nome: “João” (Tipo: Cadeia)
  • Número: 99887766 (Tipo: Inteiro)

📦 Exemplo 2: Técnico (Inventário de Estoque)

Para cadastrar uma mercadoria no pátio:

  • SKU: “LOG-A10” (Tipo: Cadeia)
  • Quantidade: 500 (Tipo: Inteiro)
  • Peso: 12.5 (Tipo: Real)
  • Perecível: Falso (Tipo: Lógico)
graph LR
    Memoria[Memória RAM] --> V1[Inteiro: quantidade]
    Memoria --> V2[Real: peso_unitario]
    Memoria --> V3[Cadeia: codigo_sku]
    Memoria --> V4[Logico: eh_perecivel]
    
    style V1 fill:#2ecc71,stroke:#fff,color:#fff
    style V2 fill:#3498db,stroke:#fff,color:#fff
    style V3 fill:#9b59b6,stroke:#fff,color:#fff
    style V4 fill:#f1c40f,stroke:#fff,color:#fff

📖 Exemplo Guiado: Criando as Gavetas

Para criar uma variável, primeiro dizemos o tipo e depois o nome. No Portugol Studio, declaramos e atribuímos valores assim:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
programa {
	funcao inicio() {
		// Declarando e atribuindo valores
		cadeia nome = "João"
		inteiro idade = 30
		real salario = 2500.50
		logico tem_carro = verdadeiro
		
		escreva("O nome é: ", nome, "\n")
		escreva("A idade é: ", idade)
	}
}

🛠️ Prática Obrigatória 1: Cadastro de Produto FastLog

Crie um programa que declare variáveis para armazenar as seguintes informações de um item no estoque da FastLog:

  1. SKU (Ex: “LOG-A10”) - Tipo Cadeia
  2. Quantidade (Ex: 500) - Tipo Inteiro
  3. Peso Unitário (Ex: 12.5) - Tipo Real
  4. É Frágil? (Ex: verdadeiro) - Tipo Lógico

Ao final, exiba todos os dados no console.

✅ Resultado Esperado

1
2
3
4
PRODUTO: LOG-A10
ESTOQUE: 500 unidades
PESO: 12.5 kg
FRÁGIL: verdadeiro

🛠️ Prática Obrigatória 2: Holerite Simplificado

Crie variáveis para o nome_funcionario, salario_bruto e desconto_inss. Atribua valores e exiba um resumo do pagamento formatado.

✅ Resultado Esperado

1
2
3
4
FUNCIONÁRIO: Maria Silva
SALÁRIO BRUTO: R$ 3000.0
DESCONTO INSS: R$ 330.0
LÍQUIDO A RECEBER: R$ 2670.0

🔥 Desafio de Fixação (Opcional): O Truque da Troca

Crie duas variáveis A e B. Peça para o usuário digitar um valor para cada uma. O seu desafio é fazer com que o valor de A passe para B e o de B passe para A. Dica: Você precisará de uma terceira “gaveta” (variável auxiliar) para não perder o valor durante a troca.


📤 Instruções de Entrega (Microsoft Teams)

Após validar seus códigos:

  1. Garanta que todas as variáveis sigam o padrão snake_case.
  2. Salve os arquivos com a extensão .por (Ex: Atividade_02_SeuNome.por).
  3. Envie no Microsoft Teams na tarefa “Capítulo 02 - Tipos de Dados”.

🔑 Gabarito de Código

Prática 2:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
programa {
	funcao inicio() {
		cadeia nome = "Maria Silva"
		real bruto = 3000.0
		real inss = 330.0
		real liquido = bruto - inss

		escreva("FUNCIONÁRIO: ", nome, "\n")
		escreva("SALÁRIO BRUTO: R$ ", bruto, "\n")
		escreva("DESCONTO INSS: R$ ", inss, "\n")
		escreva("LÍQUIDO A RECEBER: R$ ", liquido)
	}
}

Desafio:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
programa {
	funcao inicio() {
		inteiro a, b, temp
		escreva("Digite A: ") leia(a)
		escreva("Digite B: ") leia(b)

		temp = a 
		a = b    
		b = temp 

		escreva("Agora A vale: ", a, " e B vale: ", b)
	}
}