《Excel进阶学习系统网络版》的内容设计方案与_第1页
《Excel进阶学习系统网络版》的内容设计方案与_第2页
《Excel进阶学习系统网络版》的内容设计方案与_第3页
《Excel进阶学习系统网络版》的内容设计方案与_第4页
《Excel进阶学习系统网络版》的内容设计方案与_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信息技术教学软件的设计思路与技术实现奉化中学王丰【摘要】新课程理念下的信息技术教学十分注意对同学学习的评价。评价也是在教学各环节中必不行少的一环,它的目的是检查和促进教与学.因此,在日常教学中,便利、科学、有效的评价也显得尤为重要。本文以2006年会考导引中五套试卷为例,介绍了开发具有评价功能的训练复习型教学软件的设计思路,以及如何使用VB6.0来简略实现试卷的抽取、各类试题的批改、成果的上传和成果的导出统计等功能。【关键词】评价教学软件VB6.0批改程序教学软件是一种依据教学目标设计、表现特定的教学内容、反映肯定教学策略的计算机教学程序。它可以用来存储、传递和处理教学信息,能让同学进行交互操作,并对同学的学习做出评价的教学媒体。依据多媒体教学软件的内容与作用的不同,可以将多媒体教学软件分为如下几种类型:课堂演示型、同学自主学习型、模拟实验型、训练复习型、教学游戏型、资料工具型.由于我在平常教学中编写的软件基本上都是以试题的形式消灭,主要属于同学自主学习型和训练复习型,所以下面我就简洁谈谈在开发这类教学软件过程中的设计思路和技术实现。一、需求分析信息技术不同于其他学科,同学的学习过程和很多的实践活动都是在计算机上完成的,而且都以操作为主。那么,作为老师,我们怎样科学有效的评价同学?怎样随时了解同学的学习情况?作为同学,怎样进行自主学习、自我测试?因此,开发具有试题批改和成果反馈功能的教学软件是十分必要的。1、对老师来说,减轻了老师工作量,便利了老师对同学学习情况的了解.信息技术学科的试题主要是以操作题为主。而在平常的课堂教学中,老师也往往都会布置相应的练习供同学测试以便了解同学的学习情况。所以老师对作业的批改和成果的统计分析是必不行少的,面对大量的操作类试题,老师一个个打开进行查看或手动批改,再统计分析成果,这样不仅效率低,而且长此以往,势必会给老师增加相当多的工作量。所以让计算机自动批改并统计成果,可以减轻老师的工作量,让老师把时间和精力都用在课堂教学以及提高教学效果上。2、对同学来说,有利于同学自主学习,并激发了学习爱好.同学往往都有重视成果的心理,都想得满分。所以,使用带有批改和成果上传功能的教学软件容易激发同学的学习爱好和提高学习的乐观性.他们在听讲时都会全身心投入,做练习时有不懂的地方或不会做的题目都会乐观的问老师问同学。就算有个别不认真学习的同学,也会很快受到环境的影响而融入其中。想着为什么这儿会丢分,哪儿为什么操作得不对,并乐此不疲。而且,如今大部分同学家里都有电脑,所以同学除了在学校学习外,他们还可以在家里进行自主学习、自我测试。二、总体设计软件常见的结构模式有:C/S结构,即Client/Server(客户机/服务器)结构。B/S结构,即Browser/Server(扫瞄器/服务器)结构.C/S能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器.客户端响应速度快。主要适用于局域网环境,客户端都要安装客户端软件,应用程序系统扩展维护简洁。客户端需要安装专用的客户端软件.首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本格外高.B/S可以在任何地方进行操作而不用安装任何专门的软件。客户端只需标准的扫瞄器。系统的扩展格外容易,只要能上网,再由系统管理员安排一个用户名和密码,就可以使用了。采纳Internet/Intranet技术,适用于广域网环境。客户端零维护。软件采纳哪种结构,一般依据内容和功能来选择。这里我以2006年编写的会考导引练习软件作为例子。本软件采纳C/S模式,软件结构如图所示:主界面主界面各部分试题试卷内容答题批改收卷程序接收成绩保存成绩上传成绩输入姓名、服务器IP学生机教师机选择试卷统计分析开发工具采纳VisualBasic6.0(简称VB)。一是由于VB适合快速开发,相对于VC等开发软件更易于上手,而且开发的效率高、周期短。二是由于word、excel等office软件里的宏都是VBA,而VBA是VB的一个子集,两者可以很好的结合.而且利用宏可以帮助我们快速有效的写出批改程序.三、简略设计1.界面设计与文件结构由于VB6毕竟是win98时代的产物,所以在界面设计上,VB6的窗体和控件都是win98风格,不美观、缺乏时代感。虽然用vb2003/vb2005来开发可以做出XP风格的界面,但生成的应用程序都需要。netframework平台,脱离了这个环境则无法运行,不适合在学校机房使用。所以,在使用VB6开发时应尽可能自己编写一些用户控件来设计界面(当然,如果只是以功能为主,那么可以不考虑这些)。在我编写的这些软件里,为了使用界面更加清爽时尚,能让同学眼前一亮,所以整个软件的界面颜色、按钮样式均仿照QQ窗口(界面风格如图所示)。采纳了网上免费的QQFrom和QQButton这两个用户控件,使用方法和VB里的From、Button控件一样.ﻩ (图一)(图二)界面设计:依据上面的软件结构图设计好界面。(对于功能相像的控件可以使用控件数组,以提高程序开发效率。)文件结构:设计好每一套试卷的试题,并建立好相应的名目。题目少可以用文本文件来存储。为保证文本文件中信息的平安性,防止同学打开直接查看,可以转变文本文件的扩展名、转变文本文件中答案的挨次、或对答案进行加密等。题目多可以用Access数据库来存储。这样只要给数据库设置个密码就可以保证题库的平安性了.2.抽题设计好界面和题目后就可以编写各功能模块的代码了。(下面主要介绍操作类试题的抽取、批改,选择题部分较简洁,在此不作商量,网上也有很多的选择题实例可供大家参考)当同学选择某一套试卷后,就要执行抽题操作.抽题也就是依据同学的选择将软件名目下的题目复制到考试文件夹下.主要是对文件和文件夹进行复制。对文件和文件夹进行操作需要使用FSO(FileSystemObject)对象模型,FSO的功能格外强大,它能创建、转变、移动、删除文件/文件夹;能检测文件/文件夹是否存在,文件/文件夹的路径;能猎取文件/文件夹的信息,如:名称、创建日期等.要使用FSO,首先必须在工程中引用MicrosoftScriptingRuntime。抽题主要使用了FSO复制文件和复制文件夹这两个方法,及CopyFile和CopyFolder。部分代码如下:PublicEx(5)AsString'定义一个字符串数组用于存放试卷名PublicfsoAsNewFileSystemObject'定义一个fso对象PrivateSubForm_Load()'窗体显示时初始化Ex()数组中的值Ex(1)=”试卷一"Ex(2)="试卷二"Ex(3)="试卷三”Ex(4)="试卷四"Ex(5)="试卷五"EndSub由于每一个抽题按钮的功能都是类似的,唯一不同的就是所抽取的试题名称不一样,所以可以将抽题按钮做成按钮控件数组,以提高程序开发效率,也便于以后的源程序维护.这样,将试题的文件名用数组变量来表示,就可以用一段程序来实现全部按钮的抽题功能。PrivateSubButton1_Click(IndexAsInteger)‘当点击某一套的按钮后执行抽题操作fso.CreateFolder(“c:\考生文件夹”)‘在c盘下建立考生文件夹,路径和名目名可自已设定。fso.CopyFileApp.Path&“\xxjshk\excel\"&Ex(index)&“。xls”,“C:\考生文件夹\”&Ex(index)&“.xls”‘复制excel试题文件fso。CopyFolderApp。Path&"\xxjshk\WebDo",“C:\考生文件夹\WebDo”‘复制网页试题文件夹EndSub上述程度中主要以复制excel试题和网页试题为例,复制其它试题方法类似.软件中还有一些其它地方也会用到抽题操作。连续答题:比如同学在练习的过程中不当心关闭了软件,那么下次进入之后当然盼望连续答题而不是重新答题。所以这种情况需要推断考生文件夹中试题是否存在,存在则不抽题,不存在则抽题。推断文件或文件夹是否存在通常使用fso的FileExists()和FolderExists()方法。重做:及从考生文件夹中删除要重做的试题,然后再抽题。删除文件或文件夹主要使用fso的DeleteFile()和DeleteFolder()方法。3。批改功能的实现ﻩ同学做完练习题后,需要点击“批改”按钮来反馈成果。信息技术教学中常见的操作试题类型有:windows操作题、word操作题、Excel操作题、Internet操作题、Frontpage操作题。下面分别介绍每一类操作题的批改原理.Windows操作题的批改没有编写过练习软件的老师可能会觉得很难,我们怎么知道同学有没有对文件执行新建、复制、剪切等操作呢?其实我们根本没必要去知道,我们不行能去写大量的代码来截取捕获鼠标和键盘大事,看同学有没有执行这些操作,这样有些小题大做了.其实windows操作题的批改格外的简洁,原理如下:[新建、删除、重命名、复制、剪切、创建快捷方式]就是推断该文件或文件夹是否存在。新建文件或文件夹在该名目下存在删除文件或文件夹在该名目下不存在重命名改名前的文件或文件夹在该名目下不存在,并且改名后的存在复制文件或文件夹在源名目下存在,并且在目的名目下也存在剪切文件或文件夹在源名目下不存在,并且在目的名目下存在推断文件夹是否存在:fso.FolderExists推断文件是否存在:fso。FileExists例如:Iffso.FolderExists(”C:\试卷二\WinWork\Flower\Bmp")=TrueThenscore=score+5Iffso.FileExists("C:\试卷一\WinWork\Noip\a.pas”)=TrueThenscore=score+5[设置墙纸、屏保]主要就是读取注册表中相关的键值。VB读取注册表:可以使用API函数RegOpenKeyEx、RegQueryValueEx、RegCloseKey来对注册表进行打开、查询等操作,并通过读取相对应的键值来推断墙纸、屏保的设置.墙纸在注册表中的路径为:HKEY_CURRENT_USER\ControlPanel\Desktop\Wallpaper屏保在注册表中的路径为:HKEY_CURRENT_USER\ControlPanel\Desktop\SCRNSAVE。EXEExcel/Word操作题的批改Excel和Word同属于OFFICE,所以它们的批改方法也类似,这里以Excel为例。对于Excel练习题的批改其实就是VB在后台打开Excel工作表,并使用内置的VBA函数对Excel工作表中的对象进行推断。为了能在VB中调用Excel对象,首先必须在VB工程中引用“MicrosoftExcel11。0ObjectLibrary”(如果是word,则引用“Microsoftword11.0ObjectLibrary”)。一般可以通过如下的挨次来对EXCEL文件进行批改:打开Excel打开Excel设置当前工作表选择一个单元格或区域进行判断关闭Excel比如要打开C盘下“练习1.xls”:Workbooks.Open("C:\练习1.xls")比如设置Sheet1为当前活动工作表:Sheets("Sheet1").Activate单元格的表示:Range(“列号行号”)例:Range("A1")区域的表示:Range(“列号行号:列号行号")例:Range("A1:D5")选择一个单元格或区域:select例:Range("A1:D5").Select,则以后就可以用Selection来表示Range("A1:D5")。Workbooks.Close例如:推断C:\练习1.xls文件Sheet1工作表中的A1:D5单元格中的文字是否为宋体:Workbooks。Open(”C:\练习1。xls")Sheets(”Sheet1”).ActivateRange("A1:D5")。SelectIfSelection。Font.Name=”宋体"Thenscore=score+5了解了工作表、单元格、区域的表示方式后,我们就能写出EXCEL中各种常见操作的批改程序了。可是Excel中的对象以及它们的方法、属性都格外多,我们怎能都记住呢?其实我们完全没必要都登记来,我们可以借助对象扫瞄器来查看Excel对象的方法、属性(在VB中选择菜单[视图][对象扫瞄器]Excel库).这样,以后要用到哪个属性或者方法只需要到对象扫瞄器中查找就可以了。下面再介绍一下EXCEL里常见的两个操作(公式/函数、排序)的批改方法。公式/函数[]中的数值为相对当前单元格的位置(R:行的相对位置)上[]中的数值为相对当前单元格的位置(R:行的相对位置)上–,下+(C:列的相对位置)左–,右+单元格公式/函数的表示:Range(列行).FormulaR1C1=公式/函数公式/函数中单元格的表示:R[]C[]例如:下面表格中F3单元格的求总分公式和函数可表示为:Range(“F3").FormulaR1C1="=SUM(RC[-4]:RC[-1])"Range(“F3").FormulaR1C1="=SUM(RC[-4]:RC[-1])"Range(“F3").FormulaR1C1="=RC[-4]+RC[-3]+RC[-2]+RC[-1]"了解了F3单元格的公式和函数的表示后,其他几个单元格是否也要一一列出呢?其实可以直接用一个for循环来实现:Fori=3To7IfRange(“F"&i).FormulaR1C1=”=SUM(RC[—4]:RC[-1])"Thenscore=score+1Next排序:也就是将相邻的两个单元格进行两两比较。例:将上面的同学成果表按语文成果从高到低排序:DimflagAsBooleanFlag=TrueFori=3To6IfVal(Range(“B"&i).Text)<Val(Range(“B”&i+1).Text)ThenFlag=FalseExitForEndIfNextIfFlag=TrueThenscore=score+5[小技巧]EXCEL里还有很多的操作,比如:数据筛选、分类汇总、建立图表等,这些操作的批改程序也相对简洁一些,我们不会写怎么办呢?其实没关系,我们可以利用EXCEL的宏来帮助我们快速的写出批改程序。首先打开要写批改程序的EXCEL文件,并录制一个新宏,然后把全部的试题做完,完成后停止录制并查看生成的宏。这时我们会发现,我们做题的过程已全部被录制到宏里面了,现在我们只需要把宏里自动生成的VBA语句稍作修改就能直接复制到VB程序中使用.对于office里的其它的软件(比如:Word、PowerPoint)的批改都可以使用这种方法。IE操作题的批改[下载图片、文字、文件]方法与windows操作题中文件操作的推断类似,也就是推断这些图片、文本等文件在该名目下是否存在.为使批改更加精确,也为了防止同学在做题时投机取巧,可以在此基础上再推断该图片的大小和文本文件里的文字内容,从而推断出这些图片和文本文件是否来自该网页。[设置IE主页、历史记录天数]通过读取注册表里键值来推断,方法和屏保、墙纸的推断类似。例:推断IE主页是否是“www.baidu.com”就是推断HKEY_CURRENT_USER\Software\Microsoft\InternetExplorer\Main\StartPage的键值是否是“www.baidu.com"。FrontPage网页制作操作题的批改要对网页进行批改,首先必须了解网页文件,网页到底是什么文件?通过查看源文件我们会发现网页其实就是文本文件,只不过里面的内容都是用html标记来显示的。同学对网页的操作都会反映在html源文件里.所以要批改网页文件,只要像读取文本文件那样读取整个网页源文件,然后分析里面的html代码就可以了。读取文件既可以用传统的I/O语句也可以用FSO对象模型来读取,这里以FSO为例,例如要读取C:\试卷一\WebDo\index.htm,则可以用下列程序:p="c:\试卷一\WebDo\index.htm”Setfil=fso。GetFile(p)Setts=fil.OpenAsTextStream(ForReading)fpstr=ts.ReadAllts.Close这样就可以把整个网页文件读取,而要推断网页源文件里的某一步操作,则必须定位到此操作所对应的这段html代码。定位通常要用到字符串查找函数InStr。例如:推断表格边框粗细是否为0。Fpstr1="border="”0”""n1=InStr(1,fpstr,"<table”,1)n2=InStr(1,fpstr,”<tr",1)fp1=Mid$(fpstr,n1,n2—n1)IfInStr(1,fp1,fpstr1,1)Thenscore=score+5但是,如果我们要查找的字符在html中有多个,我们该怎样定位呢?通常可以使用下列两种方法来定位。[逐步求精法]通过分析网页源文件,逐步缩小定位的范围并读取该操作所对应的部分html代码。例如:推断是否在表格的第3行第1列的单元格里插入图片hu.jpg(由于网页源文件里有很多”<tr"、"〈td”标记,所以可以通过一个for循环来定位到第3行第1列单元格).n=1Fori=1To3n=InStr(n+4,fpstr,”〈tr”,1)Nextn1=InStr(n,fpstr,"<td”,1)n2=InStr(n,fpstr,"</td〉",1)fp3=Mid$(fpstr,n,n2-n1+5)fpstr1=”<img"fpstr2="hu.jpg”IfInStr(1,fp3,fpstr1,1)AndInStr(1,fp3,fpstr2,1)Thenscore=score+5ﻩ当网页中的内容很多或页面设计很简洁时,那么使用逐步求精法会显得较繁琐。这时我们可以使用注释法来进行html定位。[注释法]由于在网页源文件里添加注释不会对网页产生任何影响,所以我们可以在需要定位的html代码前后加上一段注释,然后通过读取注释来定位(html中的注释符为〈!—--—>).如前面的例子:推断是否在表格的第3行第1列的单元格里插入图片hu。jpg。首先可以在第3行第1列的单元格所对应的html代码前后随便加上一些注释,假设分别加上〈!——注释A-—>和<!——注释B--〉n1=InStr(1,fpstr,”<!--注释A-—>",1)n2=InStr(1,fpstr,"〈!—-注释B——〉”,1)fp3=Mid$(fpstr,n1,n2-n1)fpstr1="〈img"IfInStr(1,fp3,fpstr1,1)AndInStr(1,fp3,fpstr2,1)Thenscore=score+5ﻩ通过这个例子我们可以看出,使用注释法可以快速精确的定位,比逐步求精法便利且效率高。但同学在操作网页的过程中有可能会在不知情的情况下将注释删掉从而导致批改程序找不到注释而无法正确批改。两种方法各有利弊,可依据网页实际情况来选择相应的方法.试题批改是整个教学软件的核心内容,编写批改程序的工作量也是相当大的。所以,写好的程序必须反复调试,而且由于同学对一道题目可能有不同的做法,所以还必须对不同的做法分别写出相对应的批改程序,充分考虑到全部可能的情况。4.成果上传功能的实现ﻩ当同学点击上传成果按钮时,可以将同学气的计算机名、IP地址、同学姓名、分数这四个信息发送到老师机.要实现局域网中数据通信,需要用到Winsock控件。Winsock是windows供应的网络编程接口,它供应了基于TCP/IP(传输掌握协议/网间协议)协议的接口实现方法。TCP/IP协议供应两种通信方式:TCP方式和UDP方式。TCP是一种面对连接的服务,它在两个主机之间建立连接,供应双向、有序且无重复的数据流服务,以及流量掌握、差错检测和纠错等服务,保证数据的牢靠传输.UDP是一种双向的无连接数据服务,它把数据发送出去但并不进行差错掌握和检查,所以不能保证数据的牢靠性,因而一般只用于少量数据的传输.采纳哪种协议,通常可以考虑以下几点:在收发数据过程中是否需要对方确认或应答?数据是否很多?数据传输质量要求是否很高?数据发送是间歇的还是一次会话?因考虑到流量小、资源占用少,可以采纳UDP协议。在窗体上添加一个Winsock控件(Winsock1),在其属性中设置为UDP协议,并对Winsock1的本地端口、远程主机端口、远程主机IP地址进行初始化。为什么要设置IP和端口号呢?由于通过网络进行数据通信,需要用地址来标识网络中的主机,这样才能保证数据正确的发送到主机。TCP/IP协议使用IP地址作为网络中的标识,从而实现通过IP地址建立彼此之间的联系。通常情况下,由于每台主机上运行不止一个应用程序,所以为使应用程序间建立连接,还需要一个地址标识,也就是端口号。在TCP/IP协议中使用端口来作为主机上运行的应用程序的标识号。因此,TCP/IP协议中一个有效的网络地址包括IP地址和端口地址。如图:IP地址IP地址端口地址标识主机标识主机上的应用程序Winsock1.Protocol=sckUDPProtocolWinsock1。RemoteHost=“192.168.0.1”Winsock1.RemotePort=4022其中本地和远程主机端口可自由设定(1-65535),但不要使用一些系统默认的端口(比如:80(http),21(FTP),110(电子邮件POP3))和常用端口(比如:QQ谈天软件端口8000、8080等),以免冲突。使用Winsock的SendData方法即可实现数据发送.上传的各个数据之间用#号来连接,那么服务器端程序接收到这些数据后就可以按#来分割出每个信息。sendtxt=Winsock1.LocalIP&"#"&Winsock1。LocalHostName&"#"&UserName&”#"&UserScoreWinsock1。SendDatasendtxt5.老师机收卷程序的实现 在VB中新建一工程,并设计好用来显示同学成果的界面。并添加一个Winsock控件(Winsock1),设置其传输协议为UDP协议,并设置Winsock1的本地端口(此处的本地端口应和同学端中的Winsock1的远程主机端口全都)。Winsock1.Protocol=sckUDPProtocolWinsock1.LocalPort=4022Winsock1。Bind4022并定义全局变量数组用于存放接受到的消息。总共能接受200人的成果。(数组长度可自定)Privateip_str(200)AsStringPrivatename_str(200)AsStringPrivateusername_str(200)AsStringPrivatescore_str(200)AsStringPrivateiAsInteger当有消息来临时,会触发Winsock1_DataArrival大事。在Winsock1_DataArrival大事里输入如下代码用来接收并显示相关的信息:同学气器名、IP、姓名、分数(效果如图三).Winsock1。GetDatarec,vbStringstinfo=Split(rec,”#”)text1.text=stinfo(0)+stinfo(1)+stinfo(2)+stinfo(3)+Chr(10)+Chr(13)i=i+1ip_str(i)=stinfo(0)name_str(i)=stinfo(1)username_str(i)=stinfo(2)score_str(i)=stinfo(3)(图三)老师端程序之所

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论