用Excel制作简易平时练习作业系统.docx
- 文档编号:553641
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:5
- 大小:20.97KB
用Excel制作简易平时练习作业系统.docx
《用Excel制作简易平时练习作业系统.docx》由会员分享,可在线阅读,更多相关《用Excel制作简易平时练习作业系统.docx(5页珍藏版)》请在冰豆网上搜索。
用Excel制作简易平时练习作业系统
用Excel制作简易平时练习作业系统
平时练习作业,是学生学好课程的必要保证之一。
对于工业分析、湿法冶金学这样的专业性很强的课程,也只有通过平时作业练习和实践操作,才能真正掌握课程的知识内容,才有可能具备灵活运用课程基础知识解决实际问题的能力。
另一方面,为了解决湿法冶金学、工业分析这类课程“以考试为唯一判断标准”的弊端,过程环节被不断强化。
[1]平时练习作业作为过程环节考核的重要组成部分之一,理应得到重视。
平时练习作业对学生能力的训练主要有两方面,其一是通过平时练习作业达到熟练掌握课程基础知识的目的,这是打基础的作用,其二是训练对基础知识的灵活运用,这是课程培养较高层次的目标了。
尽管后者才是课程的最终目标,但如果前者达不到较好的程度,则后者就如“空中楼阁”,无法实现。
因此,在多年教学实践的基础之上,笔者认为平时练习作业应以“打基础”为主,灵活运用知识能力培养为辅,并且灵活应用能力培养应少而精。
要打好基础,平时练习对课程知识的包涵必须泛而细,这就要求练习题必须达到一定的数量才有可能实现这一目标。
然而,这样做的话,会给学生和教师额外增加不少的负担,使学生对课程产生厌烦情绪,也会使教师对改进课程教学方式提高教学效果缺乏兴趣。
为此,鉴于Excel软件具有强大的数据处理和信息管理能力,容易实现信息管理自动化的优势,笔者提出在Excel软件环境下建设课程题库,实现随机快速自动组卷,自动评分,自动处理学生成绩数据。
并且利用Excel实现这一过程比较简单,不需要专门的编程能力,只要会用这一软件,就能够理解并实现这一系统。
一、Excel题库建设的基本思想为了实现既能全面强化对基础的掌握,又能高效利用学生紧张的课外时间,题库题型全部客观化,即以练习时间相对较少的选择题和判断题为题库题型。
练习题以课程章为单位进行编写,数量除了根据章的内容多少和课时比例进行确定之外,还应规定最低题量,每一章的习题数量一般应超过100道,其目的是为了保证在随机抽题过程中,任两个学生之间的题目在理论上都有可能不完全相同,并且还应保证一定的富余空间。
为了适当减小任两个学生随机抽取的习题间尽可能小的相似率,这一基数有必要取得稍微大一些。
为此,在随机抽取题数为50时,以100为基数,已经可以在较大程度上保证前述目的的实现。
为了保证习题不被恶意修改,题库应采取适当的保护措施,以避免不被授权的人在接触到题库的任何时刻都不能够有机会修改题库中的习题和程序代码,并且也不能够轻松地复制出习题以进行不被授权的传播。
为了减少教师的工作量,题库应具有自动评分和班级成绩自动汇总功能。
二、Excel题库的具体实现
上述系统完全可以在Excel中通过由宏录制功能产生的VBA代码来简单地实现,具体包括如下方面。
1.题的输入方式
选择题包括题干、选项和答案,它们在Excel工作表中的输入方式为“一行一题”,由随机数、原始序号、题干、选项(四个)、答案共8个部分(列)组成,每一部分占用一个单元格。
判断题包括随机数、原始序号、题干、答案共四部分。
选择题和判断题在不同的工作表中单独输入。
它们的输入顺序建议按相关教材上相应知识点的教学顺序输入,这就是题库中题目的原始顺序,这样做可以方便今后的修改、增删。
2.随机抽题
在程序中的具体算法是,利用For-Next语句查询题目总数:
指定一个比较大的循环数(取肯定大于每章题目数的一个值,比如1000),逐个判断题目序号单元格是否为空(“”),如果为空,中断循环,则当前循环数减去1即为题目数。
经过转换、去空格、替换等字符处理之后,作为扩展区域排序语句中的输入值(此排序代码可由宏录制功能产生)。
必须指出的是,Excel软件本身具有自动重算选项,只要某一单元格发生改变,软件即自动对所有单元格的公式进行重算,当然此功能无需在自编制的宏代码中实现。
题库在运行过程中,总会有单元格发生改变,随机数也会自动重算而与上一次操作时不同。
因此可实现不同的学生、不同的时候抽出的题目都是不一样的,都是随机的。
完成了题目的随机排列之后,再用一段代码将随机排列后的前50题复制到另外一个工作表区“作业完成区”。
在复制时,只复制题目和选项。
也可灵活设置所随机抽取题目数,只需将题目数进行字符串处理后作为复制代码的输入值即可实现。
至此,完成了随机抽题功能。
3.完成作业
在“作业完成区”表格里,已经预先设置好相关格式,指定好题的每一部分的位置。
因此学生在做作业时,只需要在指定的答案位置(相应的单元格)里按要求(除了指定的答案字符外)输入答案即可。
学生完成作业之后,有必要设置一段检查确认程序。
它的功能就是检查学生输入的答案字符的合法性和学生是否全部输入完答案,检查无误后要求学生确认是否提交答案。
这一段代码基本上使用If-Then-Else条件语句完成。
具体算法是:
利用一循环语句遍历50个题的答案单元格,穷举判断答案字符是否合法(包括是否输入答案),如果遍历中发现非法答案输入,即用Exit语句强行退出该段子程序,并用Msgbox函数弹出相关提示信息“答案输入不正确,或者题未做完!
请检查!
检查修正后请重新点击提交!
”。
答案全部输入无误后(条件判断语句)仍用Msgbox函数弹出确认信息,学生确认提交答案后利用宏录制产生的代码实现作业区的不可修改保护,以防止误操作修改答案。
同时可以计算作业成绩。
4.成绩计算与汇总
学生在输入完答案并确认提交之后,即可计算成绩。
而成绩汇总则需要学生将完成的作业文件传送给教师,在教师的本地计算机上完成。
在发给学生的题目文件里,包含题库表格和作业区表格。
在题库表格里是包含答案的,但该表格在发给学生的版本里被密码隐藏起来。
在题库表格里的题被随机排序并将前50题复制到作
业区表格中直至学生完成作业并提交,这一过程题库表格中题目的顺序并不发生变化,因此成绩的判定可以通过简单的一一对比进行,而无需再编写或录制宏代码来实现了。
单独建立一张工作表,由于题库和作业的答案都是放在一列中的,因此在成绩判定表格里也任意选择一列,在其单元格中输入If函数,对题库表格中与作业区表格中对应位置(相同题目)题的答案是否相同进行判断,如果相同则得1分,不同则得0分。
最后对所有50个题的得分进行求和,换算成百分制成绩。
成绩汇总是该简易题库中非常重要的一项功能。
它的实现本身其实很简单,不需要特意编写或录制宏代码。
在Excel单元格中,可以通过输入适当的公式实现不同Excel文件之间的数据传递。
方法是打开成绩汇总的Excel文件和需要从其中读出数据的Excel文件(学生发送过来的作业文件),在成绩汇总的某单元格中输入“=”,然后单击作业文件中相应的单元格(学生作业文件中“成绩判定”表格里的成绩求和所在单元格),即可将该作业文件中的成绩数据输入到成绩汇总文件中。
然而,必须要注意的是,我们要处理的作业文件数不是几份,而是几十乃至数百份,如果按照上述的过程去一一处理的话,工作量相当大,因此必须要借助于宏代码实现这一重复过程。
首先录制这一完整过程的宏代码,然后将此宏代码放入一个二重For-Next循环语句中进行适当修改。
外循环是列循环,即作业的各章循环;内循环是学生循环,即在某一章的学生作业文件中进行循环。
灵活应用
VBA的字符串处理函数,不断修改公式中的路径字符串,实现各章各学生作业成绩数据传递公式的自动输入,为更清楚地说明这一过程,现将代码列举如下:
Subtest1()
//此为宏录制产生的公式字符串样例,此处略
Fori=5To13//此为列循环
Cells(1,i+5).Select//选择章号单元格
dijizhang1=Str(ActiveCell.Value)
//取章号单元格内的章号,并转换成章号字符串dijizhang1=Trim(dijizhang1)//去除空格
dijizhang2="\"&dijizhang1&"\"
//形成相应的章号字符串字段
zhangbiaozhi="="&dijizhang1
Forj=1To38
//有38个学生,每列循环38次,此为行循环Cells(j+1,3).Select//选择学号单元格
xuehao=Str(ActiveCell.Value)
//取学号单元格内的学号,并转换成字符串
xuehao=Trim(xuehao)
//去除学号字符串内的空格
pathl=Replace(x,"\4\",dijizhang2)
//修正文件路径字符串内的章号
path1=Replace(path1,"=4",zhangbiaozhi)
//修正章标识
path2=Replace(path1,"200810902063",xuehao)
//修正文件路径字符串内的学号
Cells(j+1,i+5).Select
//选择成绩接收单元格
ActiveCell.FormulaR1C1=path2
//给成绩接收单元格赋于公式
Nextj
Nexti
EndSub
需要指出的是,为防止学生发错作业文件,在输入公式的时候应用了If函数,判断隐藏于题目文件中的章标识是否正确,正确则传递成绩,错误则给出错误标识“-1”。
另外,如果学生
的作业文件不存在,在运行此段宏代码时会弹出新建文件对话框,此时点击“取消”即可,但此时相应的单元格内会出现错误标识“!
REF。
在以后相应的作业文件存在后,再次打开成绩汇总文件时选择更新,成绩自动从作业文件中输入进来,不再出现错误标识。
5.安全保护
题库内容都是笔者根据教学内容编写出来的,体现出了笔者在教学上的思想、观点,具有独创性。
因此,为了防止学生在使用过程中可能会发生的无意或有意的XX的传播,题库系统必须考虑安全保护方面的措施。
另外,该题库也作为考试题源之一,也需要考虑预防有些学生可能会将其作为作弊的资源。
本题库系统具体的安全保护措施体现在如下几方面。
(1)深度隐藏题库表格如前所述,题库表格其实是包含在发给学生的作业文件里的,这是为了随机抽题和判定成绩而设计的。
学生除了随机抽到了50题外,其余的题必须对学生隐藏。
在Excel里表格的“隐藏”有可见、一般隐藏和深度隐藏三个级别。
一般隐藏在使用菜单栏里的取消隐藏命令后可以再显示出来(除非该工作薄加以保护),而深度隐藏则无法显示,必须在工作薄和表格未加保护的情况下,进入VBA代码窗口里更改表格的“Visible”属性(0、-1、-2分别对应着可见、一般隐藏、深度隐藏),而这则要求具有较高的对Excel的熟练使用能力。
并且,为了增加安全性,打开代码窗口也设置了相应的密码。
(2)题库系统很多
功能都是由宏代码实现的
(3)基本保护措施
(4)安全保护的强化措施为了避免学生利用Excel软件提供的菜单项、功能按钮或者其它软件功能作出一些题库制作者预想不到的与完成作业无关的处理,通过宏代码完成下述强化保护措施:
取消所有菜单项和功能按钮的功能,使它们在作业文件里对学生不可见,而仅仅是一张足够学生
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Excel 制作 简易 平时 练习 作业 系统