论文部分内容阅读
摘 要:计算机统考中理论部分不容忽视。为了让技校学生能更好地学习计算机基础知识,在统考中取得更好的成绩,笔者利用VB语言开发了理论题自测系统。本文介绍了系统的开发、实现方法和操作流程及编程技巧等。该系统简便实用,通用性强,具有很好的扩充性。
关键词:面向对象;开放性;控件;结构体;事件驱动
中图分类号:TP315 文献标识码:A文章编号:1673-8454(2010)16-0081-03
引言
自从广东省技工学校实行《计算机应用基础》统一考试以来,计算机就作为一门必修基础课,要求所有技校学生必须参加计算机统考,并且成绩直接与毕业证书的发放挂钩。统考分为理论和操作两大部分,其中理论部分的分值是20分,涉及计算机方方面面的知识,包括计算机基本知识、操作系统、办公类软件、网络基础与应用(包括病毒)等。统考时间都安排在每年的6月份和12月份的最后一个周末,每个班级的《计算机基础》平均每周6学时,从初学到考试最多只有18周,时间非常紧。因为理论题的专业术语较多、内容比较抽象,所以,不论是学生还是教师,都会把重心向实操倾斜,而理论题部分的学习则略有轻视。
作为一名计算机教师,笔者一直在思考:如何提高学生学习理论的兴趣,使学生的成绩更理想、通过率更高呢?因此,笔者用Visual Basic开发了计算机统考理论题部分的自我测试系统,它既适合计算机基础知识的学习,也适用于知识水平的测试。本系统模拟了统考的考试界面,集开放性、互动性、趣味性和知识性为一体。系统还设有评分系统,不但可以对考试成绩进行评分,激发学生的做题欲望,而且能提醒学生哪些题答错了或是还没做,以便让学生能及时更正错误,发现问题。本系统的优点是运行时不受环境、时间和次数的限制,而且操作简单,是一个可以脱离教师、让学生自行操作的一套实用性强的系统。
一、系统需求及实现功能
系统是基于Visual Basic(以下简称VB)语言开发的。VB是一个典型的可视化集成环境,用户在程序设计的过程中就可观察到程序运行时的用户界面,而VB实现可视化设计的一个重要手段就是图形用户界面(Graphic User Interface,GUI)。VB提供了功能强大的数据库访问支持,可以使用DAO、RDO、ADO连接数据库或创建 ActiveX 控件,方便与其它的应用程序相互调用。本系统的操作流程图如图1。
二、设计数据库
数据库的创建采用Access数据库软件。数据库的设计关系到系统运行效率,因此,要对数据库的结构进行预先设计:与统考相关的理论题目,除《计算机应用基础》习题集外,加上其它资料上与统考相关的习题,共494道题。用Access制作数据库,首先创建数据库名为“dbt.mdb”,并创建表“STU”,用于存放试题信息,在表中,将题号关键字ID设为主键,试题内容按知识点归类创建。OP字段保存该题的答案。表1所示为数据表结构,表2为ID对应的知识点内容。
三、设计考试界面
应用系统的可用性和友好性依赖于用户界面的设计,本系统采用单文档界面 (SDI),创建两个窗体:主界面和答题界面。主界面主要设计了两个命令按钮控件,学生单击“开始”便可进入考试界面,也可单击“退出”结束系统。为增强系统的趣味性和亲和力,主界面还增加了教材图片、动画图片、滚动文本和优美的背景音乐,图2为主界面窗体。
答题窗体为本系统的核心,是本自测系统功能的具体体现,单击主界面窗体的“开始”按钮,可进入答题窗体界面,并实现从题库中随机抽取20道不重复的试题,利用6个文本控件来显示试题内容、4个备选答案和题号。单击“确定答题”可以保存答题结果,通过点击“上一题”或“下一题”继续答题,也可点击右边20个题号按钮继续答题,“重新抽题”用于重新组成另一份试卷,点击“提交试卷”按钮,系统弹出评分信息,并且20个题号按钮用不同的颜色显示正确与错误答题。图3为答题界面窗体。
四、编写程序代码技巧
利用不同程序开发同一个系统,其效果截然不同,运行速度差别很大。为了提高本系统的运行速度,笔者自定义了一个名为Extracting的函数,它的功能是连接数据库表单,通过随机的ID号移动数据指针到对应位置,读出数据存放到数组中,然后再执行程序内部的操作,避免重复读取数据。这样既简化了程序代码,又提高了运行速度。
1.变量声明
本程序在使用前首先声明一个结构体,为数据预先分配一个存储空间,然后定义一个数组,为20个随机数据分配存储空间。程序代码如下:
Private Type Examination
ID As Long
Subject As String
sA As String
sB As String
sC As String
sD As String
XAnswer As Long
SAnswer As Long
End Type
Dim sExamination() As Examination
Dim OptionIndex As Long
2.链接数据库
点击主界面中的“开始”按钮,系统便实现了与Access数据库的链接,并根据第一个题号ID查找试题内容,它是系统的关键所在。这里要用到VB中的ADODC控件,程序代码如下:
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _ App.Path "dbt.mdb;Persist Security Info=False"
Call Extracting
Label6 = 1
Text1 = sExamination(Val(Label6) - 1).Subject
Text2(0) = sExamination(Val(Label6) - 1).sA
Text2(1) = sExamination(Val(Label6) - 1).sB
Text2(2) = sExamination(Val(Label6) - 1).sC
Text2(3) = sExamination(Val(Label6) - 1).sD
3.重新抽题
顾名思义,重新抽题就是重新生成考试试题,故先将sExamination数组变量重新分配存储空间。编程代码如下:
ReDim sExamination(19)
Call Extracting
Label6 = 1
For i = 0 To 19
C1(i).BackColor =
关键词:面向对象;开放性;控件;结构体;事件驱动
中图分类号:TP315 文献标识码:A文章编号:1673-8454(2010)16-0081-03
引言
自从广东省技工学校实行《计算机应用基础》统一考试以来,计算机就作为一门必修基础课,要求所有技校学生必须参加计算机统考,并且成绩直接与毕业证书的发放挂钩。统考分为理论和操作两大部分,其中理论部分的分值是20分,涉及计算机方方面面的知识,包括计算机基本知识、操作系统、办公类软件、网络基础与应用(包括病毒)等。统考时间都安排在每年的6月份和12月份的最后一个周末,每个班级的《计算机基础》平均每周6学时,从初学到考试最多只有18周,时间非常紧。因为理论题的专业术语较多、内容比较抽象,所以,不论是学生还是教师,都会把重心向实操倾斜,而理论题部分的学习则略有轻视。
作为一名计算机教师,笔者一直在思考:如何提高学生学习理论的兴趣,使学生的成绩更理想、通过率更高呢?因此,笔者用Visual Basic开发了计算机统考理论题部分的自我测试系统,它既适合计算机基础知识的学习,也适用于知识水平的测试。本系统模拟了统考的考试界面,集开放性、互动性、趣味性和知识性为一体。系统还设有评分系统,不但可以对考试成绩进行评分,激发学生的做题欲望,而且能提醒学生哪些题答错了或是还没做,以便让学生能及时更正错误,发现问题。本系统的优点是运行时不受环境、时间和次数的限制,而且操作简单,是一个可以脱离教师、让学生自行操作的一套实用性强的系统。
一、系统需求及实现功能
系统是基于Visual Basic(以下简称VB)语言开发的。VB是一个典型的可视化集成环境,用户在程序设计的过程中就可观察到程序运行时的用户界面,而VB实现可视化设计的一个重要手段就是图形用户界面(Graphic User Interface,GUI)。VB提供了功能强大的数据库访问支持,可以使用DAO、RDO、ADO连接数据库或创建 ActiveX 控件,方便与其它的应用程序相互调用。本系统的操作流程图如图1。
二、设计数据库
数据库的创建采用Access数据库软件。数据库的设计关系到系统运行效率,因此,要对数据库的结构进行预先设计:与统考相关的理论题目,除《计算机应用基础》习题集外,加上其它资料上与统考相关的习题,共494道题。用Access制作数据库,首先创建数据库名为“dbt.mdb”,并创建表“STU”,用于存放试题信息,在表中,将题号关键字ID设为主键,试题内容按知识点归类创建。OP字段保存该题的答案。表1所示为数据表结构,表2为ID对应的知识点内容。
三、设计考试界面
应用系统的可用性和友好性依赖于用户界面的设计,本系统采用单文档界面 (SDI),创建两个窗体:主界面和答题界面。主界面主要设计了两个命令按钮控件,学生单击“开始”便可进入考试界面,也可单击“退出”结束系统。为增强系统的趣味性和亲和力,主界面还增加了教材图片、动画图片、滚动文本和优美的背景音乐,图2为主界面窗体。
答题窗体为本系统的核心,是本自测系统功能的具体体现,单击主界面窗体的“开始”按钮,可进入答题窗体界面,并实现从题库中随机抽取20道不重复的试题,利用6个文本控件来显示试题内容、4个备选答案和题号。单击“确定答题”可以保存答题结果,通过点击“上一题”或“下一题”继续答题,也可点击右边20个题号按钮继续答题,“重新抽题”用于重新组成另一份试卷,点击“提交试卷”按钮,系统弹出评分信息,并且20个题号按钮用不同的颜色显示正确与错误答题。图3为答题界面窗体。
四、编写程序代码技巧
利用不同程序开发同一个系统,其效果截然不同,运行速度差别很大。为了提高本系统的运行速度,笔者自定义了一个名为Extracting的函数,它的功能是连接数据库表单,通过随机的ID号移动数据指针到对应位置,读出数据存放到数组中,然后再执行程序内部的操作,避免重复读取数据。这样既简化了程序代码,又提高了运行速度。
1.变量声明
本程序在使用前首先声明一个结构体,为数据预先分配一个存储空间,然后定义一个数组,为20个随机数据分配存储空间。程序代码如下:
Private Type Examination
ID As Long
Subject As String
sA As String
sB As String
sC As String
sD As String
XAnswer As Long
SAnswer As Long
End Type
Dim sExamination() As Examination
Dim OptionIndex As Long
2.链接数据库
点击主界面中的“开始”按钮,系统便实现了与Access数据库的链接,并根据第一个题号ID查找试题内容,它是系统的关键所在。这里要用到VB中的ADODC控件,程序代码如下:
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _ App.Path "dbt.mdb;Persist Security Info=False"
Call Extracting
Label6 = 1
Text1 = sExamination(Val(Label6) - 1).Subject
Text2(0) = sExamination(Val(Label6) - 1).sA
Text2(1) = sExamination(Val(Label6) - 1).sB
Text2(2) = sExamination(Val(Label6) - 1).sC
Text2(3) = sExamination(Val(Label6) - 1).sD
3.重新抽题
顾名思义,重新抽题就是重新生成考试试题,故先将sExamination数组变量重新分配存储空间。编程代码如下:
ReDim sExamination(19)
Call Extracting
Label6 = 1
For i = 0 To 19
C1(i).BackColor =