用Authorware制作多媒体题库实例
【摘要】:目前,Authorware开发的课件已广泛应用于教学中,并取得了有效的教学效果。其中大多数是制作集文字、音频、视频、动画、图像于一体的具有强大的交互功能的教学课件。此类课件,一般使用设计图标、少量的系统变量和简单的系统函数即可完成。如果课件中包含有一个多媒体题库,用于及时检查学生的学习效果,则系统功能更加完善。文章详细介绍了用Authorware、Access数据库及Authorware通过ODBC与数据库的连接制作题库的设计流程。实现了随机抽题、即时评判、重做一遍、重新抽题等功能。下面就以选择题题库为例详细介绍设计过程。
【关键词】:数据库设计;设计流程;随机抽题;即时评判;重新抽题
中图分类号:TP37 文献标识码:B 文章编号:1002-6908(2007)0910059-03
1.建立Access数据库
使用Access设计数据库test.mdb,内含表st,存放有100道试题,表结构如表1所示:
2.设计Authorware流程
本设计实现了从100道试题中随机抽取5道试题。整个系统流程如图1、图2所示:
2.1 初始化
拖放一运算算图标至主流程,命名为”初始化”,实现程序中所需变量初始值的设置。
代码如下:
--题号的初始值
ti:=1
--用于存放标准答案变量
asc_n1:=1
asc_n2:=1
asc_n3:=1
asc_n4:=1
asc_n5:=1
--用于存放用户答案变量
ans1:=0
ans2:=0
ans3:=0
ans4:=0
ans5:=0
--用于传递答案的中间变量
ans:=0
2.2 建立ODBC数据库连接
拖放一运算算图标至主流程,命名为”数据库连接”,通过ODBC实现与Access数据库test.mdb的连接。代码如下:
DB_DatabaseName:=“test Database”
DB_ODBCError:=““
----打开一个ODBC数据源”test Database”
DB_ODBCHandle:=ODBCOpen(WindowHandle,”DB_ODBCBCHandle ODBCOpenDynamic(WindowHandle, “DB_ODBCError”, DB_ODBCconnect)
:=
end if
--打开Access数据库,并获取数据
sqlstring:=“select * fromst”
data:=ODBCExecute(DB_ODBCHandle, sqlstring)
2.3 产生试题号
拖放一运算图标至主流程,命名为”产生试题号”。在此将从100道试题中随机抽取任意个试题,文章以抽取5个试题为例,代码如下:
--在100个试题中随机产生5个不同的记录号
number:= INT(Random(1,100,0))
numberlist:=[number]
i:=1
repeat while i0
number:= INT(Random(1,100,0))
index:= FindValue(numberlist, number)
end repeat
AddLinear(numberlist, number)
i:=i+1
end repeat
num_th1:= ValueAtIndex(numberlist, 1)
num_th2:= ValueAtIndex(numberlist, 2)
num_th3:= ValueAtIndex(numberlist, 3)
num_th4:= ValueAtIndex(numberlist, 4)
num_th5:= ValueAtIndex(numberlist, 5)
2.4 抽取试题
拖放一个交互图标至主流程,然后分别拖放5个运算图标到交互图标的右侧,交互类型选择”条件”。在图标的”条件”属性中分别设置为ti=1,ti=2,ti=3,ti=4,ti=5。双击”ti=1”运算图标,输入如下代码:
--抽取第一条记录
num_th:=num_th1
word:=GetLine(data,num_th,num_th)
--测试记录长度
LEN:=CharCount(word)
--分离出标准答案,并将其转换为ascii码存放于变量ans_n1中
word_ans:=SubStr(word,LEN,LEN+1)
asc_n1:=Code(word_ans)
--设置题号
word_tihao:=“1”
--为后面用到的变量初始化
begin:=“a”
word_yq:=““
word_a:=““
word_b:=““
word_c:=““
word_d:=““
i:=1
--分离出的题目要求存放在变量w标的右侧,交互类型选择”按钮”,如图3、图4所示。
输入各运算图标代码
2.6.1 “下题”运算图标代码:
--获取上题用户答案
if Checked@”A:”=1 then
ans:=49
end if
if Checked@”B:”=1 then
ans:=50
end if
if Checked@”C:”=1 then
ans:=51
end if
if Checked@”D:”=1 then
ans:=52
end if
if ti=1 then
ans1:=ans
end if
if ti=2 then
ans2:=ans
end if
if ti=3 then
ans3:=ans
end if
if ti=4 then
ans4:=ans
end if
if ti=5 then
ans5:=ans
end if
if ti>=5 then
ti:=5
else
ti:=ti+1
end if
--将答案初始化
Checked@”A:”:=0
Checked@”B:”:=0
Checked@”C:”:=0
Checked@”D:”:=0
--返回,显示下题
GoTo(IconID@”试题”)
2.6.2 “重做一遍”运算图标代码:
--初始化,重做上套题目
ti:=1
ans1:=0
ans2:=0
ans3:=0
ans4:=0
ans5:=0
asc_n1:=1
asc_n2:=1
asc_n3:=1
asc_n4:=1
asc_n5:=1
ans:=0
GoTo(IconID@”试题”)
2.6.3 “重新抽题”运算图标代码:
--初始化,返回并重新抽取试题号
ans4:=0
ans5:=0
asc_n1:=1
asc_n2:=1
asc_n3:=1
asc_n4:=1
asc_n5:=1
ans:=0
ti:=1
GoTo(IconID@”产生试题号”)
2.6.4 “退出”运算图标代码:
GoTo(IconID@”结束”)
2.6.5 “A:”运算图标代码:
Checked@”A:”:=1
Checked@”B:”:=0
Checked@”C:”:=0
Checked@”D:”:=0
2.6.6 “B:”运算图标代码
Checked@”A:”:=0
Checked@”B:”:=1
Checked@”C:”:=0
Checked@”D:”:=0
2.6.7 “C:”运算图标代码
Checked@”A:”:=0
Checked@”B:”:=0
Checked@”C:”:=1
Checked@”D:”:=0
2.6.8 “D:”运算图标代码
Checked@”A:”:=0
Checked@”B:”:=0
Checked@”C:”:=0
Checked@”D:”:=1
2.7 “评分”群组图标的设置
双击”评分”图标,在二级程序设计窗口添加程序图标,如图二所示。”显示成绩”图标用于显示变量str1的值,”评分1”运算图标进行评分,其代码如下:
--为str1初始化,最终成绩保存在str1变量中
str1:=““
--保存最后一题答案
if Checked@”A:”=1 then
ans:=49
end if
if Checked@”B:”=1 then
ans:=50
end if
if Checked@”C:”=1 then
ans:=51
end if
if Checked@”D:”=1 then
ans:=52
end if
if ti=1 then
ans1:=ans
end if
if ti=2 then
ans2:=ans
end if
if ti=3 then
ans3:=ans
end if
if ti=4 then
ans4:=ans
end if
if ti=5 t拖放一个运算图标至主流程,命名”结束”,其代码如下:
--关闭数据库并退出
ODBCClose(ODBCHandle)
Quit()
3.功能介绍
3.1 随机抽题
产生随机数number,是1,2,3,…,100中的任一个,利用numberlist数组列表查询产生的随机数是否已经出现过,如果有重复则重新产生。将产生后的随机数分别赋值
给不同的题号变量,再从test表中读出相应题号的记录。
3.2 即时评判
做题时,用户选择答案,并可多次更改自己的选择答案。做题过程中,用户还可随时查看自己做对的题目总数等信息。
3.3 重做一遍
单击”重做一遍”按钮后,先前抽取的试题不变,而各选项将会被清空,用户可以重新做题。
3.4 重新抽题
用户可以多次抽取不同的试题进行强化训练。
4.结束语
以上制作题库的方法只做引玉之砖,我们可以充分利用Authorware的强大功能,设计出各具特色的多媒体题库。
参考文献
[1] 孙全党、高翔、胡国锋等,《Authorware 6应用培训教程》,电子工业出版社.
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
因篇幅问题不能全部显示,请点此查看更多更全内容