Capítulo 13: Vetores I: Listas de Dados

🎯 Objetivo da Aula

Até agora, cada variável guardava apenas um valor. Nesta aula, você conhecerá os Vetores (arrays). O objetivo é aprender a criar uma “super variável” capaz de guardar uma lista de informações do mesmo tipo, organizadas por números de posição (índices).


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

Situação: O pátio da FastLog tem 5 vagas de espera para caminhões. O Problema: Você precisa registrar a placa de cada caminhão que ocupa essas vagas. Criar 5 variáveis (vaga1, vaga2…) é ineficiente.

Missão: Criar um vetor chamado vagas que consiga armazenar as 5 placas e exibi-las em um relatório de ocupação.


🧠 Fundamentos: A Teoria Traduzida

1. O que é um Vetor?

Pense em um vetor como uma caixa dividida em compartimentos numerados.

🛒 Exemplo 1: Cotidiano (Lista de Compras)

  • compras[1] = “Arroz”
  • compras[2] = “Feijão”

🚛 Exemplo 2: Técnico (Vagas de Estacionamento)

  • vagas[1] = “ABC-1234”
  • vagas[2] = “XYZ-9876”
graph LR
    V[Vetor: patio_de_espera]
    V --> I1[Índice 1: 'Placa A']
    V --> I2[Índice 2: 'Placa B']
    V --> I3[Índice 3: 'Placa C']
    
    style I1 fill:#3498db,stroke:#fff,color:#fff
    style I3 fill:#3498db,stroke:#fff,color:#fff

2. Declaração no VisuAlg

Diferente de outras linguagens, no VisuAlg o vetor é declarado na seção var informando o intervalo (geralmente de 1 até N).

1
2
var
   vagas : vetor [1..5] de caractere

📖 Exemplo Guiado: Controle de Pátio

Vetores são variáveis que guardam listas de dados do mesmo tipo. No VisuAlg, a indexação começa em 1.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
algoritmo "Controle_Patio"
var
   vagas : vetor [1..5] de caractere
   i : inteiro
inicio
   para i de 1 ate 5 faca
      escreva("Placa da Vaga ", i, ": ")
      leia(vagas[i])
   fimpara
   
   escreval("--- OCUPAÇÃO ---")
   para i de 1 ate 5 faca
      escreval("Vaga [", i, "]: ", vagas[i])
   fimpara
fimalgoritmo

🛠️ Prática Obrigatória 1: Faturamento Trimestral

Crie um algoritmo chamado “Media_Anual_Vendas”. Use um vetor de real com 4 posições para guardar o faturamento de 4 trimestres. Peça os valores, guarde no vetor e, no final, mostre a soma total.

✅ Resultado Esperado

1
2
3
Venda T1: 1500.0
...
Faturamento Total: R$ 6000.0

🛠️ Prática Obrigatória 2: Catálogo de SKUs FastLog

Crie um programa que use um vetor para armazenar 5 códigos de produtos (SKUs). Peça ao usuário para cadastrar os 5 e, ao final, exiba a lista de inventário completa.

✅ Resultado Esperado

1
2
3
4
5
6
CADASTRAR SKUs:
1: LOG-A1
...
5: LOG-B5
--- LISTA COMPLETA ---
1: LOG-A1 ...

🔥 Desafio de Fixação (Opcional): Lista de Compras

Crie um programa que use um vetor para armazenar 10 itens de uma lista de compras de materiais de escritório. Exiba a lista numerada no console.


📤 Instruções de Entrega (Microsoft Teams)

Após validar seus códigos:

  1. Verifique se o intervalo do vetor está correto na seção var (Ex: 1..5).
  2. Salve os arquivos com a extensão .alg (Ex: Atividade_13_SeuNome.alg).
  3. Envie no Microsoft Teams na tarefa “VisuAlg Cap 13 - Vetores Básicos”.

🔑 Gabarito de Código

Prática 1:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
algoritmo "Vendas"
var
   vendas : vetor [1..4] de real
   i : inteiro
   soma : real
inicio
   soma <- 0
   para i de 1 ate 4 faca
      escreva("Venda T", i, ": ") leia(vendas[i])
      soma <- soma + vendas[i]
   fimpara
   escreva("Faturamento Total: R$ ", soma)
fimalgoritmo

Desafio:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
algoritmo "Compras"
var
   lista : vetor [1..10] de caractere
   i : inteiro
inicio
   para i de 1 ate 10 faca
      escreva("Item ", i, ": ") leia(lista[i])
   fimpara
   para i de 1 ate 10 faca
      escreval(i, " - ", lista[i])
   fimpara
fimalgoritmo