2020年C语言毕业论文开题报告_第1页
2020年C语言毕业论文开题报告_第2页
2020年C语言毕业论文开题报告_第3页
2020年C语言毕业论文开题报告_第4页
免费预览已结束,剩余12页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、c 语言毕业论文开题报告计算思维的本质是抽象和自动化。对于 C语言程序来说,抽象就是使用程序、函数、函数调用以及数据类型、常量、变量、数组和链表等元素描述现实生活中的系统、 功能、功能调用以及单个特征或特征组合等,自动化则体现为函数内部的语句在 EIP 寄存器加法操作支持下顺序自动地执行以及函数之间的调用在内存堆栈区支持下自动地进行跳转。下面是为大家的 c 语言毕业论文开题报告, 仅供参考,欢迎大家阅读。一、研究背景及研究意义信息技术的快速发展加速了教育信息化的进程,在线教育系统与测试系统的出现为学生提供了一个可以提高和检测综合能力的便捷途径。另一方面, C语言教学在各大高校中都是必修课程之一

2、,且在计算机相关课程教学中, 针对某个理论性的知识点的考察, 一般会以客观题的形式给出。 由于答案具有唯一性, 通过简单得匹配方式便能识别正确与否从而给出相应成绩。 针对这类客观题的自动评分技术已经相当成熟,因此后续在自动评分方向的研究中主要集中于主观题的自动评判。在过去几年的积极探索阶段到现有的实际研究成果来看,有关 C语言知识的检测中对编程题的考察是必不可少的。 虽然检测的形式各不相同(填写空缺代码块完成完整程序, 按题目要求编写整个程序),但终究是为了考察学生掌握编程技巧及编程思想的程度。本课题研究的主要目的是结合编程实现的特征,为一个正在初始运营中的在线测试平台提供一个能查重与自动评分

3、的功能模块。其中最终评分包括两个部分, 一是对每个学生提交的程序代码文件相互之间进行相似度检测, 当相似度超过预定阈值作为抄袭处理, 此为查重检测。二是将学生程序与模板程序匹配检测相似度并由此计算最终得分。程序语言与自然语言在各自适用领域上有较大差异,其语言虽然都有词法、语法规则等, 但编写程序语言时并没有自然语言那么的灵活,不会出现一词多义,一义多词,他只有固定的关键字,标识符编写规则,功能实现结构等, 所以较于自然语言来说识别起来要容易一些。国内外对编程题相似度检测及自动评分都有不少的研究, 现也有一些系统比较成熟。目前,各大高校对 C语言课程考察方式一般还是以传统的纸质化考试为主。这样的

4、考试方法在人工阅卷的过程中存在着些许的不确定因素,随着教育的普及,能力测试之后需要批改的试卷绝不是一个小数目。这单一单调的工作很容易使得批改人员疲惫不堪, 从而阅卷出错率将会被动的提高。 利用计算机完成自动阅卷将杜绝这一问题的出现, 同时,其运行速度快能及时的给学生反馈结果也没有人的感官情绪, 能公平公正的对待每一份试卷。对于主观题的自动评分技术还在不断的完善中,由于在主观题的识别所需的技术:人工智能、自然语言处理、模式识别等还处于起步阶段。所以主观题自动阅卷技术不能一蹴而就, 还需要不断的实验研究。目前,探索开发出合理试用的主观题自动评分系统是一个技术难题,若能将开发的系统投入教学或是别的考

5、察里面,将会大大的节省人力物力。二、国内外研究现状国外对文本相似度检测的研究早国内,在 20 世纪中期,就有学者提出让计算机同人工阅卷一般来对主观题如作文进行评阅。至今,经过数多学者的致力研究, 出现了许多与教育结合的应用系统,并已投入使用。在对自然语言的文本分析处理方法的研究同时,随着计算机教育的普及,程序代码的检测也在逐渐兴起。1966 年, EllisPage 开发了一个模拟人工评分的系统ProjectEssayGrade(PEG),该系统是总结学生提交文本的特征向量,然后将文本的特征进行量化, 最后根据量化的结果对其文本进行判分。1967 年,Halstead 提出了用属性计数法计算程

6、序代码之间的相似度,所谓的属性是指代码的某些度量值, 如:空行的数目,字符量,语句量,控制结构量等,在他的研究基础之上, 1977 年 Otteiistein 设计了检测 FORTRAN编程语言的代码抄袭检测系统, 该系统基于属性技术的相似度检测技术。 基于属性技术求解程序代码之间相似度的系统还有 Faidhi 和 Robinson 的程序抄袭检测系统, 以及 Grier 设计的 Ause 程序抄袭检测系统。单方面只考虑属性计数而忽略程序的结构组成,得出的代码相似度比值准确率较低,在 1996 年, Verco 和 Wise 对 Ause 程序抄袭检测系统进行了一系列可能性的测试, 通过在源程

7、序中加入不影响代码运行的字符串或用其他结构代替原结构等方式。 在对测试结果分析研究之后指出: 只是单纯的增加供于检测的程序属性数量, 在程序相似度检测中并不能得到更加精确的检测结果。G.Whal 首次提出了程序结构方向的研究思路,通过分析程序的内部结构来匹配两源代码之间的相似度。 在此后,学者们朝着这两个方向开始研究,同时也有将二者结合研究的。G.Whal设计的 Plague 系统, MichealWise 设计的 YAP3系统,Sim 系统都是采用的程序结构度量技术进行研究。Donaldson 是结合了属性技术与程序结构度量两种技术完成对程序相似度的检测。还有用 token (标记)序列来表

8、示程序的字符串匹配算法,是根据编译原理技术, 将程序的语句进行分词的操作,然后将得到的单词存入 token 序列。然后使用字符串匹配算法计算相似度。常用的字符串匹配算法有:最长公共子序列(LCS)算法、余弦算法、距离( Levenshtein )算法等。采用这种方法的有 Duploc 、NICAD、Dup、CloneDetective 、CCFinder、CP-Miner 等。现在使用比较广泛是OnlineJudge 系统,简称 OJ,是一个在线的判题系统,系统通过对用户提交的代码进行编译和运行,对于能够运行的程序通过预先设定的测试集来检测代码运行的结果,以及运行时间是否在规定范围之内。该系统

9、最早使用在ACM-ICPC国际大学生程序设计赛和 OI 信息学奥林匹克竞赛中。该系统的返回结果有7 种:WrongAnswer:答案不完全正确; TimeLimitExceeded:运行超出时间限制; MemoryLimitExceeded: 超出内存限制;OutputLimitExceeded:输出超过限制; RuntimeError: 运行时错误;CompileError:编译错误; Aepted: 程序通过。该系统采用的是动态评分方式。三、研究内容本文的主要研究内容以及创新点有:1 )研究文本相似度检测技术,分别比较点阵图法、空间向量的余弦算法、最长公共子序列 LCS算法、最辑距离 Le

10、venshteindistance算法对源程序相似度检测效果。 提出基于 LCS的 C语言程序查重算法。并对源代码进行适用于LCS算法匹配的预处理操作, 改进匹配方式以提高算法匹配效率,提取源代码的特征属性求解阈值。2 )研究程序识别相关技术,以及自动评分的两种常见方法:动态评分;静态评分。本文主要研究静态评分方法,将程序抽象提取为SDG的表现形式,分析结构语义对源代码进行预处理,并提出基于控制流程匹配度的C 语言自动评分算法。3 )分析 C语言程序的结构,分析抽象语法树的表现形式,将程序划分为多个不同粒度的子程序, 并转换为结构树。 运用编译原理技术分析数据依赖、 控制依赖完成树的构建。 因

11、此提出基于最小子程序匹配的 C语言自动评分算法。四、提纲摘要ABSTRACT第1章绪论1.1研究背景及研究意义1.2国内外研究现状国外研究现状国内研究现状1.3本论文的主要研究内容1.4论文组织安排第 2 章相关理论及技术介绍2.1正则表达式正则表达式的符号元正则表达式的使用的规则字符串匹配2.2编译原理技术词法分析语法分析语义分析2.3系统依赖图结构化程序设计程序流程图程序依赖图系统依赖图2.4C语言语言程序设计语言结构特点2.4.3C语言基础概述2.4.4C语言代码多样性分析2.5本章小结第 3 章基于 LCS的 C语言程序查重算法3.1代码抄袭概述3.2抄袭常用方法3.3源代码查重预处理

12、3.4程序代码查重算法3.4.1文本相似度算法3.4.2LCS 最长公共子序列3.4.3阈值分析3.4.4检测代码重复率3.4.5算法分析3.5实验结果及分析3.6本章小结第 4 章基于流程控制匹配的自动评分算法4.1流程控制结构图4.1.1流程控制结构划分4.1.2流程控制结构划分细节说明4.1.3结构依赖关系划分4.1.4结构依赖关系划分说明4.2程序流程控制结构图4.2.1代码预处理4.2.2自定义函数分析4.2.3生成流程控制结构图算法4.3程序流程控制结构图匹配算法4.3.1匹配单位元素定义4.3.2程序代码自动评分算法4.3.3算法分析4.4实验结果及分析4.5本章小结第 5 章基

13、于最小子程序匹配的自动评分算法5.1子程序的概述5.1.1子程序的定义5.1.2定义基本语句单元5.2基于结构树的程序中间表示5.2.1代码预处理5.2.2结构树定义5.2.3生成树状图算法5.3最小子程序匹配评分算法5.3.1划分最小粒度子程序5.3.2子程序匹配描述5.3.3子程序匹配的自动评分算法5.3.4算法分析5.4实验结果及分析5.5本章小结第 6 章总结与展望6.1结论6.2展望参考文献致谢五、组织安排整个论文包含个章节,整体组织结构如下所示:第一章绪论,根据研读的国内外文献简要描叙一下本文所研究主题的背景、意义,然后介绍国内外相关研究方法及成果,以及自己研究的内容简介。第二章介

14、绍了完成本文实验的相关理论知识:正则表达式的应用、编译原理技术、程序与图的关系、C语言编码特性、多样性等。第三章介绍程序查重算法动态求解最长公共子序列。第四章介绍了基于流程控制匹配的自动评分算法第五章介绍了基于最小子程序匹配的自动评分算法。第六章总结了整个算法实现过程中主要工作,分析优缺点,并对后续的工作进行展望。六、进度安排20XX年 11 月 01 日-11 月 07 日论文选题、20XX年 11 月 08 日-11 月 20 日初步收集毕业论文相关材料, 填写任务书20XX年 11 月 26 日-11 月 30 日进一步熟悉毕业论文资料, 撰写开题报告20XX年 12 月 10 日-12

15、 月 19 日确定并上交开题报告20XX年 01 月 04 日-02 月 15 日完成毕业论文初稿, 上交指导老师20XX 年 02 月 16 日-02 月 20 日完成论文修改工作 20XX 年 02 月 21 日-03 月 20 日定稿、打印、装订 20XX 年 03 月 21 日-04 月 10 日论文答辩七、参考文献1 王甜甜。结构语义相似的程序识别方法研究 D. 哈尔滨工业大学, xx.2GuptaS,DubeySK.AutomaticAssessmentofProgrammingassignmentJ.ComputerScience&Engineering,xx,2(1)。

16、3 刘月霞,牛志尧,吴宁。面向大规模在线开放课程的编程题多特征综合自动评分方法 J. 西安交通大学学报, xx,50(10):64-70.4JacobiRP,AyalarincónM,CarvalhoLG,etal.Reconfigurablesystemsforsequencealignmentandforgeneraldynamicprogramming.J.Geics&MolecularResearchGmr,xx,4 (3): 543.5GuoP,DengYW,ZhangHY.ACAPTCHAImageRecognitionAlgorithmBas edonEditD

17、istanceJ.KeyEngineeringMaterials,xx,474-476:2203 -2207.6Al-AnziFS,AbuzeinaD.TowardanenhancedArabictextclassifica tionusingcosinesimilarityandLatentSemanticIndexingJ.Journ alofKingSaudUniversity-ComputerandInformationSciences,xx.7DucasseS,phane,RiegerM,etal.Alanguageindependentapproach fordetectingdu

18、plicatedcode.In:ICSMJ.2000:109-118.8RoyCK,CordyJR.NICAD:AurateDetectionofNear-MissIntentiona lClonesUsingFlexiblePretty-PrintingandCodeNormalizationC/ /The,IEEEInternationalConferenceonProgramComprehension.IEEE ComputerSociety,xx:172-181.9BakerBS.Onfindingduplicationandnear-duplicationinlargeso ftwaresystemsC/ReverseEngineering,1995.Proceedingsof,Wor kingConferenceon.IEEE,1995:86-95.10BakerBS.Par

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论