c语言毕业论文开题报告

上传人:我**** 文档编号:139986913 上传时间:2020-07-25 格式:DOC 页数:10 大小:43.50KB
返回 下载 相关 举报
c语言毕业论文开题报告_第1页
第1页 / 共10页
c语言毕业论文开题报告_第2页
第2页 / 共10页
c语言毕业论文开题报告_第3页
第3页 / 共10页
c语言毕业论文开题报告_第4页
第4页 / 共10页
c语言毕业论文开题报告_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《c语言毕业论文开题报告》由会员分享,可在线阅读,更多相关《c语言毕业论文开题报告(10页珍藏版)》请在金锄头文库上搜索。

1、此资料由网络收集而来,如有侵权请告知上传者立即删除。资料共分享,我们负责传递知识。c语言毕业论文开题报告c语言毕业论文开题报告 本文关键词:开题,毕业论文,语言,报告c语言毕业论文开题报告 本文简介:计算思维的本质是抽象和自动化。对于C语言程序来说,抽象就是使用程序、函数、函数调用以及数据类型、常量、变量、数组和链表等元素描述现实生活中的系统、功能、功能调用以及单个特征或特征组合等,自动化则体现为函数内部的语句在EIP寄存器加法操作支持下顺序自动地执行以及函数之间的调用在内存堆栈区支持下自动地进c语言毕业论文开题报告 本文内容:计算思维的本质是抽象和自动化。对于C语言程序来说,抽象就是使用程序

2、、函数、函数调用以及数据类型、常量、变量、数组和链表等元素描述现实生活中的系统、功能、功能调用以及单个特征或特征组合等,自动化则体现为函数内部的语句在EIP寄存器加法操作支持下顺序自动地执行以及函数之间的调用在内存堆栈区支持下自动地进行跳转。以下是我们分享的c语言毕业论文开题报告,供你参考借鉴。一、研究背景及研究意义信息技术的快速发展加速了教育信息化的进程,在线教育系统与测试系统的出现为学生提供了一个可以提高和检测综合能力的便捷途径。另一方面,C语言教学在各大高校中都是必修课程之一,且在计算机相关课程教学中,针对某个理论性的知识点的考察,一般会以客观题的形式给出。由于答案具有唯一性,通过简单得

3、匹配方式便能识别正确与否从而给出相应成绩。针对这类客观题的自动评分技术已经相当成熟,因此后续在自动评分方向的研究中主要集中于主观题的自动评判。在过去几年的积极探索阶段到现有的实际研究成果来看,有关C语言知识的检测中对编程题的考察是必不可少的。虽然检测的形式各不相同(填写空缺代码块完成完整程序,按题目要求编写整个程序),但终究是为了考察学生掌握编程技巧及编程思想的程度。本课题研究的主要目的是结合编程实现的特征,为一个正在初始运营中的在线测试平台提供一个能查重与自动评分的功能模块。其中最终评分包括两个部分,一是对每个学生提交的程序代码文件相互之间进行相似度检测,当相似度超过预定阈值作为抄袭处理,此

4、为查重检测。二是将学生程序与模板程序匹配检测相似度并由此计算最终得分。程序语言与自然语言在各自适用领域上有较大差异,其语言虽然都有词法、语法规则等,但编写程序语言时并没有自然语言那么的灵活,不会出现一词多义,一义多词,他只有固定的关键字,标识符编写规则,功能实现结构等,所以较于自然语言来说识别起来要容易一些。国内外对编程题相似度检测及自动评分都有不少的研究,现也有一些系统比较成熟。目前,各大高校对C语言课程考察方式一般还是以传统的纸质化为主。这样的考试方法在人工阅卷的过程中存在着些许的不确定因素,随着教育的普及,能力测试之后需要批改的试卷绝不是一个小数目。这单一单调的工作很容易使得批改人员疲惫

5、不堪,从而阅卷出错率将会被动的提高。利用计算机完成自动阅卷将杜绝这一问题的出现,同时,其运行速度快能及时的给学生反馈结果也没有人的感官情绪,能公平公正的对待每一份试卷。对于主观题的自动评分技术还在不断的完善中,由于在主观题的识别所需的技术:人工智能、自然语言处理、模式识别等还处于起步阶段。所以主观题自动阅卷技术不能一蹴而就,还需要不断的实验研究。目前,探索开发出合理试用的主观题自动评分系统是一个技术难题,若能将开发的系统投入教学或是别的考察里面,将会大大的节省人力物力。二、国内外研究现状国外对文本相似度检测的研究早国内,在20世纪中期,就有学者提出让计算机同人工阅卷一般来对主观题如作文进行评阅

6、。至今,经过数多学者的致力研究,出现了许多与教育结合的应用系统,并已投入使用。在对自然语言的文本分析处理方法的研究同时,随着计算机教育的普及,程序代码的检测也在逐渐兴起。1966年,Ellis Page开 发 了 一 个 模 拟 人 工 评 分 的 系 统Project EssayGrade(PEG),该系统是总结学生提交文本的特征向量,然后将文本的特征进行量化,最后根据量化的结果对其文本进行判分。1967年,Halstead提出了用属性计数法计算程序代码之间的相似度,所谓的属性是指代码的某些度量值,如:空行的数目,字符量,语句量,控制结构量等,在他的研究基础之上,1977年Otteiiste

7、in了检测FORTRAN编程语言的代码抄袭检测系统,该系统基于属性技术的相似度检测技术。基于属性技术求解程序代码之间相似度的系统还有Faidhi和Robinson的程序抄袭检测系统,以及Grier设计的Accuse程序抄袭检测系统。单方面只考虑属性计数而忽略程序的结构组成,得出的代码相似度比值准确率较低,在1996年,Verco和Wise对Accuse程序抄袭检测系统进行了一系列可能性的测试,通过在源程序中加入不影响代码运行的字符串或用其他结构代替原结构等方式。在对测试结果分析研究之后指出:只是单纯的增加供于检测的程序属性数量,在程序相似度检测中并不能得到更加精确的检测结果。G.Whal首次提

8、出了程序结构方向的研究思路,通过分析程序的内部结构来匹配两源代码之间的相似度。在此后,学者们朝着这两个方向开始研究,同时也有将二者结合研究的。G.Whal设计的Plague系统,Micheal Wise设计的YAP3系统,Sim系统都是采用的程序结构度量技术进行研究。Donaldson是结合了属性技术与程序结构度量两种技术完成对程序相似度的检测。还有用token(标记)序列来表示程序的字符串匹配算法,是根据编译原理技术,将程序的语句进行分词的操作,然后将得到的单词存入token序列。然后使用字符串匹配算法计算相似度。常用的字符串匹配算法有:最长公共子序列(LCS)算法、余弦算法、编辑距离(Le

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

10、imit Exceeded : 超出内存限制;Output LimitExceeded: 输出超过限制;Runtime Error : 运行时错误;Compile Error : 编译错误;Accepted : 程序通过。该系统采用的是动态评分方式。三、研究内容本文的主要研究内容以及创新点有:1)研究文本相似度检测技术,分别比较点阵图法、空间向量的余弦算法、最长公共子序列LCS算法、最小编辑距离Levenshtein distance算法对源程序相似度检测效果。提出基于LCS的C语言程序查重算法。并对源代码进行适用于LCS算法匹配的预处理操作,改进匹配方式以提高算法匹配效率,提取源代码的特征属

11、性求解阈值。2)研究程序识别相关技术,以及自动评分的两种常见方法:动态评分;静态评分。本文主要研究静态评分方法,将程序抽象提取为SDG的表现形式,分析结构语义对源代码进行预处理,并提出基于控制流程匹配度的C语言自动评分算法。3)分析 C语言程序的结构,分析抽象语法树的表现形式,将程序划分为多个不同粒度的子程序,并转换为结构树。运用编译原理技术分析数据依赖、控制依赖完成树的构建。因此提出基于最小子程序匹配的C语言自动评分算法。四、提纲摘要ABSTRACT第 1 章 绪论1.1 研究背景及研究意义1.2 国内外研究现状1.2.1 国外研究现状1.2.2 国内研究现状1.3 本的主要研究内容1.4

12、论文组织安排第 2 章 相关理论及技术介绍2.1 正则表达式2.1.1 正则表达式的符号元2.1.2 正则表达式的使用的规则2.1.3Java字符串匹配2.2 编译原理技术2.2.1 词法分析2.2.2 语法分析2.2.3 语义分析2.3 系统依赖图2.3.1 结构化程序设计2.3.2 程序流程图2.3.3 程序依赖图2.3.4 系统依赖图2.4C语言2.4.1C语言程序设计2.4.2C语言结构特点2.4.3C语言基础概述2.4.4C语言代码多样性分析2.5 本章小结第 3 章 基于LCS的C语言程序查重算法3.1 代码抄袭概述3.2 抄袭常用方法3.3 源代码查重预处理3.4 程序代码查重算

13、法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

14、 本章小结第 5 章 基于最小子程序匹配的自动评分算法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 展望参考文献致谢五、组织安排整个论文包含个章节,整体组织结构如下所示:第一章绪论,根据研读的国内外文献简要描叙一下本文所研究主题的背景、意义,然后介绍国内

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

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 总结/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号