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

Descreva, em pseudocódigo e em texto, um algoritmo para um dispositivo receptor que reconstrói um arquivo…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF69CO07

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

Descreva, em pseudocódigo e em texto, um algoritmo para um dispositivo receptor que reconstrói um arquivo transmitido em pacotes pela rede. O algoritmo deve usar número de sequência, checksum, buffer de reordenação, ACK e retransmissão por timeout para garantir integridade e ordem. Explique também como tratar pacotes duplicados e perda de pacotes.

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

Resposta esperada

Modelo de resposta (pseudocódigo e explicação): // Inicialização buffer := mapa vazio // armazena pacotes fora de ordem por seq expected := 0 // próximo número de sequência esperado output := lista vazia // reconstrução do arquivo função onReceive(pacote): if not verificarChecksum(pacote.dados, pacote.checksum) then // pacote corrompido: descarta e não ACK; remetente retransmite por timeout return end if seq := pacote.sequence if seq < expected then // pacote duplicado já entregue enviarACK(seq) return end if if seq == expected then anexar(output, pacote.dados) enviarACK(seq) expected := expected + 1 // entregar quaisquer pacotes subsequentes já no buffer while buffer.contem(expected) do anexar(output, buffer[expected].dados) remover(buffer, expected) enviarACK(expected) expected := expected + 1 end while return end if // seq > expected: pacote fora de ordem if not buffer.contem(seq) then buffer[seq] := pacote end if enviarACK(seq) // ACK permite que o remetente saiba que este fragmento foi recebido // opcional: iniciar temporizador para detectar perda contínua do pacote esperado end função // Tratamento de perda e retransmissão: // O remetente mantém temporizador por pacote não ACKeado; se timeout, retransmite. // O receptor pode também enviar NACK para seqs faltantes, mas método comum é ACK seletivo + timeout no remetente. Explicação em texto: 1) Verificação de integridade: cada pacote traz um checksum/CRC; pacotes com checksum inválido são descartados para evitar inserir dados corrompidos. 2) Reordenação: o campo de número de sequência identifica a posição; o receptor entrega imediatamente pacotes na ordem esperada e guarda pacotes fora de ordem em um buffer. 3) Duplicados: se o número de sequência é menor que 'expected', o pacote já foi processado; o receptor responde com ACK e descarta o corpo. 4) Perda de pacotes: o remetente usa timeout para retransmitir pacotes sem ACK; o receptor pode enviar ACKs seletivos (ou NACKs) para informar o estado. 5) Controle de fluxo/janelas: em implementações reais (por exemplo, Selective Repeat), ambos mantêm uma janela deslizante para limitar buffer e retransmissões. Resultado: ao combinar checksum (integridade), número de sequência (ordem), buffer (reordenação), ACKs e retransmissão por timeout, o receptor reconstrói o arquivo corretamente, evitando entregas duplicadas e recuperando pacotes perdidos.

Explicação

O algoritmo apresentado aborda de forma eficaz os principais desafios da transmissão de dados, como a integridade, a ordem e a recuperação de pacotes perdidos ou duplicados. A utilização de checksum garante que apenas dados válidos sejam processados, enquanto o controle de sequência e o buffer permitem a reordenação e a entrega correta dos pacotes. Além disso, a implementação de ACKs e retransmissões por timeout assegura que pacotes não recebidos sejam recuperados, garantindo a confiabilidade da transmissão.

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 · protocolos de comunicação

📚 Reveja

Revisar conceitos de protocolos de comunicação e controle de erros.

⚠️ Erro mais comum

O aluno pode descrever um algoritmo que não considera a retransmissão de pacotes perdidos ou a verificação de pacotes duplicados, comprometendo a integridade da transmissão.

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