自助抽题Authorware轻松实现

时间:2022-10-29 04:08:39

在各种电视大赛中,随机进行的综合素质考核环节是精彩的看点之一。在我们的教学中,复习自测、知识竞赛、普通话测试等,都需要考生从指定的题库中抽取试题进行测试。那么,随机出题是不是很复杂呢?非常简单!利用学校常用的课件制作工具Authorware,可以很容易地实现。考虑到学生的心理习惯,我设计了学生自助进行的随机出题课件。

实现效果:

程序开始运行时,题库中有若干首古诗,由被测试学生敲击键盘进行选题。课件将随机从题库中抽取1道题,出现在屏幕上供学生朗诵进行普通话训练。

预备工作:

首先把需要朗读的古诗文准备好,录入到数据库中,然后设置为数据源。为了方便检索和修改数据,一般把数据保存在数据库中。Authorware提供了ODBC数据库接口,可以很方便地和数据库建立连接。为了简单起见,我们使用Access数据库。首先打开Access数据库,创建一个空数据库source.mdb。在该库中,创建一个如下的表:

|编号|题目|作者|内容|

-------------------

|

|

|

|

|

此表的结构非常简单,其中编号为自动产生。然后按照表的结构,把题库进行补充完善。

为了让Authorware通过ODBC对数据库进行访问,我们还需要对刚才设计的数据库进行设置,使它成为ODBC数据源。

进入“开始控制面板管理工具数据源”,选择用户DSN卡片,单击“添加”按钮,在列表中选择“Driver do Microsoft Access (*.mdb)”,单击“完成”按钮。在随后弹出的窗口中(见图1)设置数据源名为source,选取刚才创建的source.mdb为数据库,数据源的创建工作就完成了。

图1

制作过程:

程序的主流程如图2所示。

图2

第一步:启动Authorware,新建名为“普通话测试”的文件,选择菜单“ModifyFileProperties…”,注意勾选“Options”选项下的“Center On Screen”项。这样,运行的时候窗口能够居中。然后可以根据需要在流程线上添加必要的背景。

第二步:在流程线上放置一个计算图标,取名为“初始化”,输入j:=0。

第三步:在流程线上放置一个框架图标,取名为“主控”。双击“主控”图标,展开(见图3)。在“主控图标”中,删除所有导航图标,只保留“Exit framwork”和“Next page”导航图标。双击“Next page”,如图3下部。单击“按钮”卡片,在快捷键中输入“?”(匹配任意键)。这样就能实现敲击任意键进行抽题的功能。

图3

第四步:在流程线上放置两个群组图标,分别命名为“抽题”和“显示题目”,用来实现本程序中最主要的两个功能。在“抽题”图标中放入“循环显示题目序号”交互图标(见图4)。设计交互条件为“j=0”。然后,在条件交互群组图标中拖入相应的图标。在计算图标中输入i:=Random(1,Max,1),其中,Max是最大的题目数量;在显示图标中输入{i}。这样,在执行程序的时候,就会进入一个永真循环,不断循环显示随机出现的题目,直到检测到用户按键,进入显示题目图标。

图4

第五步:当学生敲击任意键之后,程序进入“显示题目”图标,根据刚才抽取的题目序号,显示数据库中保存的题目。在计算图标中输入:

DatabaseName:="source"

odbcError:=""

ODBChandle:=ODBCOpen(WindowHandle,odbcError,DatabaseName,"","")

db_data1:=ODBCExecute(ODBChandle,"select 题目 from ts where 编号="^i)

db_data2:=ODBCExecute(ODBChandle,"select 内容 from ts where 编号="^i)

if odbcError"" then

db_data:="出现错误"^odbcError

end if

ODBCClose(ODBChandle)

此代码用于连接数据源,并根据编号把试题取出来。把取出的试题在显示图标中进行显示,就完成了试题的显示工作。

小提示

如果要根据难度进行抽题,实现起来也很简单。首先在设计数据库表时增加一个难度系数字段(数字型),输入试题的难度系数;把第五步计算图标的抽题语句改为(其中k为难度变量,可根据需要进行输入或自动增加):

db_data1:=ODBCExecute(ODBChandle,"select 题目 from ts where 编号="^i^" and 难度="^k)db_data2:=ODBCExecute(ODBChandle,"select 内容 from ts where 编号="^i^" and 难度="^k)

上一篇:雷柏 8300 HTPC 超级多媒体键鼠套装 下一篇:社团活动Logo,不用再愁