GeraProva GeraProva Provas com IA para professores do Brasil
Computação5º anoBNCC EF15CO01Difícil⏱ longo

Projete um algoritmo em pseudocódigo que recebe dois vetores unidimensionais de registros 'estoqueA' e…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF15CO01

Identificar as principais formas de organizar e representar a informação de maneira estruturada (matrizes, registros, listas e grafos) ou não estruturada (números, palavras, valores verdade).

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Projete um algoritmo em pseudocódigo que recebe dois vetores unidimensionais de registros 'estoqueA' e 'estoqueB' (cada registro tem campos 'id' inteiro e 'quantidade' inteiro) e devolve um novo vetor 'estoqueC' que combina registros por 'id': para ids presentes em ambos, somar as quantidades; para ids presentes em apenas um vetor, incluir o registro original. Descreva também como o algoritmo evita duplicatas e a escolha da estrutura para busca.

✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.

Resposta esperada

Usar um mapa (dicionário) para agregar por id é eficiente e evita duplicatas. Pseudocódigo: func combinar(estoqueA, estoqueB): mapa := novoMapa() // chave: id, valor: quantidade para cada r em estoqueA: se mapa.contem(r.id) então mapa[r.id] := mapa[r.id] + r.quantidade senao mapa[r.id] := r.quantidade para cada r em estoqueB: se mapa.contem(r.id) então mapa[r.id] := mapa[r.id] + r.quantidade senao mapa[r.id] := r.quantidade estoqueC := novoVetor() para cada (id, qtd) em mapa: append(estoqueC, registro{id: id, quantidade: qtd}) retornar estoqueC Observações: usar mapa garante busca e atualização em tempo esperado O(1) por operação, evitando duplicatas ao agregar por chave. Complexidade total esperada O(n + m) onde n e m são tamanhos dos vetores; usando apenas vetores seria necessário comparar pares (O(n·m)), mais lento.

Explicação

O uso de um mapa permite a agregação eficiente de quantidades por id, evitando a necessidade de comparações diretas entre os registros, o que tornaria o processo mais lento. A estrutura de dados escolhida garante que as operações de busca e atualização sejam realizadas em tempo constante, resultando em uma complexidade total linear em relação ao tamanho dos vetores. Isso torna o algoritmo escalável e eficiente, mesmo para grandes volumes de dados.

Raio-X da questão

Dificuldade Difícil
Bloom Criar
Leitura alto
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade multipla
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 desafio
🎯 Conceito central

algoritmo de combinação de vetores

📌 Objetivo

avaliacao

🧱 Pré-requisitos

vetores unidimensionais · estruturas de dados

📚 Reveja

Revisar conceitos de vetores e estruturas de dados em algoritmos.

⚠️ Erro mais comum

O aluno pode confundir a lógica de combinação, somando quantidades de ids que não estão presentes em ambos os vetores.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Organização e representação da informação

🔎 Procurar outra questão

Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.

Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog

Ocorreu um erro inesperado. Recarregar X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.