《C语言程序设计》考试系统

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:chenshunsheng
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:这一考试系统是一种计算机辅助教学软件,它包括教学模式,练习模式,考试模式。采用调用数据库的方式打开,可以实现随机选题和指定选题,而不是固定的试题。解决了由于教材更新和题库更新导致教学软件过时。大大提高了软件的利用价值,打破了教学软件内容的固化,其次三种工作模式极大地拓宽了软件的使用范围,不再是单一的教师教学软件或学生考试软件。可根据教学需要灵活地选择不同模式,同时少作修改即可用于其它课程。系统解决了在多媒体教学中出现的模式僵化,内容固化的问题。更新教学内容只需建立一个新的数据源实现连接即可。
  关键词:考试系统;多媒体技术;数据源;连接数据库
  中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)03-10854-03
  
  1 课题研究的意义和目的
  
  1.1研究意义
  现在,多媒体技术日趋成熟,多媒体系统以其能输出精彩的图形和图像、美妙的声音、动感的画面赢得了用户和社会各界广泛的关注和应用。如果把按传统考试方式同现代化的多媒体技术相结合,并且用多媒体著作工具及其它多媒体技术,编制一套符合高校考试需求的系统及其配套的多媒体教学软件,利用多媒体技术生动、直观、形象展示信息的特点,辅助教师授课和学生进行考试,尤其对部分有限制性的实验环节,可利用活动视频技术进行展示,这将会解决一系列目前存在的问题。总之,该课题是在计算机辅助教学及考试上进行的一次积极有意义的尝试,为其他实践性较强的课程进行多媒体辅助教学开辟一条新的路子,具有一定的理论和现实意义。
  1.2目的
  传统的考试手段主要依靠有纸试卷,几乎没有可重用性。本课题将实现:用计算机辅助考试系统,把多媒体生动、直观的显示出来,使学生不再将考试视为一种枯燥无味的东西,提高了考试效果,使学生在一种愉悦的心情中进行考试,把枯燥的重复变为充满乐趣、具有启发性的考试过程,使学生能比较全面的学习知识,掌握技能,达到素质教育的要求。
  
  2 系统流程图设计
  
  2.1初始化流程设计
  在使用Authorware创建任何多媒体项目的时候,都应该先设置当前项目文件的窗口大小,将其设置为“800×600”,然后选择“演示居中屏幕”,同时取消对“显示标题栏”和“显示菜单栏”复选框的选择。
  2.2主界面的设计
  本界面采用了Photoshop7.0图形图像处理软件来绘制。为了避免界面的单调和呆板,用蒙版和滤镜技术加以美化。该界面把Photoshop中的图层技术、图层蒙版技术、文字效果及滤镜等功能完美的结合了起来。并且在底部设置了一个Flash动画,增加视觉效果。
  2.3背景音乐的交互控制
  该多媒体教学以MIDI作为背景音乐,背景音乐的交互控制包括背景音乐的随机选曲播放、停止等功能,另外当该教学程序处于活动状态时,能够随时调整背景音乐和讲解声音的大小及比例,让使用者在一种轻松悦耳的环境中考试(调出WINDOWS的音量控制实现),还能够暂停背景音乐,当再次进入活动状态时则能重新播放背景音乐。
  为了充分考虑用户计算机的不同配置情况,首先利用BUDAPI.U32的BASOUNDCARD函数判断用户机器是否已经安装了声卡,如果已经安装则执行背景音乐播放,否则不允许播放任何背景音乐操作.程序如下:
  IF BASOUNDCARD() THEN
  MIDI:=1
  TEST(MIDI,MIDILOOP (FILELOCATION^”MUSIC\\MUSIC-”^RANDOM(1,5,1)^”.MID”),STOPMIDI())
  END IF
  软件中的背景音乐交互控制是通过交互响应来实现的。在程序执行过程中,用户始终可以通过按钮控制背景音乐的播放与暂停。在计算图标“播放音乐”后添加一交互图标并命名为“音乐控制”,并在交互图标右边添加三个计算分支。设置“STOP/PLAY”分支为按钮响应交互,其功能是实现对背景音乐的控制。由于在整个程序执行过程中它都是有效的,因此须设置其为永久按钮,即选择“PERPETUAL”属性选项,同时设置“ACTIVE IF”条件为:BASOUNDCARD(),即检测到用户没有安装声卡的情况下该按钮及响应分支无效。
  2.4内容的导航设计
  该多媒体教学涉及内容繁多,不仅包括文本、图片、声音和动画,而且还有其它多媒体工具与Authorware 配合,同时,还把视频文件导入,以增加实用性。为使用户操作简单方便,设计了合理的教学内容导航。主文件与各章节之间的导航设计根据结构规划中的该章节内容的栏目划分,在流程设计中为这些栏目设计了导航,如图1为主程序内容导航的设计流程图。
  这样的流程设计使整个主程序结构清晰,可读性强。由于该文件结构是主-分结构,即主文件调用各章节模块文件的方式,因此在主文件的章节内容中实际存放的是一个起链接桥梁作用的调用脚本,而具体的考试试题题型内容则放在各章节的模块文件内。
  2.5各模块的内容流程设计
  图中的考试模式、练习模式、教学模式及退出系统这四部分主要程序流程图如下图2、图3、图4、图5所示。
  第五部分的原理演示则是通过热区交互以及调入用VC6.0制作的演示内容的库文件,抽象的工作原理形象化,具体化。在打包的过程中采用了分步打包,首先对每部分进行打包。通过主文件调用其它各部分,这样避免了主文件过大,影响运行速度。
  
  3 以完成单选题为例来看具体实现过程
  
  从单选题的数据库题库中随机抽取相应题数的问题;每一题只能选择一个答案;用户可以按次序做答,可跳过不答,在回答过程中,可以随时返回已做过的题目进行修改;交卷后会给出完成情况可以查看每题的回答情况.最后回到选题主界面,并把学生所做的答案成绩保存到数据库中。
  当用户在主界面中,选择了“考试模式”后,系统就会进入到登录界面系统会提示输入用户名和密码,当输入后,点击“确定”后,系统将会进入到题型选择界面。在提示框中输入用户名和密码,我们点击“确定”后,就会进入到正式的单选题型界面中,选择“单选题”单击。
  C语言程序设计考试系统的选择题从数据库中取出选择题,在一个界面上显示。利用三个热区域交互按钮“上一题”“下一题,”“完成”,按钮和四个热区域设置计算图标用来记录学生所选择的答案。在学生选择“完成”后,弹出学生做题的情况界面,然后回到选题主界面,并把学生所做的答案成绩保存到数据库中。
  3.1“未命名”用来擦除以前的图像
  (1) 打开“未命名”的属性,进入“未命名”的属性窗口。
  (2)在“属性窗口”中单击擦除标签在设置过渡效果进行设置。
  (3)单击“确定”按钮
  3.2 设置“单选界面”插入一个图像
  (1)双击“单选界面”图标进入显示图标窗口
  (2)单击绘图工具箱 图标进行绘制一个和窗口矩形一样大的矩形
  (3)设置矩形的颜色为“绿色”
  (4)单击显示图标窗口的关闭按钮,关闭保存对“单选界面”的设置。
  3.3 设置交互“进入”
  (1)在交互图标的右边拖放一个群组“单选”。
  (2)设置单选的热区为“按钮”。
  (3)单击确定后,双击“选择”。
  3.3.1“未命名”用来擦除上次运行的图形
  3.3.2 在“打开数据库”的输入如下源程序:
  hint0:="您的數据库没有连接上......"
  --显示连接数据库的信息
  title:="数据库连接...."
  ODBChandle:=ODBCOpen(WindowHandle,"","database","","")
  --得到数据源
  getrecord:="select count(sequence) from erigister"
  --得到记录的个数
  record:=ODBCExecute(ODBChandle,getrecord)
  if ODBChandle=0 then--测试连接数据库是否连接成功
  MessageBox(WindowHandle,hint0,title,17)
  end if
  ODBCClose(ODBChandle)
  ODBChandle:=ODBCOpen(WindowHandle,"","database","","")
  if ODBChandle=0 then
  MessageBox(WindowHandle,hint0,title,17)
  end if
  sqlstring1:="select ssdb from erigister where sequence="^record^"" -从表中选择单选库表题
  ssdatabase:=ODBCExecute(ODBChandle,sqlstring1)
  getrecord:="select count(sequence) from "^ssdatabase^""
  record:=ODBCExecute(ODBChandle,getrecord)
  --ssdb数据库的记录个数,以便产生随机数
  sssum:=0
  number1:=1
  sui:=[]
  sui[1]:=Random(1,record,1)
  --下面程序用来产生一个随机数不能出现相同的题目
  i:=2
  repeat while i<=record
  flag:=0
  repeat while flag=0
  sui[i]:=Random(1,record,1)
  flag1:=0
  repeat with p:=1 to i-1
  if sui[i]=sui[p] then flag1:=1
  end repeat
  if flag1=0 then flag:=1
  end repeat
  i:=i+1
  end repeat
  3.3.3 在“做选择的背景”显示图标中设计单选题的界面如上图5.4
  3.3.4 在“数据库的操作”中输入如下代码:在这里,我们就要实现对数据库的随机读取和跟踪答案的长短来选择界面
  x:=0
  ran:=sui[number1]
  result:=""
  record1:=Number(record)
  record:=record1--得到记录的个数
  sqlstring1:="select topic from "^ssdatabase^" where sequence="^ran^""分别得到选择题各项
  sqlstring2:="select a from "^ssdatabase^" where sequence="^ran^""
  sqlstring3:="select b from "^ssdatabase^" where sequence="^ran^""
  sqlstring4:="select c from "^ssdatabase^" where sequence="^ran^""
  sqlstring5:="select d from "^ssdatabase^" where sequence="^ran^""
  sqlstring6:="select result from "^ssdatabase^" where sequence="^ran^""
  get1:=ODBCExecute(ODBChandle,sqlstring1)
  --get1得到选择题目内容
  get2:=ODBCExecute(ODBChandle,sqlstring2)
  --get2得到选择项A内容
  get3:=ODBCExecute(ODBChandle,sqlstring3)
  --get3得到选择项B内容
  get4:=ODBCExecute(ODBChandle,sqlstring4)
  --get4得到选择项C内容
  get5:=ODBCExecute(ODBChandle,sqlstring5)
  --get5得到选择项D内容
  get6:=ODBCExecute(ODBChandle,sqlstring6)
  --get6得到选择题的答案
  inputa:=1 --用来设置热区域的激活条件
  3.3.5空“操作”用来设置跳转标志
  3.3.6在交互图标右边拖入四个热区域
  在计算图标中从左到右的四个计算图标中输入: result:="A" result:="b" result:="c" result:="d"在交互属性中设置激活条件为inputa=1: ,鼠标指针设置为标准鼠标指针,其它的为默认设置.其中result变量用来记录用户所选的答案.
  3.3.7拖一个交互图标“未命名”在它的右边拖两个计算图标为“上一题”和“下一题”,再拖一个群组“完成”放在“下一题”右边 ,设置热区为按钮。在“上一题”的激活条件中输入number1>1,鼠标指针设置为:标准的鼠标指针。在“下一题”的激活條件中输入:number1  
  4 结束语
  
  根据对教师上课时课堂练习的分析,开发出该考试系统,主要是能够方便课堂练习,同时还可用于期中期末测试,该系统主要是针对《C语言程序设计》课程来设计的。对该系统做简单修改,即可用于其它课程。
  参考文献:
  [1]王嘉宁,朱隽.Photoshop7.0中文版新概念百例[M].中国水利水电出版社,2004,4.
  [2]龚祥国.主编.Photoshop图像处理实用教程[M].科学出版社,2002,2.
  [3]王龙,金海.主编.Flash MX实战入门新概念[M].中国水利水电出版社,2005,5.
  [4]李恒.Authorware 6.0多媒体实例大制作》[M] 冶金工业出版社,2002,4.
  [5]袁海东.Authorware 7.0教程[M].电子工业出版社,2004,9.
  [6]郝蕾蕾.Authorware课件制作[M].中国水利水电出版社,2001,7.
  本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
其他文献
摘要:介紹服装工艺设计的现状及PowerBuilder。介绍用PB+数据库实现工艺辅助设计的原理和应用。  关键词:服装工艺设计;PowerBuilder;数据库  中图分类号:TP312   文献标识码:A  文章编号:1009-3044(2006)29-0154-01
期刊
摘要:本文主要介绍利用计算机I/O接口、Microsoft Visual Basic程序、OLE面向对象设计,实现应变计的性能检测、检测路数扩展和性能检测数据可视化的功能,并根据实际应用方面的需求,对程序进行了优化设计和改進,同时探讨了应变计检测系统的精度提高方法。  关键词:应变计;性能;测试;程序。  中图分类号:TP39   文献标识码:A  文章编号:1009-3044(2006)29-0
期刊
摘要:简要的介紹了在手机游戏开发过程中常用的图形翻转方法,提出了一种采用像素点有规律重画来实现图形镜像翻转的方法,该方法能很好的解决在有限的内存空间和相对较弱的数据处理能力的情况下如何处理图形的问题,并具有很好的通用性。  关键词:J2ME;手机游戏;图形翻转;像素点  中图分类号:TP311  文献标识码:A  文章编号:1009-3044(2006)29-0160-02
期刊
摘要:办公软件中的Excel 是具有强大数据处理能力的电子表格软件,本文介绍了在高等学校中利用EXCEL的數据分析功能和函数功能来统计学生考勤情况、管理学生成绩以及进行考试质量分析的方法,使这些繁琐的管理工作变得轻松、简便。  关键词:EXCEL;教学;管理;应用  中图分类号:TP311  文献标识码:A  文章编号:1009-3044(2006)29-0166-01
期刊
摘要:本文研究提出了Windows位图文件读取显示和存盘的一种实用技术方法。特定的图像处理工作中,有时需要快捷的读取显示和存储图像数据,无必要使用代码庞大的DIB或DDB类来解决使用者的特定算法。位图文件是可视编程环境中最基本的基础图像格式,因此,文章在分析了位图的基本特点后,给出了在Win32 IDE环境下或者在Visual C++环境下实现这种要求的方法。结果表明,保存和显示方法原理清晰,易于
期刊
摘要:对Visual FoxPro多媒体编程中Multimedia MCI控件和若干API函数的使用方法进行了讨论,给出了应用示例。Multimedia MCI控件为多媒体文件的播放提供了一个标准界面。API函数中的PlaySound/sndPlaysound函数可用于小型wav文件播放。mciExecute函数、mciSengString函数可以播放多种格式音频和avi視频文件,功能更强大,可以
期刊
摘要:近年来,基于DFL[1]的agent学习已经受到了不少研究者的关注。文献[2]给出了一种即时回报的DF环境下的多agent学习模型,文献[3]给出DF环境下的单agent学习算法,文献[4]介绍了DF环境中agent的心智模型。本文主要是在这些文献的基础上,具体构建了一个基于DFL的非即时回报的合作型多agent学习模型。主要内容包括该模型的结构、主要数据结构,以及相应的算法,最后还给出了一
期刊
摘要:Photoshop CS 是一款功能强大的图像处理软件,目前已被广泛的应用于各个领域。针对Photoshop CS的初学者在学习过程中经常会碰到的一些异常现象进行介绍,并给出解决的方法。  关键词:Photoshop CS;图层;选区;灰度;栅格化  中圖分类号:TP317  文献标识码:A  文章编号:1009-3044(2006)29-0158-02
期刊
摘要:本文介绍了轻量级多边形建模工具Pillow的编写过程和大体结构。  关键词:计算机图形;多边形建模;细分算法  中图分类号:TP302 文献标识码:A文章编号:1009-3044(2007)03-10835-02    1 引言    Pillow是一个我编写的轻量级多边形3D建模程序。目前,这个程序还处于初级阶段,只实现了一些基本的多边形建模操作,比如对点、边、面、体的挪动旋转以及缩放操作
期刊
摘要: 本文通过具体实例讲解了C语言程序设计过程的几个常见错误:(1)使用未定义的变量;(2)進行非法运算;(3)输入数据的方式与要求不符;(4)循环语句中的死循环;(5)复合语句漏掉花括号;(6)利用“==”比较字符串是否相等;(7)误把“=”作为关系运算中的“等于”运算符;(8)指针变量未正确赋值之前就引用;  关键词:C语言;错误分析  中图分类号:TP311.1  文献标识码:A  文章编
期刊