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

Projete um algoritmo em pseudocódigo que detecte plágio entre redações usando shingling e hashing. Descreva…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF09CO02

Construir soluções computacionais de problemas de diferentes áreas do conhecimento, de forma individual e colaborativa, selecionando as estruturas de dados e técnicas adequadas, aperfeiçoando e articulando saberes escolares.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Projete um algoritmo em pseudocódigo que detecte plágio entre redações usando shingling e hashing. Descreva representação de dados, escolha do tamanho de shingle, método de comparação (por exemplo Jaccard ou MinHash), limiar de similaridade, complexidade e limitações.

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

Resposta esperada

Resposta modelo (pseudocódigo e análise): 1) Pré-processamento: normalizar caixa, remover pontuação e tokenizar. 2) Para cada documento D: gerar shingles (k-gramas de palavras) com k˜5; S_D = conjunto de shingles. 3) Hash cada shingle para inteiro e armazene S_D como conjunto (ou assinatura MinHash). 4) Comparação: calcular Jaccard(S_A,S_B)=|S_AnS_B|/|S_A?S_B|; se usar MinHash, comparar assinaturas e estimar Jaccard. 5) Limiar: definir t (ex.: 0.3–0.5) conforme sensibilidade desejada. Complexidade: gerar shingles é O(n) por documento (n tokens); calcular Jaccard puro exige interseção/união com custo proporcional aos tamanhos dos conjuntos; MinHash reduz custo de comparação por par a O(m) com m assinaturas. Limitações: paráfrase e reordenação podem reduzir detecção; escolha de k e t afeta falsos positivos/negativos; hashes podem colidir; custo crescente em grande corpus sem técnicas de indexação (LSH) e necessidade de ajustar sensibilidade para contexto escolar.

Explicação

A explicação aborda de forma clara e estruturada o processo de detecção de plágio, detalhando cada etapa do algoritmo, desde o pré-processamento até a comparação de conjuntos de shingles. A análise da complexidade e das limitações oferece uma visão crítica sobre a eficácia do método, considerando variáveis que podem impactar os resultados. Além disso, a escolha do método de comparação e a definição de limiares de similaridade são fundamentais para ajustar a sensibilidade do algoritmo às necessidades específicas de detecção de plágio.

Raio-X da questão

Dificuldade Difícil
Bloom Avaliar
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

detecção de plágio

📌 Objetivo

avaliacao

🧱 Pré-requisitos

algoritmos e pseudocódigo · hashing e shingling

📚 Reveja

Revisar conceitos de shingling, hashing e métodos de comparação.

⚠️ Erro mais comum

O aluno pode confundir os métodos de comparação, escolhendo um que não se aplica ao contexto de detecção de plágio.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cientifico

Questões parecidas com resolução

Todas as questões de Programação - Projetos com programação

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