作业二:个人项目

news/2024/12/27 14:57:41/文章来源:https://www.cnblogs.com/yangzhixiong/p/18399013
PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 10
Estimate 估计这个任务需要多少时间 300
Development 开发 150
Analysis 需求分析 (包括学习新技术) 50
Design Spec 生成设计文档 10
Design Review 设计复审 20
Coding Standard 代码规范 (为目前的开发制定合适的规范) 10
Design 具体设计 20
Coding 具体编码 100
Code Review 代码复审 50
Test 测试(自我测试,修改代码,提交修改) 30
Reporting 报告 20
Test Report 测试报告 10
Size Measurement 计算工作量 5
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 5
总计 600

设计思路

使用python语言对orig.txt文件和orig_add.txt文件进行论文查重,对待相同的字符串进行记录,按照orig_add.txt对orig.txt的盗用率为重复率即公式:
重复率=(orig.txt和orig_add.txt的相同字符个数)/(orig_add.txt中的字符总个数)

设计环境

win11 python3.7.0

设计需求分析

  1. 设计一个论文查重算法,给出一个原文文件和一个在这份原文上经过了增删改的抄袭版论文的文件,在答案文件中输出其重复率
  2. 要求输入输出采用文件输入输出,规范如下:
    从命令行参数给出:论文原文的文件的绝对路径。
    从命令行参数给出:抄袭版论文的文件的绝对路径。
    从命令行参数给出:输出的答案文件的绝对路径。

设计算法

向量空间模型
相似性度量

实现与测试

在命令行用python指令运行

orig.txt

orig_add.txt

answer.txt

性能分析

  • 代码:
import cProfile
import re
cProfile.run('re.compile("foo|bar")')


代码思想

  1. 用python定义三个函数
  • load(file_path):用来读取文件

  • calculate_similarity(orig_text,orig_add_text):用来计算覆盖率

  • main():主函数

  1. 在主函数里面先调用load函数,来分别读取三个文件

  2. 之后将源文件和抄袭文件进行查重计算

  3. 最后将计算结果存放到ans.txt文件中

  4. 计算模块接口部分的性能改进:使用更高效的算法或数据结构、减少不必要的内存分配或回收、优化循环或条件判断等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/793197.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

冯.诺依曼 体系结构

冯.诺依曼 体系结构 alloverzyt 转载自:https://www.cnblogs.com/quan0311/p/15025116.html 1964年,第一台计算机ENIAC诞生,人类进入计算机时代,后来,美籍匈牙利数学家:冯.诺依曼提出了计算机“存储程序”的计算机设计理念,即将计算机指令进行编码后存储在计算机的存储器…

剑网 3 单机版安装教程 + 虚拟机一键端

今天给大家带来一款单机游戏的架设:剑网 3。本人为了学习和研究软件内含的设计思想和原理,带了单机架设教程,不适用于联网,仅供娱乐。 教程是本人亲自搭建成功的,绝对是完整可运行的,踩过的坑都给你们填上了。 如果你是小白也没问题,跟着教程走也是可以搭建成功的,但是…

Redis使用场景

Redis使用场景 目录缓存缓存穿透 缓存击穿 缓存雪崩 双写一致性 持久化 数据过期策略 数据淘汰策略分布式锁实现原理(setnx、redission)其他哨兵模式、集群脑裂 分片集群、数据读取规则 redis是单线程的却很快缓存 一、缓存穿透 定义:查询一个不存在的数据,Mysql查询不到数…

flutter 的一些概念三

介绍一些Fluter面试中可能会遇到的一些非项目相关的概率名词,像stream与future的关系,platformView是什么本文同步发布于公众号:stringwu的互联网杂谈:flutter 的一些概念三 1 Stream 与 Future的关系 Stream 和 Future 都是 Flutter 中常用的异步编程模型,Future 适用于一次…

使用css和html初步搭建页面

由于很多html标签在博客中会生效,所以我有时候会简写 1.html分为头部head和body.头部中定义标题title2.设置标题使用h1,共有六级为h1~h6.想要设置标题具体颜色要使用css,的style,有三种方式 (1)h1 color:(2)写一个外部css文件(3)使用设置.同时使用元素选择,ID选择,类选择可以单…

通义灵码助力高校开学第一课,“包”你满意,新学期加油!

通义灵码作为国内领先的 AI 编码工具,近年来在高校中得到了广泛应用和推广。它不仅帮助大学生更高效地学习编程、提高代码质量,还激发了他们的创新思维,并为未来的职业生涯做好了准备。通义灵码作为国内领先的 AI 编码工具,近年来在高校中得到了广泛应用和推广。它不仅帮助…

第十三讲:count()这么慢,我该怎么办?

第十三讲:count(*)这么慢,我该怎么办? 简概:count(*) 的实现方式 ​ 你首先要明确的是,在不同的 MySQL 引擎中,count() 有不同的实现方式。MyISAM 引擎把一个表的总行数存在了磁盘上,因此执行 count() 的时候会直接返回这个数,效率很高; 而 InnoDB 引擎就麻烦了,它执…

C# Winform 打安装包

开发好一款Winform程序,往往都是直接拉Debug文件里的内容,直接运行。这样直接给客户,或者打个简易的压缩包。视觉上觉得很low,客户也觉得价不配位。因此这个5毛钱的特效还是要加上,毕竟几十万的项目款都付了。提升一下软件的B格,让客户觉得物有所值。 一、下载安装扩展程…

解压zip文件或者安装软件出现 无法成功完成操作 解决方案

近期, 有一些朋友反馈在解压zip压缩包, 或者在安装软件的过程中出现了下面的错误提示: "无法成功完成操作, 因为文件包含病毒或者潜在垃圾文件" "Operation did not complete successfully because the file contains a virus or potentially unwanted software…

Windows10添加鼠标右键打开

1打开注册表2.进入目录计算机\HKEY_CLASSES_ROOT\Directory\Background\shell\,新建项,2.1继续新建子项,重命名为command2.2修改子项中的默认,添加路径结果:ps: 可以重命名。在第一个新建项中新建“字符串值”,重命名为“ICON”可以设置图标。效果图:

2024 天池云原生编程挑战赛决赛名单公布,9 月 20 日开启终极答辩

2024 天池云原生编程挑战赛决赛名单公布,9 月 20 日开启终极答辩历时 4 个月,2024 天池云原生编程挑战赛决赛名单公布! 本届大赛规模创新高,参赛战队达 20000+ 支, 广覆盖国内外优秀高校和杰出企业!吸引了来自北京大学、清华大学等 176 所国内外优秀高校,以及美团、米哈…