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

Projete um algoritmo de alto nível (pseudocódigo) para um receptor que remonta um arquivo recebido em…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF06CO07

Entender o processo de transmissão de dados, como a informação é quebrada em pedaços, transmitida em pacotes através de múltiplos equipamentos, e reconstruída no destino.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Projete um algoritmo de alto nível (pseudocódigo) para um receptor que remonta um arquivo recebido em fragmentos de pacotes fora de ordem; inclua verificação de integridade via hash, armazenamento temporário com timeout e descarte seguro de fragmentos inválidos.

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

Resposta esperada

// Estruturas: buffer[session][seq] armazenam fragmentos; meta[session]={total_seqs, expected_hash, timer} OnReceive(packet): sid=packet.session_id; seq=packet.seq; data=packet.payload; h=packet.hash_fragment if not verify_fragment_hash(data,h): discard_secure(data); return store buffer[sid][seq]=data; if not meta[sid] then init meta[sid] from packet header reset meta[sid].timer if all seq in 0..meta[sid].total_seqs present: assembled = concat buffer[sid][0..total_seqs-1] if verify_hash(assembled, meta[sid].expected_hash): write_file(assembled); send_ack(sid) else discard_secure_all(buffer[sid]); send_nack(sid) OnTimerExpire(sid): if elapsed > meta[sid].timeout: free buffer[sid]; notify_sender_timeout(sid) Notes: usar IDs de sessão para separar remetentes; manter timers por sessão; validar cada fragmento localmente e o arquivo final com hash completo; ao descartar, sobrescrever memória antes de liberar para evitar fuga de dados; enviar ACK/NACK para controle de retransmissão.

Explicação

O algoritmo proposto aborda de forma eficaz a recepção e montagem de pacotes, garantindo a integridade dos dados através da verificação de hash e implementando um sistema de armazenamento temporário com timeout. A utilização de IDs de sessão permite a separação adequada dos fragmentos, enquanto o descarte seguro de dados inválidos protege informações sensíveis. Além disso, o envio de ACK/NACK assegura um controle eficiente sobre a retransmissão de pacotes, aumentando a confiabilidade do processo.

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 recepção

📌 Objetivo

avaliacao

🧱 Pré-requisitos

algoritmo de recepção · hash e verificação de integridade

📚 Reveja

Revisar conceitos de algoritmos e verificação de integridade.

⚠️ Erro mais comum

O aluno pode esquecer de incluir a verificação de integridade, resultando em um algoritmo que não garante a segurança dos dados.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

criatividade

🏫 Contexto

cientifico

Questões parecidas com resolução

Todas as questões de Armazenamento e Transmissão de dados - Fundamentos de transmissão de dados

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