欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 智能科技 > 基于Excel VBA的计算机理论知识无纸化考试系统设

基于Excel VBA的计算机理论知识无纸化考试系统设

日期:2023-01-24 阅读量:0 所属栏目:智能科技


基于excel vba的计算机理论知识无纸化考试系统设计

引言
  在当今飞速发展的信息化社会中,计算机已在各行各业被广泛应用,计算机应用能力已成为现代人必须具备的一种能力,所以各级学校都开设了计算机基础的公共课程。为了加强学生对计算机知识掌握,在日常教学过程中对学生的测试是必不可少的。而对于计算机理论知识,传统的做法是用纸质试卷测试,但教本文由论文联盟http://收集整理师阅卷的工作量较大,为减轻教师的工作量,便用excel vba设计了一个无纸化的计算机理论知识自动抽题、自动阅卷的考试系统。
   1 系统实现的关键技术
   excel是microsoft office 家族成员,它应用非常广泛,具有方便的表格式数据综合管理、强大计算统计分析和图表功能。此外,excel还提供了一种的宏语言visual basic for application(简称vba),它是一种完全面向对象体系结构的编程语言,它又一种寄生于应用程序不能单独存在的编程语言。由于其在开发方面的易用性和强大的功能,为广大用户提供了一个新的、更高层次的二次开发平台,它不但可以设计出个性化的程序,也可以使程序具有自动功能,减少大量重复繁琐的操作,提高工作效率。
   2 系统的实现
   2.1 系统功能模块
   该系统主要有4个功能模块:
  (1)登录模块。学生和教师分别不同身份登录。学生只能进入考试界面,教师可以取得全部权限,可以查看评分情况,并可以修改题库内容和学生信息和基本设置。
  (2)自动抽题。该模块从题库中随机抽取规定数量的题传送到“测试题”表中,并将所抽取题目的标准答案传送到评分表。
  (3)系统定时。抽题结束后,系统将在考试系统的状态栏中显示倒计时。并在规定的考试时间到达时,系统自动关闭并自动保存学生的所做题目。
  (4)自动判分。学生所选择的答案传送到“评分表”中和标准答案对比,自动判断对错并给出分数。
  2.2 系统功能的实现
   新建一个excel工作薄,本系统共有4个工作表,分别命名为“测试题”、“评分表”、“题库”、“学生信息表”。在“题库”表将所需的题目输入其中,“题库”表的a列每隔4行填充题目序号1、2、3、4……,对应序号这行的b列的单元格输入题干,题干下方4行,每行输入相应的4个备选答案,序号对应的c列输入对应题目的标准答案。
   2.2.1 登录模块设计
   登录模块设计关键主要考虑系统的安全性,在打开考试系统后,“评分表”、“题库”,“学生信息表”这3个表将会自动隐藏,只有空的“测试题”表出现,而被隐藏的表无法用“窗口”菜单中“取消隐藏命令”显示。同时将会弹出一个“选择登录”的对话框,此对话框分别有学生登录、教师登录和退出3个按钮,学生和教师以不同路径登录系统,取得不同的权限。在此界面下退出必须按“退出”按钮退出,而无法选择标题栏上的红色“关闭”按钮退出。
   (1)学生登录界面。在点击“学生登录”按钮后出现“学生登录”对话框,此对话框中的三个组合框中分别是选择相应的班级、学号和姓名(“班级”、“学号”和“姓名”这3个组合框的数据源事先将学生的各种信息输入到“学生信息表”中的a列、c列和d列依次存放)。为了防止学生关闭系统后再次进入系统修改答案,在系统初始化时确定“评分表”中是否有内容,如有学生信息,学生再次登录系统时,“学生登录”对话框中三个组合框将和“确定”这几个控件将不可用。 
   (2)老师登录界面。在点击“选择登录”对话框中的“教师登录”按钮后将出现“教师登录”对话框,教师需输入密码才能进入系统(在文本框中输入的密码需与“学生信息表”中j1单元格内容一致的即可登录。),进入系统后可以看到“测试题”表和“评分表”(“评分表”从隐藏变为可见),而在“评分表”表中用控件工具箱增加两个按钮。分别是“显示题库”和“显示学生信息表”按钮。用于显示已隐藏的两个表,便于修改表中的信息。
   2.2.2 自动抽题模块设计
   在点击“学生登录”对话框的“确定”按钮后就会进入考试界面,自动抽题形成试卷,所抽之题的标准答案也将依次赋给“评分表”的c列。同时,“学生登录”组合框中信息将会被赋给“评分表”的g1、g2、g3单元格。其代码如下 :
   private sub combton_xs_ok_click()
   dim a(100) as integer: dim i as integer: dim rng as range: dim rng2 as range
   dim tm as string: dim da1 as string: dim da2 as string: dim da3 as string
   dim da4 as string
   ‘此是将学生所选信息赋给“评分表”中
   if ( <> "" and <> "" and <> "") then
   sheets("评分表").range("g1") = 
   sheets("评分表").range("g2") = 
   sheets("评分表").range("g3") = 
   unload 学生登录
   ‘从题库中随机自动抽100道题赋给“测试题”表
   for i = 1 to 100
   randomize (now): a(i) = int(rnd * 400 + 1)
   with sheets("题库").range("a1:a2000")
   set rng = .find(what:=a(i), after:=.cells(.), lookin:=xlvalues, _lookat:=xlwhole, searchorder:=xlbyrows, searchdirection:=xlnext, matchcase:=false)
   tm = (0, 1).value: da1 = (1, 1).value:da2 = (2, 1).value
   da3 = (3, 1).value: da4 = (4, 1).value
   sheets("评分表").cells(i, 3) = (0, 4).value

转贴于论文联盟

   end with
   with sheets("测试题").range("b3:b500")
   set rng2 = .find(what:=i, after:=.cells(.), lookin:=xlvalues,_ 
   lookat:=xlwhole, searchorder:=xlbyrows, searchdirection:=xlnext, _
   matchcase:=false)
   (0, 1).value = tm: (1, 1).value = da1: (2, 1).value = da2
   (3, 1).value = da3: (4, 1).value = da4
   end with
   next
   msgbox "点击确定后,考试将正式开始!计时50分钟"
   ‘调用计时模块
   call ct
   elseif = "" then msgbox "班级不能为空"
   elseif = "" then msgbox "学号不能为空"
   elseif = "" then msgbox "姓名不能为空"
   end if
   end sub
  2.2.3 倒计时模块设计
   为使学生在规定的时间内完成考试,并提示学生考试的剩余时间,系统将在抽题结束后在“测试题”表的状态栏中出现倒计时时间的显示,其语句如下。
   public tn '秒
   public tnm '剩余时间
   sub runtimer()'时间运行
   now + timevalue("00:00:01"), "js" 
   end sub
   sub js() '计时
   on error resume next
   if tn > 0 then
   tn = tn - 1
   bar = "正在考试....剩余时间: " & tnm & ":" & tn
   else
   tn = 60
   if tnm > 0 then
   if tnm = sheets("学生信息表").range("j3").value then
   msgbox "离考试结束还有" & sheets("学生信息表").range("j3").value & "分钟!!!"
   end if
   
   tnm = tnm - 1
   else
   msgbox "考试结束!!" & chr(10)
   
   
   end
   end if
   end if
   sheets("学生信息表").range("j4").value = tnm
   call runtimer
   end sub
   sub ct() '设置初值
   tnm = sheets("学生信息表").range("j2").value - 1 '
   tn = 60 '
   call runtimer '时间运行
   end sub
  2.2.4 自动判分模块设计
   “测试题”表事先设置好预定的格式,b列为题号和备选答案的标号a、b、c、d。c列为题干和备选答案区。学生在选定b列中每题的备选答案前有字母的单元格时,在a列的题号前有填充色单元格就会显示学生所选答案(如需改变答案则只重新选中的备选答案前的字母,在答案区显示新选答案),如图1所示。
  private sub worksheet_selectionchange(byval target as range)
   r = 
   if (r < 3 and r > r1) then 
   msgbox "此处不能选择!"
   events = false: range("b4").select
   events = true : exit sub 转贴于论文联盟

   end if
   x = r 
  if ( = 2 and range("a" & r).ndex = -4142) then
   for i = 1 to 10 
   x = r - i
   if (range("a" & x).ndex <> -4142) then exit for 
   next
   cells(x, 1) = '赋值
  elseif ( = 1) then 
  if (range("a" & r).ndex = -4142) then 
   for i = 1 to 10
   x = r - i
  if (range("a" & x).ndex <> -4142) then exit for 
  next
  end if
  events = false: range("a" & x).select: events = true 
  end if
  end sub
   学生所选答案将用跨表引用的方法引用到“评分表”b列依次显示,它和“评分表”c列对应的标准答案一一比较进行判分。最后得分显示在“评分表”的g4单元格中。
  3 结束语
   本系统可作为教师日常课堂单元测验所用,大大减轻了教师批改试卷的工作量,只要打开系统,以教师身份登录,即可看到学生所考的成绩。也可以稍加改进作为学生平时练习自测用,及时让学生自己得到答案及评分,便于学生巩固、加强所学知识。转贴于论文联盟
本文链接:http://www.qk112.com/lwfw/jsjlw/zhinengkeji/232819.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学