c语言毕业论文开题报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

c语言毕业论文开题报告

c语言毕业论文开题报告本文关键词:开题,毕业论文,语言,报告

c语言毕业论文开题报告本文简介:计算思维的本质是抽象和自动化。对于C 语言程序来说,抽象就是使用程序、函数、函数调用以及数据类型、常量、变量、数组和链表等元素描述现实生活中的系统、功能、功能调用以及单个特征或特征组合等,自动化则体现为函数内部的语句在EIP寄存器加法操作支持下顺序自动地执行以及函数之间的调用在内存堆栈区支持下自动地进

c语言毕业论文开题报告本文内容:

计算思维的本质是抽象和自动化。对于C语言程序来说,抽象就是使用程序、函数、函数调用以及数据类型、常量、变量、数组和链表等元素描述现实生活中的系统、功能、功能调用以及单个特征或特征组合等,自动化则体现为函数内部的语句在EIP寄存器加法操作支持下顺序自动地执行以及函数之间的调用在内存堆栈区支持下自动地进行跳转。以下是我们分享的c语言毕业论文开题报告,供你参考借鉴。

一、研究背景及研究意义

信息技术的快速发展加速了教育信息化的进程,在线教育系统与测试系统的出现为学生提供了一个可以提高和检测综合能力的便捷途径。另一方面,C语言教学在各大高校中都是必修课程之一,且在计算机相关课程教学中,针对某个理论性的知识点的考察,一般会以客观题的形式给出。由于答案具有唯一性,通过简单得匹配方式便能识别正确与否从而给出相应成绩。针对这类客观题的自动评分技术已经相当成熟,因此后续在自动评分方向的研究中主要集中于主观题的自动评判。在过去几年的积极探索阶段到现有的实际研究成果来看,有关C语言知识的检测中对编程题的考察是必不可少的。虽然检测的形式各不相同(填写空缺代码块完成完整程序,按题目要求编写整个程序),但终究是为了考察学生掌握编程技巧及编程思想的程度。

本课题研究的主要目的是结合编程实现的特征,为一个正在初始运营中的在线测试平台提供一个能查重与自动评分的功能模块。其中最终评分包括两个部分,一是对每个学生提交的程序代码文件相互之间进行相似度检测,当相似度超过预定阈值作为抄袭处理,此为查重检测。二是将学生程序与模板程序匹配检测相似度并由此计算最终得分。

程序语言与自然语言在各自适用领域上有较大差异,其语言虽然都有词法、语法规则等,但编写程序语言时并没有自然语言那么的灵活,不会出现一词多义,一义多词,他只有固定的关键字,标识符编写规则,功能实现结构等,所以较于自然语言来说识别起来要容易一些。国内外对编程题相似度检测及自动评分都有不少的研究,现也有一些系统比较成熟。

目前,各大高校对C语言课程考察方式一般还是以传统的纸质化为主。

这样的考试方法在人工阅卷的过程中存在着些许的不确定因素,随着教育的普及,能力测试之后需要批改的试卷绝不是一个小数目。这单一单调的工作很容易使得批改人员疲惫不堪,从而阅卷出错率将会被动的提高。利用计算机完成自动阅卷将杜绝这一问题的出现,同时,其运行速度快能及时的给学生反馈结果也没有人的感官情绪,能公平公正的对待每一份试卷。

对于主观题的自动评分技术还在不断的完善中,由于在主观题的识别所需的技术:人工智能、自然语言处理、模式识别等还处于起步阶段。所以主观题自动阅卷技术不能一蹴而就,还需要不断的实验研究。目前,探索开发出合理试用的主观题自动评分系统是一个技术难题,若能将开发的系统投入教学或是别的考察里面,将会大大的节省人力物力。

二、国内外研究现状

国外对文本相似度检测的研究早国内,在20世纪中期,就有学者提出让计算机同人工阅卷一般来对主观题如作文进行评阅。至今,经过数多学者的致力研究,出现了许多与教育结合的应用系统,并已投入使用。在对自然语言的文本分析处理方法的研究同时,随着计算机教育的普及,程序代码的检测也在逐渐兴起。

1966年,Ellis Page开发了一个模拟人工评分的系统Project EssayGrade(PEG),该系统是总结学生提交文本的特征向量,然后将文本的特征进行量化,最后根据量化的结果对其文本进行判分。

1967年,Halstead提出了用属性计数法计算程序代码之间的相似度,所谓的属性是指代码的某些度量值,如:空行的数目,字符量,语句量,控制结构量等,在他的研究基础之上,1977年Otteiistein了检测FORTRAN编程语言的代码抄袭检测系统,该系统基于属性技术的相似度检测技术。基于属性技术求解程序代码之间相似度的系统还有Faidhi和Robinson的程序抄袭检测系统,以及Grier 设计的Accuse程序抄袭检测系统。

单方面只考虑属性计数而忽略程序的结构组成,得出的代码相似度比值准确率较低,在1996年,Verco和Wise对Accuse程序抄袭检测系统进行了一系列可能性的测试,通过在源程序中加入不影响代码运行的字符串或用其他结构代替原结构等方式。在对测试结果分析研究之后指出:只是单纯的增加供于检测的程序属性数量,在程序相似度检测中并不能得到更加精确的检测结果。

G.Whal首次提出了程序结构方向的研究思路,通过分析程序的内部结构来匹配两源代码之间的相似度。在此后,学者们朝着这两个方向开始研究,同时也有将二者结合研究的。

G.Whal设计的Plague系统,Micheal Wise设计的YAP3系统,Sim系统都是采用的程序结构度量技术进行研究。Donaldson是结合了属性技术与程序结构度量两种技术完成对程序相似度的检测。

还有用token(标记)序列来表示程序的字符串匹配算法,是根据编译原理技术,将程序的语句进行分词的操作,然后将得到的单词存入token序列。然后使用字符串匹配算法计算相似度。常用的字符串匹配算法有:最长公共子序列(LCS)算法、余弦算法、编辑距离(Levenshtein)算法等。采用这种方法的有Duploc、NICAD、Dup、Clone Detective、CCFinder、CP-Miner等。

现在使用比较广泛是 Online Judge 系统,简称 OJ,是一个在线的判题系统,系统通过对用户提交的代码进行编译和运行,对于能够运行的程序通过预先设定的测试集来检测代码运行的结果,以及运行时间是否在规定范围之内。该系统最早使用在 ACM-ICPC 国际大学生程序设计赛和 OI 信息学奥林匹克竞赛中。该系统的返回结果有 7 种:Wrong Answer : 不完全正确;Time Limit Exceeded :

运行超出时间限制;Memory Limit Exceeded : 超出内存限制;Output LimitExceeded: 输出超过限制;Runtime Error : 运行时错误;Compile Error : 编译错误;Accepted : 程序通过。该系统采用的是动态评分方式。

三、研究内容

本文的主要研究内容以及创新点有:

1)研究文本相似度检测技术,分别比较点阵图法、空间向量的余弦算法、最长公共子序列LCS算法、最小编辑距离Levenshtein distance算法对源程序相似度检测效果。提出基于LCS的C语言程序查重算法。并对源代码进行适用于LCS 算法匹配的预处理操作,改进匹配方式以提高算法匹配效率,提取源代码的特征属性求解阈值。

相关文档
最新文档