Capítulo 14: Vetores II: Buscas e Filtros
🎯 Objetivo da Aula
Ter os dados guardados em um vetor é apenas metade do trabalho. Nesta aula, você aprenderá a Processar esses dados. O objetivo é dominar algoritmos de Busca Linear (procurar um valor específico) e extrair informações inteligentes, como o maior ou menor valor de uma lista.
🏢 O Cenário Prático (Seu Desafio)
Situação: O sistema de segurança da FastLog registrou os números de série das últimas 5 cargas que saíram do galpão.
O Problema: O supervisor quer saber se a carga de código 999 está entre essas 5. Se estiver, ele precisa saber em qual vaga ela foi registrada.
Missão: Criar um “Scanner de Carga” que percorra o vetor e localize o código informado.
🧠 Fundamentos: A Teoria Traduzida
1. O Algoritmo de Busca Linear
Para achar algo em um vetor, o computador olha posição por posição.
🔑 Exemplo 1: Cotidiano (Chaves)
Procurar a chave da porta no meio de um molho de 10 chaves.
📦 Exemplo 2: Técnico (Rastreio de Carga)
Procurar se o código SKU “LOG-99” está na lista de 100 itens do manifesto.
graph TD
A[Início da Busca] --> B[Posição 1]
B --> C{É o SKU correto?}
C -- "Sim" --> D[Status: LOCALIZADO]
C -- "Não" --> E[Próxima Posição]
E --> B
style D fill:#2ecc71,stroke:#fff,color:#fff2. A Técnica da Bandeira (Flag)
Como o computador sabe se “achou” após o loop terminar? Usamos uma variável lógica (ex: encontrado) que começa como falso. Se o item for localizado, mudamos para verdadeiro.
📖 Exemplo Guiado: Scanner de Carga
Para localizar dados em um vetor, percorremos todas as posições. Usamos uma variável “bandeira” (logico) para saber se encontramos o item.
🛠️ Prática Obrigatória 1: Maior Faturamento
Crie um algoritmo chamado “Maior_Valor”. Peça 5 valores de vendas ao usuário e guarde-os em um vetor. Em seguida, use um loop para descobrir e exibir qual foi o Maior Valor digitado.
✅ Resultado Esperado
🛠️ Prática Obrigatória 2: Filtro de Preços FastLog
Crie um vetor com 5 preços de produtos. Peça ao usuário um “Orçamento Máximo”. O programa deve percorrer o vetor e exibir na tela apenas os produtos que possuem preço menor ou igual ao orçamento.
✅ Resultado Esperado
🔥 Desafio de Fixação (Opcional): Inverter Lista
Crie um programa que peça 5 nomes e guarde-os em um vetor. Em seguida, use um laço para para exibir esses nomes na ordem inversa (do último para o primeiro).
📤 Instruções de Entrega (Microsoft Teams)
Após validar seus códigos:
- Para encontrar o maior valor, assuma que o primeiro é o maior e compare com os outros.
- Salve os arquivos com a extensão
.alg(Ex:Atividade_14_SeuNome.alg). - Envie no Microsoft Teams na tarefa “VisuAlg Cap 14 - Manipulação de Vetores”.