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

Projete um algoritmo em pseudocódigo para reassemblar pacotes numerados que chegam fora de ordem. Inclua…

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 em pseudocódigo para reassemblar pacotes numerados que chegam fora de ordem. Inclua verificação de integridade via checksum, tratamento de pacotes duplicados e ação em caso de pacotes ausentes por timeout.

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

Resposta esperada

Modelo de resposta (pseudocódigo e descrição): Inicializar buffer = mapa(numeroSequencia -> pacote) Inicializar esperado = 0 Inicializar temporizadores = mapa(numeroSequencia -> timestamp) Funcao receber(pacote): if verificarChecksum(pacote) == FALSO: descartar pacote return n = pacote.numeroSequencia if n < esperado: // pacote duplicado ou já processado descartar pacote return if n in buffer: // duplicado recebido anteriormente descartar pacote return buffer[n] = pacote temporizadores[n] = tempoAtual() tentarReassemblar() Funcao tentarReassemblar(): enquanto esperado in buffer: anexar buffer[esperado].payload ao arquivoDestino remover buffer[esperado] remover temporizadores[esperado] esperado = esperado + 1 Rotina timeoutHandler(): para cada n em temporizadores: if tempoAtual() - temporizadores[n] > TIMEOUT_PADRAO: solicitarRetransmissao(n) // via protocolo de controle Funcao verificarChecksum(pacote): calcular = checksum(pacote.cabecalho + pacote.payload) retornar calcular == pacote.checksum Observações e justificativas: - O buffer armazena pacotes fora de ordem até que a sequência esperada esteja disponível; isso permite montagem correta do arquivo. - Verificação de checksum elimina pacotes corrompidos antes de ocuparem buffer, preservando integridade. - Pacotes duplicados são detectados se o número de sequência já foi recebido ou processado; são descartados para evitar duplicação no arquivo final. - Um timeout por número de sequência aciona pedido de retransmissão, evitando espera indefinida por pacotes perdidos. - Em implementações reais, o protocolo deve limitar tamanho do buffer e número de retransmissões para evitar esgotamento de recursos; usar ACKs cumulativos e janelas deslizantes melhora eficiência. - Para segurança, antes de aceitar payloads que contenham dados sensíveis, aplicar autenticação (MAC/HMAC) e, se necessário, descriptografar com chaves gerenciadas; rejeitar pacotes com autenticação inválida.

Explicação

O algoritmo apresentado aborda de forma eficaz a reassemblagem de pacotes, garantindo a integridade dos dados por meio da verificação de checksum e evitando duplicações. A implementação de um sistema de temporização para gerenciar pacotes ausentes assegura que retransmissões sejam solicitadas de maneira oportuna, prevenindo perdas de dados. Além disso, as considerações sobre segurança e eficiência em um ambiente real demonstram uma abordagem abrangente e prática para o problema.

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 reassemblagem

📌 Objetivo

avaliacao

🧱 Pré-requisitos

algoritmos e pseudocódigo · verificação de integridade

📚 Reveja

Revisar conceitos de algoritmos e tratamento de pacotes.

⚠️ Erro mais comum

O aluno pode esquecer de incluir a verificação de pacotes duplicados, levando a um algoritmo que não trata corretamente a ordem dos pacotes.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

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