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

Descreva com precisão o algoritmo e as estruturas de dados (registros, hash ou listas) para um programa que…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF15CO02

Construir e simular algoritmos, de forma independente ou em colaboração, que resolvam problemas simples e do cotidiano com uso de sequências, seleções condicionais e repetições de instruções.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Descreva com precisão o algoritmo e as estruturas de dados (registros, hash ou listas) para um programa que mescla vários arquivos CSV por chave primária sem carregar todos os dados na memória; explique fluxo, tratamento de colisões e complexidade.

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

Resposta esperada

Solução em duas abordagens: 1) Se existir um arquivo significativamente menor: carregar o menor em uma tabela hash (chave?registro). Em seguida fazer streaming do arquivo maior linha a linha, buscar na hash, gerar saída mesclada; colisões no hash tratadas por encadeamento; complexidade I/O O(N) e memória O(tamanho do menor). 2) Se todos são grandes: aplicar ordenação externa por chave (external sort) em cada arquivo e depois realizar merge-join sequencial lendo blocos; evita manter tudo em memória; complexidade dominada por custo de ordenação externa e leituras sequenciais. Em ambos casos definir registros com campos necessários, usar buffers de leitura/escrita para eficiência e validar chaves ausentes/duplicadas durante o merge.

Explicação

A solução apresentada aborda duas situações distintas para a mesclagem de arquivos CSV, garantindo eficiência em termos de uso de memória e tempo de processamento. A primeira abordagem utiliza uma tabela hash para otimizar a busca de registros, enquanto a segunda aplica ordenação externa, que é essencial quando todos os arquivos são grandes. Ambas as técnicas garantem que não seja necessário carregar todos os dados na memória, respeitando as limitações de recursos e assegurando a integridade dos 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

mesclagem de arquivos CSV

📌 Objetivo

avaliacao

🧱 Pré-requisitos

estruturas de dados · algoritmos de mesclagem

📚 Reveja

Revisar algoritmos de mesclagem e estruturas de dados adequadas.

⚠️ Erro mais comum

O aluno pode descrever um algoritmo que carrega todos os dados na memória, ignorando a restrição de não fazer isso.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cientifico

Questões parecidas com resolução

Todas as questões de Algoritmos

🔎 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.