Escreva, em pseudocódigo, um algoritmo para um receptor que reconstrói um arquivo transmitido em pacotes com…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
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
Escreva, em pseudocódigo, um algoritmo para um receptor que reconstrói um arquivo transmitido em pacotes com campos de sequência e checksum; trate pacotes fora de ordem, perdas e duplicatas e explique como verifica integridade e quando libera o buffer.
✍️ 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 vazio (seq ? payload) esperado := 0 timers := mapa vazio (seq ? timestamp) maxRetries := 3 retries := mapa vazio (seq ? 0) Ao receber pacote P: if not verificar_checksum(P) then enviar_NACK(P.sequencia) return if P.sequencia em buffer então enviar_ACK(P.sequencia) // duplicata, ignora armazenamento return armazenar buffer[P.sequencia] := P.payload enviar_ACK(P.sequencia) atualizar timers[P.sequencia] = agora() Enquanto buffer contém esperado: escrever arquivo += buffer[esperado] remover buffer[esperado] esperado += tamanho_do_segmento_correspondente Rotina de timeout periódico: para cada seq em timers: if agora() - timers[seq] > TIMEOUT then if retries[seq] < maxRetries then enviar_retransmissao_request(seq) retries[seq] += 1 timers[seq] = agora() else liberar buffer inteiro registrar erro e notificar aplicação abortar reassemblagem Condições de término: - Se EOF conhecido e todos os segmentos até EOF foram escritos: fechar arquivo e liberar buffers. - Se maxRetries excedido: abortar e liberar buffers. Observações técnicas: - Verificação de integridade: usar checksum/CRC por pacote; descartar pacotes com checksum inválido e pedir retransmissão. - Tratamento de duplicatas: reconhecer por número de sequência e responder com ACK sem reescrever arquivo. - Reordenação: armazenar fragmentos fora de ordem em mapa indexado por sequência e só concatenar quando houver sequência contínua a partir do próximo esperado. - Gestão de recursos: timers por sequência e limite de tentativas evitam bloqueio de memória; liberar buffer após falha persistente e comunicar estado à aplicação.
Explicação
O pseudocódigo apresentado aborda de forma eficaz a recepção e reassembly de pacotes, garantindo a integridade dos dados por meio da verificação de checksums e do manejo de pacotes duplicados e fora de ordem. A implementação de timers e limites de tentativas para retransmissão assegura que o sistema não fique bloqueado em caso de falhas, permitindo a liberação de buffers e a notificação adequada à aplicação. Além disso, as condições de término garantem que o processo finalize de maneira controlada, evitando perda de dados.
Raio-X da questão
algoritmo de recepção
avaliacao
algoritmo de recepção · verificação de integridade
Revisar conceitos de protocolos de comunicação e verificação de integridade.
O aluno pode esquecer de implementar a lógica para tratar pacotes duplicados, levando a uma reconstrução incorreta do arquivo.
ciencia_tecnologia
criatividade
cientifico
Questões parecidas com resolução
- Descreva, em pseudocódigo e em texto, um algoritmo para um dispositivo receptor que reconstrói um arquivo transmitido em…
- Desenvolva um algoritmo em alto nível que descreva como um receptor reconstitui um arquivo a partir de pacotes recebidos…
- Proponha um algoritmo em alto nível que descreva como um receptor reconstroi um arquivo recebido via pacotes…
- Projete em pseudocódigo um algoritmo que reconstrua uma mensagem a partir de pacotes recebidos onde cada pacote contém…
- Analise e proponha: escreva um algoritmo em passos (pseudocódigo) que receba pacotes fora de ordem e com possíveis…
- Projete um algoritmo de alto nível (pseudocódigo) para um receptor que remonta um arquivo recebido em fragmentos de…
🔎 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
