首页 > 其他分享 >第一次个人项目

第一次个人项目

时间:2024-09-12 20:25:19浏览次数:1  
标签:文件 论文 个人 项目 30 第一次 60 90 文本

这个项目属于哪个课程 https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/
作业要求 论文查重
github https://github.com/zhong3120004997/zhong3120004997/blob/main/3120004997

一、PSP表格。

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 60 80
Estimate · 估计这个任务需要多少时间 60 90
Development 开发 200 300
· Analysis · 需求分析 (包括学习新技术) 120 150
· Design Spec · 生成设计文档 30 60
· Design Review · 设计复审 30 30
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 60 60
· Design · 具体设计 60 90
· Coding · 具体编码 90 120
· Code Review · 代码复审 30 30
· Test · 测试(自我测试,修改代码,提交修改) 60 60
Reporting 报告 60 60
· Test Repor · 测试报告 60 60
· Size Measurement · 计算工作量 60 60
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 90 90
· 合计 1070 1340

二、需求
题目:论文查重
描述如下:
设计一个论文查重算法,给出一个原文文件和一个在这份原文上经过了增删改的抄袭版论文的文件,在答案文件中输出其重复率。
原文示例:今天是星期天,天气晴,今天晚上我要去看电影。
抄袭版示例:今天是周天,天气晴朗,我晚上要去看电影。
要求输入输出采用文件输入输出,规范如下:
从命令行参数给出:论文原文的文件的绝对路径。
从命令行参数给出:抄袭版论文的文件的绝对路径。
从命令行参数给出:输出的答案文件的绝对路径。
我们提供一份样例,课堂上下发,上传到班级群,使用方法是:orig.txt是原文,其他orig_add.txt等均为抄袭版论文。
注意:答案文件中输出的答案为浮点型,精确到小数点后两位

三、设计思路;
从命令行中输入需要比较的文本的地址,使用动态规划来比较两个文本的相似度,首先将原始文本和剽窃文本转换为字符串。然后创建一个二维数组dp,用来保存原始文本和剽窃文本的匹配长度。接着使用两层循环遍历原始文本和剽窃文本的每个字符,并根据字符是否相同来更新dp数组的值。最后通过计算匹配长度和原始文本长度的比值来得出剽窃率。

四、性能分析。

消耗最大的函数方法为文本比对

五、程序部分。

主要有两个方法,一是从文本地址取出文本内容的方法getTextFromFile(String filePath),二是两个文本内容进行对比比较的获取重复率的方法compareText(String originalFilePath,String copiedFilePath );
命令窗口执行结果如下(与idea内运行结果有出入,不知是何原因待改进):

程序中主要出现IO输入异常以及文本获取异常,比如输入的参数有误或者不符合要求,或者在程序运行中找不到文件所在地址等,这时我们尽量输入的是文件的绝对路径来防止出现异常。

标签:文件,论文,个人,项目,30,第一次,60,90,文本
From: https://www.cnblogs.com/yuecan/p/18401235

相关文章

  • [基于 Vue CLI 5 + Vue 3 + Ant Design Vue 4 搭建项目] 05 创建一个 web 项目
    1.通过vuecreate项目名命令创建项目这里创建一个项目名叫做web的项目vuecreateweb选择Manuallyselectfeatures然后摁回车选择了Router和Vuex然后摁回车选择3.x然后摁回车是否使用历史模式,这里y然后摁回车历史模式和非历史模式(Hash模式)主要......
  • [基于 Vue CLI 5 + Vue 3 + Ant Design Vue 4 搭建项目] 03 使用 npm 安装依赖出现 ce
    文章目录问题描述解决问题1.修改镜像源2.清理缓存3.临时禁用SSL证书验证4.再次安装依赖问题描述在使用npminstall进行按安装依赖的时候出现了下面错误npmerrorcodeCERT_HAS_EXPIREDnpmerrorerrnoCERT_HAS_EXPIREDnpmerrorrequesttohttps://registr......
  • 2025计算机毕设最全个人站点!(选题、开发、部署、讲解 一条龙)
    目录前言我的优势我的个人网站与我合作前言❤️博主简介:全网累计客户1000+,培训机构讲师、全栈开发工程师、知乎/小红书优秀作者、腾讯云/阿里云VIP客户、专注Java、小程序、安卓领域和毕业项目开发❤️服务:本毕设工作室提供无偿选题服务!包括Java、Python、微信小程序......
  • 第一次模拟赛反思
    昨天打了第一次模拟赛,由于种种原因,导致本来可以拿到更高分数,但是最终成绩却不甚理想。虽说不能让一次比赛的结果影响到后面的心态,但是好好总结一下这次比赛中犯的错误还是很有必要的。整体情况来看,这场比赛的策略出现了严重的问题。T1没什么好说的,主要是T2,我看完题目后觉得很可......
  • 7 个适合中级开发人员的酷炫 Python 项目创意
    大多数人都熟悉编程世界中的Python语言,学习Python并构建项目对于开发人员来说始终是一种奇妙的体验。这种语言在当今时代确实值得大肆宣传,如果它能解决很多现实世界的问题,那么为什么不选择它呢。每个程序员的旅程都是从学习任何编程语言的基础知识开始,一旦继续前进,就会意......
  • [项目实战]EOS多节点部署
    文章总览:YuanDaiMa2048博客文章总览EOS多节点部署(一)环境设计(二)节点配置(三)区块信息同步(四)启动节点并验证同步EOS单节点的环境如何配置(一)环境设计在搭建EOS区块链网络时,设置了包括一个主节点(eosiomain)和三个生产节点(producer1、producer2、producer3)。主节点的IP地址......
  • 基于Java的共享经济背景下校园闲置物品交易平台(2024最新,原创项目)
    文章目录1.前言2.系统演示录像3.论文参考4.代码运行展示图5.技术框架5.1SpringBoot技术介绍5.2Vue技术介绍6.可行性分析7.系统测试7.1系统测试的目的7.2系统功能测试8.数据库表设计9.代码参考10.数据库脚本11.找我做程序,有什么保障?12.联系我们1.前......
  • 计算机专业毕设推荐-基于Java的个人健康运动饮食记录小程序
    精彩专栏推荐订阅:在下方专栏......
  • 对ACM训练建议的一点感悟以及个人对竞赛末段学期的展望
    上水课的时候见识到了一篇CF红名写的ACM建议文章,想结合自身对下半年ICPC的要求对文章汲取一下关键点。1.个人实力综合提升:遮住标签,划分数区间进行板刷。暑假刚组队的时候队友让我刷1700到1900的题,这个区间我沿用至今,胡萝卜插件反映自己Rated场次的评估分平均在1800左右,所以这个......
  • GIS开发从0到1|MapboxGL可视化项目实战教程(含步骤说明和代码展示)1
    通用可视化聚类代码展示<!DOCTYPEhtml><htmlxmlns="http://www.w3.org/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>聚类显示</title>&l......