第一次个人编程作业

第一次个人编程作业

github地址

这个作业属于哪个课程 工程概论
作业要求 作业的要求链接
作业的目标 对github进一步使用,学习查重代码

需求

题目:论文查重

描述如下:

设计一个论文查重算法,给出一个原文文件和一个在这份原文上经过了增删改的抄袭版论文的文件,在答案文件中输出其重复率。

  • 原文示例:今天是星期天,天气晴,今天晚上我要去看电影。
  • 抄袭版示例:今天是周天,天气晴朗,我晚上要去看电影。

要求输入输出采用文件输入输出,规范如下:

  • 命令行参数给出:论文原文的文件的绝对路径
  • 命令行参数给出:抄袭版论文的文件的绝对路径
  • 命令行参数给出:输出的答案文件的绝对路径

我们提供一份样例,课堂上下发,上传到班级群,使用方法是:orig.txt是原文,其他orig_add.txt等均为抄袭版论文。

注意:答案文件中输出的答案为浮点型,精确到小数点后两位

psp表格

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 40
Estimate 估计这个任务需要多少时间 600
Development 开发 200
Analyse 需求分析 20
Design Spec 生成设计文档 20
Design Review 设计复审 10
Coding Standard 代码规范 10
Design 具体设计 30
Coding 具体编码 20
Coding Review 代码复审 30
Test 测试 60
Reporting 报告 30
Test Report 测试报告 20
Size Measurement 计算工作量 20
Postmortem & Process Improvement Plan 事后总结 10
合计 1090

计算模块接口的设计与实现过程

1.算法思路

先将两篇文章读入后转为单词数组

遍历单词数组,统计每个单词在文章中出现的次数

通过比较两篇文章中相同的单词数量,累加后除以两篇论文总单词书,得到相似度

再将相似度写入答案文件

计算模块接口部分的性能改进

计算模块部分单元测试展示

计算模块部分异常处理说明

posted @ 2023-09-20 20:37  Wenham  阅读(22)  评论(0)    收藏  举报