网站位置: /论文/本科论文/写作范文资料阅读

自动化相关大学毕业论文,与基于VBA的题库查重算法相关论文提纲

这是一篇自动化相关学士学位论文范文,与基于VBA的题库查重算法相关大学毕业论文。是本科论文专业与自动化及题库及对象方面相关的免费优秀学术论文范文资料,可作为自动化方面的大学硕士与本科毕业论文开题报告范文和职称论文论文写作参考文献下载。

摘 要:在题库建设中,人工进行题目查重耗时,费力且错误率高.分析了题目查重的关键要素并使用Excel中的VBA编程功能和Excel对象模型实现了对题库的自动查重,对查重的关键算法和主要程序作了详细介绍.

关 键 词:Excel;VBA编程;题库;查重

中图分类号:TP317文献标识码:A文章编号:1009-3044(2012)28-6761-03

1概述

在高校题库建设工作中,由于题库题目数量巨大,出题人在题库建设中要进行大量的添加、删除和编辑等操作,重复使用相同的题目时有发生.另外有些题库需要课程组教师联合出题,也会造成很多重复题目出现.传统解决办法是人工逐题排查,工作强度非常大.因此需要一种自动查重功能的软件,使教师或管理人员在审查时能快速准确的定位重复题目.本文介绍如何利用Excel中的VBA编程技术,实现对题库中的题目自动查重.

2ExcelVBA及Excel对象模型

VBA(VisualBasicforApplication)是开发Excel应用程序的编程语言,也是内嵌于其他Office套件的应用程序开发语言].VBA的主要任务是组织或集合Office程序的功能,虽然它无法脱离Office环境独立运行,但却在自动化工作进程、个性化工作界面等方面有着内在的优势.作为Excel中的程序语言或称宏语言,由于Excel自身强大的数据分析与处理功能,使得ExcelVBA具有更广泛的应用前景.与所有其它编程语言一样,VBA编程语言也是由类型、变量、数组、函数和流程控

关于基于VBA的题库查重算法的学士学位论文范文
自动化相关论文范文素材
制等基本元素组成.在Office编程环境下,所有VBA代码都位于模块中,模块是存储VBA代码的容器.模块有三种类型:对象模块、标准模块和类模块.其中,对象模块是包含对象专用代码的模块,如工作表模块和工作簿模块;标准模块用于存储公用的,共享代码的模块;类模块则可以实现基于对象的编程,创建自己的属性、方法和事件.

Excel中的工作簿、工作表和单元格等都称为对象.在Excel中,像这样的对象共有100多个,这些对象具有层次结构,如图1所示.我们可以通过对象的层次结构概念来理解对象之间的联系:

1)整个Excel的对象可以看做一个层次结构;

2)每一个对象总是处在一个特定的对象层次中;

3)除了Application对象外,每一个对象都是由高层次的对象派生出来的;

4)一个对象可以派生出其他的对象,派生出的对象处于原对象的下一个层次中.

为了在程序中有效地调用这些Excel中的对象,开发人员必须理解这个对象层次结构并熟悉每个对象在这个层次结构中所处的位置.

3Excel题库结构及查重算法

本文研究的目标Excel题库模型包括题型、题目、A选项、B选项、C选项、D选项和答案等列.如下图所示.实际上,为了便于题库建设后根据各种需要进行抽题组卷,大部分题库都要比该模型复杂,实际的题库一般还包括章节、知识点、难度系数、性质(记忆、理解和操作等)、分值、命题人和审题人等等.

本文所探讨的是题目查重,对于选择题,查重的本质是查找题目列和各选项列是否重复,若某两个选择题的题目列和各选项列完全一致,则可标记为是重题;对于填空题或简答题,由于只有题目列,没有选项列,只要检测题目列是否有重复值即可,使用Excel2010的条件格式即可实现查重.因此,不管实际题库结构如何,查重问题可归结为图2所示的关键列,其它列对问题解决并无帮助,可忽略.本文着重探讨选择题中的单选题.由于多选题与单选题的查重方式相同,不再赘述.

下面给出针对选择题的查重算法:

第1步:在答案列后添加一列“重复标识”,用于对重复题目进行标识.设置变量rws等于总行数;

第2步:设置外循环变量初始值i等于2,从第2行开始逐行遍历题库;

第3步:当i等于n(n>等于2andn<=rws-1),如果“重复标识”为空,则执行第4步,否则设置i=i+1,此时,若i<=rws-1,则重复执行第3步,否则结束外循环,查重结束.

第4步:设置内循环变量初始值j等于i+1,从第i+1行逐行遍历题库;

第5步:当j等于m(m>等于i+1andm<=rws),将该行的题目、A选项、B选项、C选项和D选项与i行对应列进行比较,若各对应项全部相同,则i行题目与j行题目重复,将i行“重复标识”列单元格设为“Tagi”(注意,i为实际行值),将j行“重复标识”列单元格设为“与Tagi重”,并将i行和j行突出显示.否则,设置j=j+1,此时若j<=rws,则重复执行第5步,否则结束内循环,执行步骤6;

第6步:设置i等于i+1,若i<=rws-1,则执行第3步,否则结束外循环,查重结束.

4算法实现及主程序

下面通过部分主程序来说明查重原理.在以下主程序中,首先清除当前题目格式,并将”H”列设置列标题“重复标识”,该列将用于对重复列进行标识.变量rws用于存储题目总行数,使用变量i控制外循环,从第2行循环至rws-1行,对于外循环中的每一行i,都使用内循环遍历i+1到rws行,使之与i行题目进行比较,一旦发现重复题目,则将对应的“H”列做标记,将i行标记为“Tagi”,将j行标记为“与Tagi重”,同时将重复题目设置背景色以突出显示.当外循环遇到有重复标记的行时不需处理,跳过即可.使用变量repTag记录是否重复,默认为True,使用变量k来控制循环实现对第2列到第6列的比较,只要有一列值不同就将repTag设为False.主过程如下:

查重结果如图3所示:

5结束语

本文使用VBA编程技术和Excel对象模型实现了题库查重功能,对于重复题目进行了突出显示并加以文字标注,在实际题库管理工作中应用效果良好,显著减轻了劳动强度.Excel软件是目前最广泛的办公数据处理和分析软件,但是大部分使用者只使用了它的常规功能而忽略了它的高级编程功能.实际上,在面对复杂数据处理问题时,只要具有初级编程知识,就可开发出自动、高效的自动化数据处理程序.


本文来源:http://www.tjhyzyxy.com/benkelunwen/060289157.html

参考文献:

[1]Microsoft.OfficeforDevelopers[OL].http://msdn.microsoft./en-us/office/.

[2]Microsoft.Office开发中心[OL].http://msdn.microsoft./zh-/office/.

[3]JohnWalkenbach.Excel2007PowerProgrammingWithVBA[M].Indianapolis:WileyPublishing,Inc,2007:133-386.

[4]JohnWalkenbach.ExcelVBAProgrammingForDummies2ndEdition2010[M].Indianapolis:WileyPublishing,Inc,2010:213-231.


自动化学位论文撰写
播放:36491次 评论:6964人

基于VBA的题库查重算法参考属性评定
有关论文范文主题研究: 关于自动化的论文范文文献 大学生适用: 学院论文、函授毕业论文
相关参考文献下载数量: 12 写作解决问题: 写作技巧
毕业论文开题报告: 标准论文格式、论文总结 职称论文适用: 技师论文、初级职称
所属大学生专业类别: 写作技巧 论文题目推荐度: 优秀选题

[5]ExcelHome.Excel应用大全[M].北京:人民邮电出版社,2008:785-809.

[6]毛奔,邹岚.利用VBA在Word中实现自动排版功能[J].应用科技,2005,32(11):37-39.

水电厂电气自动化监控系统功能

人工智能在电气工程自动化控制中的应用

探析计算机办公自动化网络构建

医院门诊药房中应用自动化药房管理信息系统的作用

高中思想政治教学联系生活的

中文图书编目查重

厦门自考本科时间

本科论文 引言

自考本科毕业论文申请时间

本科论文会查重吗

本科论文样板

南大自考本科

本科论文参考文献

本科可以自考吗

自考本科***

函授本科招生

基于VBA的题库查重算法全文下载Doc版本