Capítulo 13: Vetores I: Arrays Unidimensionais

🎯 Objetivo da Aula

Até agora, se você precisasse guardar 10 nomes, precisaria criar 10 variáveis diferentes (nome1, nome2…). Isso é impossível em sistemas reais. Nesta aula, você aprenderá sobre Vetores (arrays). O objetivo é entender como criar uma única variável que consegue guardar múltiplos valores do mesmo tipo, organizados por Índices.


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

Situação: O setor de expedição da FastLog precisa registrar os nomes dos motoristas que estão aguardando no pátio (máximo de 5 por vez).

Missão: Criar uma “lista de chamada” digital onde você consiga armazenar os 5 nomes em uma única estrutura e depois exibi-los todos de uma vez.


🧠 Fundamentos: A Theory Traduzida

1. O que é um Vetor?

Pense em um vetor como uma caixa dividida em compartimentos.

🛒 Exemplo 1: Cotidiano (Lista de Compras)

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

🚛 Exemplo 2: Técnico (Pátio de Caminhões)

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

3. Declaração no Portugol

Dizemos o tipo, o nome e o tamanho entre colchetes [ ]:

1
cadeia motoristas[5] 

📖 Exemplo Guiado: Lista de Chamada

Um vetor é uma caixa dividida em compartimentos (índices). Lembre-se: Computadores começam a contar do Zero.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
programa {
	funcao inicio() {
		cadeia nomes[3] // Vetor de 3 posições
		
		nomes[0] = "João"
		nomes[1] = "Beatriz"
		nomes[2] = "Wilson"
		
		para (inteiro i = 0; i < 3; i++) {
			escreva("Posição ", i, ": ", nomes[i], "\n")
		}
	}
}

🛠️ Prática Obrigatória 1: Média de Notas com Vetor

Crie um programa que use um vetor de real com 4 posições. Peça as 4 notas ao usuário usando um laço para, guarde-as no vetor e, ao final, calcule e exiba a média.

✅ Resultado Esperado

1
2
3
4
5
Nota 1: 8.0
Nota 2: 7.0
Nota 3: 9.0
Nota 4: 10.0
MÉDIA FINAL: 8.5

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

Crie um vetor de cadeia para armazenar 5 códigos de produtos (SKUs). Peça ao usuário para cadastrar os 5 itens e, ao final, exiba a lista de inventário completa do pátio.

✅ Resultado Esperado

1
2
3
4
5
6
Cadastre o SKU 1: LOG-A10
...
LISTA DE INVENTÁRIO:
1. LOG-A10
2. LOG-B20
...

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

Crie um programa que leia 5 números inteiros e os guarde em um vetor. Ao final, exiba os números na ordem inversa (do último para o primeiro).


📤 Instruções de Entrega (Microsoft Teams)

Após validar seus códigos:

  1. O índice do vetor deve sempre ir de 0 até tamanho - 1.
  2. Salve os arquivos com a extensão .por (Ex: Atividade_13_SeuNome.por).
  3. Envie no Microsoft Teams na tarefa “Capítulo 13 - Vetores”.

🔑 Gabarito de Código

Prática 1:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
programa {
	funcao inicio() {
		real notas[4], soma = 0.0
		para (inteiro i = 0; i < 4; i++) {
			escreva("Nota ", i+1, ": ") leia(notas[i])
			soma = soma + notas[i]
		}
		escreva("MÉDIA FINAL: ", soma / 4)
	}
}

Desafio:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
programa {
	funcao inicio() {
		inteiro lista[5]
		para (inteiro i = 0; i < 5; i++) {
			escreva("Número: ") leia(lista[i])
		}
		escreva("INVERSO: ")
		para (inteiro i = 4; i >= 0; i--) {
			escreva(lista[i], " ")
		}
	}
}