VB基础教育

2024-08-15

VB基础教育(通用12篇)

VB基础教育 篇1

摘要:计算机串口编程在通信软件中有着十分广泛的应用,如电话、传真、视频和控制等。很多行业涉及远程通信、自动控制的情况下,通常会应用到串口通信技术。虽然目前串口编程应用很广泛,但对于从事串口编程初学者来说经常会觉得无从下手,对串口通信的原理不了解。本文主要介绍了串口作用、基本概念、编码方式、管脚定义、管脚接法,从这些基本知识着手实现串口编程,让从事开发串口编程的初学者从串口通讯原理到具体编程有一个清楚的了解。

关键词:串口,通讯,连线,编程

0 引言

串口通信对单片机而言意义重大,不但可以实现将单片机的数据传输到电脑端,而且也能实现电脑对单片机的控制,主要解决PC机和单片机之间的控制和监控。串口是计算机上一种非常通用的通信方式,大多数计算机包含两个基于RS-232的串口。串口同时也是仪器、仪表等设备通用的通信协议。串口按位(bit)发送和接收字节。尽管按字节(byte)的通信慢,但是串口可以使用一根线来实现数据的发送和接收,它很简单并且能够实现远距离通信。对于串口而言,通信距离可达1200米。串口发送和接收数据帧是建立在单片机设备通信协议基础上的,按照硬件开发者定义好的握手协议进行通信。

1 串口通信的基本概念

要实现串口编程首先要了解串口的一些基本概念,每种单片机通信协议都会标注波特率、数据位、停止位、奇偶校验位和编码方式。这些参数定义如下:

(1)波特率:一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特率表示每秒钟发送或接收300个bit。但是波特率和距离成反比。高波特率常常用于距离很近的仪器间的通信。

(2)数据位:衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。每个包是指一个字节,包括开始/停止位、数据位和奇偶校验位。

(3)停止位:用于表示单个包的最后一位。典型的值为1、1.5和2。由于数据是在传输线上定时的,并且每一个设备有自己的时钟,很可能在通信中两台设备间出现小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。

(4)奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶数个或者奇数个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个;如果是奇校验,校验位为1,这样就有3个逻辑高位。高位和低位不真正地检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据不同步。

(5)编码:单片机编码方式有很多种,比较常见的编码有16进制编码、BCD码、ASCII码、8421码等,至于单片机使用哪种编码要看硬件设计者考虑哪种编码表示更合适、更简单。普通单片机应用最多的就是16进制编码。因为串口通信是按位(bit)发送和接收字节,所以一般需要把发送的协议帧命令转为字节或者接收到的字节转换为单片机编码方式,每种编码之间的转换都可以通过函数实现。

2 串口通信基本连线方法

目前较为常用的串口有9针串口(DB9)和25针串口(DB25),通信距离较近时(<12m),可以用电缆线直接连接标准RS-232端口(RS-422,RS-485较远);若距离较远,需附加调制解调器(MODEM)。最为简单且常用的是三线制接法,即地、接收数据和发送数据三脚,本文只涉及最基本的接法,即直接用RS-232相连。RS-232串口常用的有DB9和DB25两种(如图一A、B所示)。

2.1 DB9和DB25的常用信号脚说明

2.2 RS-232串口通信接线方法(三线制)

串口传输数据只要有接收数据针脚和发送针脚就能实现,同一个串口的接收脚和发送脚直接用线相连,对9针串口和25针串口,均是2与3直接相连。如图三所示。

2.3 串口调试中要注意的几点

串口调试时,安装一个好用的调试工具,如串口调试助手、串口精灵等,有事半功倍之效果;强烈建议不要带电插拨串口,插拨时至少有一端是断电的,否则串口易损坏。

3 串口编程实现

了解以上信息后,基本上就可以开发应用程序与单片机进行控制或者监控了。要对单片机进行控制或者监控,作为一个程序员,首先要看懂硬件设计者设计的PC机(以下简称上位机)和单片机(以下简称下位机)硬件通信协议。通信的逻辑过程:上位机和下位机是主从关系,也就是说上位机主动发命令给下位机,下位机回应上位机;下位机不能主动向上位机发送数据,它只是上位机命令的执行者。上位机每发一个命令,下位机都必须有一个应答或者返回数据帧,否则应该相隔一段时间再次重发。也就是说上位机每隔一定时间发一个命令协议帧给下位机,下位机根据协议帧格式(硬件设计者设计好的帧格式)识别,如果收到的帧符合协议帧格式,下位机就会返回一个协议帧给上位机或者执行命令,上位机根据下位机返回的数据帧进行控制和监控。注意上位机发送的都是一个一个字节,以字节为单位,在VB里为Byte,返回的帧格式也是以字节为单位的。下面以VB串口控件MSComm为例说明:

现有设备一台,使用串口与计算机进行通讯。编写VB程序来访问串口,达到读取该设备上显示的数据的目的。该设备输出口为RS-232-C标准接口,串口参数设置为9600bps,无奇偶校验,8个数据位,1个停止位。在VB中与串口通讯需要引入MSComm(Microsoft Comm Control)串口通讯控件,控件简称:MSC。常用串口属性如下:

(a)Commport:设置通讯所占用的串口号。如设成1(默认值),表示对Com1进行操作。

(b)Setting:串口通讯的相关参数。包括串口通讯的比特率,奇偶校验,数据位长度、停止位等。其默认值是“9600,N,8,1”,表示串口比特率是9600bit/s,不作奇偶校验,8位数据位,1个停止位。

(c)Portopen:设置串口状态,值为True时打开串口,值为False时关闭串口。

(d)Input:从输入寄存器读取数据,返回值为从串口读取的数据内容,同时输入寄存器将被清空。

(e)Ouput:发送数据到输出寄存器。

(f)In Buffer Count:设置输入寄存器所存储的字符数。当将其值设为0时,输入寄存器将被清空。

(g)Input Mode:设置从输入寄存器中读取数据的形式。若值为0,表示以文本形式读取;值为1,则表示以二进制形式读取。

(h)Out Buffer Count:设置输出寄存器所存储的字符数。当将其值设为0时,输出寄存器将被清空。

(i)RThreshold:设置在MSComm控件设置Comm Event属性为com Ev Receive并产生On Comm事件之前要接受的字符数。

(j)Comm Event属性:返回最近的通讯事件或错误。通过对具体属性值的查询,我们就可以获得通讯事件和通讯错误的完整信息。当其值是com Ev Receive时,表示接收到数据。

3.1 初始代码如下:

3.2 单击按钮触发事件,发送命令读取下位机数据

3.3 串口接收到一定字节后触发On Comm事件

4 结束语

本文主要介绍了串口作用、基本概念、编码方式、管脚定义、管脚接法。从这些基本知识点实现VB串口编程,让从事开发VB串口编程初学者对串口管脚定义、线路铺设和具体的编程实现有一个清楚的了解。当然串口通讯知识范围很广,涉及面很多,比如数据编码、数据校验、通讯协议等等,而本人主要面对对象是初级程序开发人员,其他深层的知识点作为将来的VB程序开发人员需深入了解。

参考文献

[1]求是科技,等.Visual Basic串口通信工程开发实例导航[M].北京:人民邮电出版社,2003.

[2]范逸之,陈立元.Visual Basic与RS-232串行通信控制[M].北京:中国青年出版社,2002.

[3]张辉,等.Visual Basic串口通信及编程实例[M].北京:化学工业出版社,2011.

VB基础教育 篇2

(一)答案

客观题部分:

选择题(每题1分,共15题)

参考答案:

1D,2D,3C,4A,5C

6B,7D,8A,9A,10C

11B,12B,13C,14D,15D

主观题部分:

编程题(每题15分,共1题)

参考答案:

Private Sub Command1_ Click()

Dim x As Single

Dim amax As Single,amin As Singlex=InputBox(“请输入分数”)

amax=x amin=x Do While x>=0If x> amax Then

amax=x

End If

IF x

amin=x

End If

x=InputBox(“请输入分数”)

Loop

Print amax , amin

基于VB中多态技术的应用 篇3

关键词:多态;打印;预览

中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)16-31074-02

The Application of Polymorphism in Visual Basic Programming Language

QIAN Rong-hua

(Yangzhou Polytechnic Collage, Yangzhou 225009, China)

Abstract:This paper mainly discusses how to use technology of polymorphism to achievethe Print and print preview function in Visual Basic programming language.

Key words:polymorphism; printing; printer preview

1 多态

多态意味着许多类可以提供同样的属性或者方法,而且调用者在调用这些属性或方法之前,不必知道某个对象属于什么类。大多数面向对象的语言,都是通过继承来提供多态的;Visual Basic不用继承来提供多态。Visual Basic是通过多重ActiveX接口来提供多态的。在构成ActiveX规格说明基础的部件设计模型(COM)中,多重接口允许软件部件系统在不扩散现有代码的情况下进行展开。

一个接口是一组相关的属性和方法,不包含实现的任何代码,Vb中建立一个抽象类来实现。抽象类不是用来创建对象的—其用途是为添加其它类中的接口提供模板。在其它相关的类中来实现这些属性和方法,以实现对对象的前期绑定。

接口允许前期绑定。当 Visual Basic 在编译时明确知道正在调用什么样的接口时,它将检查一下类型库,看看那个接口是否支持该方法。然后 Visual Basic 就可以用一张虚拟函数表 (vtable),按直接跳转到该方法进行编译。这样做比起后期绑定来要快许多倍。

对于后期绑定,因为它不可能指明对象将是什么,所以 Visual Basic 编译一些附加的代码,用这些代码来询问该对象是否支持已经调用的方法。如果该对象支持这种方法的话,那么附加的代码将调用它;反之,附加的代码将会产生一个错误。每种方法或者属性的调用都会引入这个额外开销。

2 打印预览功能

Visual Basic 为打印正文和图形提供了三种技术:

可在窗体中建立所需要的输出,然后用 PrintForm 方法打印窗体;

通过设置 Printers 集合中的缺省的打印机,可传送正文和图形到打印机;

可先传送正文和图形给 Printer 对象,再用 NewPage 和 EndDoc 方法打印。

查找MSDN可发现VB没有提供打印预览功能。在应用程序中要想提供打印预览功能可通过 以下方法实现:定义一个object变量(如:objprn),用该变量替换程序中与打印有关语句中的Printer对象,打印时,首先设置:

Set Objprn=printer

预览时设置:

Set Objprn=frmprev.picture1

用上述方法虽然可以实现打印和预览功能,但是对打印机实现预览的图像控件的访问都是后期绑定的,这在效率上是不高的。为了实现前期绑定,可用多态来实现。

3 用多态实现打印和预览功能

多态的意义之一就是通过多态接口,对多个不同类的访问可以获得高效的前期绑定。

一般来说,如果几个类具有部分相同的属性、方法,但却不是用多态搂口实现的(例如printer和form),将不能提供类似多态的性能。

添加三个类,一个抽象类IMyPrinter,Printer和Picturebox的共有部分接口;提供Printer功能的类IMyPic;提供PictureBox功能的类IMyPrinter;在这两个类中实现IMyPrinter接口。

3.1 创建IMyPrinter接口

将一个类模块添加到工程中,将它命名为 IMyPrinter,在该类中定义共同的方法和属性插入如下代码,仅包含本例所需要的接口。

Public Property Get CurrentX() As Single

End Property

Public Property Let CurrentX(ByVal RHS As Single)

End Property

Public Sub EndDoc()

End Sub

Public Property Get Font() As Stdole.Font

End Property

Public Property Let Font(ByVal RHS As Stdole.Font)

End Property

Public Sub PLine(ByVal X1 AS single,ByVal Y1 as Single, ByVal X2 As Single, _

ByVal Y2 as Single,Optional ByVal HasB As Boolean=False, _

Optional ByVal HasF As Boolean=False)

End Sub

Public Function ScaleX(ByVal Width As Single,optional ByVal FromScale As Variant, _

optional ByVal ToScale As Variant)As Single

End Function

Public Function TextWidth(ByVal Str As String)As Single

End Function

Public Property Get Width() As Long

End Property

Public Property Let Width(ByVal RHS As Long)

End Property

Public Sub PPrint(Optional ByVal F0D1H2 As Integer=0,Optional PrnInfo)

End Sub

3.2 添加两个类,实现该接口,并分别提供Printer对象和PictureBox控件相应的功能。

这里给出在PictureBox控件上实现该接口的部分代码。

添加一个窗体(frmPreView),在上面添加一个PictureBox控件(Pic)。

添加一个类,命名为:MyPic

插入如下代码:

Option Explicit

Implements IMyPrinter

Dim frm As frmPreview

Private pic As PictureBox

Private Sub Class_Initialize()

Set frm = New frmPreview

Load frm

Set pic = frm.pic

End Sub

Private Sub Class_Terminate()

Set pic = Nothing

Unload frm

Set frm = Nothing

End Sub

Private Property Let IMyPrinter_CurrentX(ByVal RHS As Single)

pic.CurrentX = RHS

End Property

Private Property Get IMyPrinter_CurrentX() As Single

IMyPrinter.CurrentX = pic.CurrentX

End Property

Private Sub IMyPrinter_EndDoc()

frm.Show vbModal

End Sub

Private Property Let IMyPrinter_Font(ByVal RHS As StdFont)

With pic.Font

.Size = RHS.Size

.Name = RHS.Name

.Bold = RHS.Bold

.Italic = RHS.Italic

.Strikethrough = RHS.Strikethrough

.Underline = RHS.Underline

.Weight = RHS.Weight

End With

End Property

Private Property Get IMyPrinter_Font() As StdFont

Dim F As StdFont

Set F = New StdFont

With pic.Font

Set IMyPrinter_Font = F

End Property

Private Sub IMyPrinter_PLine(ByVal X1 As Single, ByVal Y1 As Single, ByVal X2 As Single, ByVal Y2 As Single, Optional ByVal HasB As Boolean = False, Optional ByVal HasF As Boolean = False)

If HasF Then'本例中没有提供颜色选项

pic.Line (X1, Y1)-(X2, Y2), , BF

ElseIf HasB Then

pic.Line (X1, Y1)-(X2, Y2), , B

Else

pic.Line (X1, Y1)-(X2, Y2)

End If

End Sub

Private Sub IMyPrinter_PPrint(Optional ByVal F0D1H2 As Integer = 0, Optional PrnInfo As Variant)

Select Case F0D1H2 '该参数为0:分号;1:逗号;2:无符号

Case 0

If Not IsMissing(PrnInfo) Then

pic.Print PrnInfo;

End If

Case 1

If Not IsMissing(PrnInfo) Then

pic.Print PrnInfo,

End If

Case 2

If Not IsMissing(PrnInfo) Then

pic.Print PrnInfo

Else

pic.Print

End If

End Select

End Sub

Private Function IMyPrinter_ScaleX(ByVal Width As Single, Optional ByVal FromScale As Variant, Optional ByVal ToScale As Variant) As Single

IMyPrinter_ScaleX = pic.ScaleX(Width, FromScale, ToScale)

End Function

Private Function IMyPrinter_TextWidth(ByVal Str As String) As Single

IMyPrinter_TextWidth = pic.TextWidth(Str)

End Function

Private Property Let IMyPrinter_Width(ByVal RHS As Long)

pic.Width = RHS

End Property

Private Property Get IMyPrinter_Width() As Long

IMyPrinter_Width = pic.Width

End Property

3.3 运行实例

在主类模块中定义如下变量:

Private cIMyPrn as IMyPrinter

Private cPic as Mypic

Private cPrn as Myprn

在主类模块的Class_initialize事件中,添加:

Set cPrn as New MyPrn

Set cImyPrn=cPrn

在主类模块中,将原来有关打印语句中的Printer替换为cIMyPrn,在实现预览的方法中添加:

Set cPic =New MyPic

Set cIMyPrn=cMyPic

在主类模块中,将原来有关打印语句中的Printer替换为cIMyPrn,修改特殊类型的语句,如Line,Print方法名和参数形式已经改变,将其改为符合cIMyPrn语法的语句。

预览结束后:

Set cIMyPrn=cPrn

Set cPic=nothing

通过上而后方法,就可以用一个IMyPrinter变量,实现打印和预览的前期绑定。

4 结束语

使用该方法较好地实现了VB中的打印和预览功能。拓展了VB中提供的多态技术的应用范围。在对象的高层、在编程语言和方法的较高层上实现了多态。

参考文献:

[1]沈大林. Visual Basic.net 实例教程[M]. 北京:电子工业出版社,2006.

vb.Net基础知识概述 篇4

vb.net是基于.NET框架的完全对向对象的编程语言, 而vb 6.0只是半面向对象的语言, 使用vb.net可以编制出功能更加强大的windows程序。下面我们把vb.net和vb 6.0做一下比较说明一下vb.net的特性和优点。

1.在vb 6.0中, 创建对象的时候, 需要等这个对象创建完毕后, 再另外调用一个独立的方法对其进行初始化。在vb.net中, 可以利用构造函数为对象赋初值, 这样就不需要进行烦琐的调用赋初值了。构造函数的使用, 简化了编码的过程和出错的机会。

2.vb.net编写线程的能力比vb 6.0有很大的增强。

3.在vb 6.0中, 需要首先声明一个变量, 然后才能对其赋值, 这样就需要写两行代码。在vb.net中, 可以使用初始化函数将这两个步骤合并在一行代码中完成, 这个似乎微小的改进, 提供了更少、更简单、更易于维护的代码。

4.vb.net基于.NET框架, 开发者可以快速的可视化开发网络应用程序、网络服务、Windows应用程序和服务器端组件。

5.因为vb.net是基于.NET框架的, 可以与其它.NET语言协同工作。

6.在vb.net中, 通过Web窗体及ADO.NET, 开发者可以快速开发可扩展的Web站点。

二、一个vb.net项目的新建

使用vb.net可以快速建立各种类型的项目, 同时由于其集成在Visual Studio.NET中, 所以也可以在vb.net中创建和编辑ASP.NET项目。

1.首先打开Visual Studio 2005集成开发环境。单击“开始”→“程序”→“Microsoft Visual Studio2005”→“Microsoft Visual Studio 2005”, 打开如图1所示的集成开发界面。

2.单击“文件”→“新建项目”命令, 弹出“新建项目”对话框。在该对话框中, 在“项目类型”列表框中选择“Visual Basic项目”, 在“模板”列表框中选择相应的程序类型, 比如我们选择“Windows应用程序”, 在“名称”文本框中输入名称, 比如我们输入“project1”, 并在其下方的“位置”列表框中为其选定一个保存路径, 单击“确定”按钮, 便在vb.net中创建了一个名为“project1”的新项目。

三、vb.net应用程序的编写

我们以创建一个vb.net的“Hello world”程序为例进行说明, 该程序由一个文本框 (textbox) 和一个按钮 (Button) 组成, 单击该按钮, 文本框会出现“Hello, world”, 同时, 按钮上的文本由“你好”变为“谢谢”。

1.创建一个新的项目, 也可打开上节我们创建的那个名为“project1”的项目。

2.打开或创建项目后, 默认的窗体是form1, 我们就使用它来做为应用程序的用户界面。vb.net的工具箱默认是折叠在工作区的左侧的, 鼠标指向它时, 会展开工具箱;鼠标移开时, 它又会自动折叠。为了使用时的方便, 可以在用鼠标展开工具箱后, 单击工具箱右侧中间的那个图钉将工具箱固定在工作区的左侧。

3.向窗体添加一个文本框控件和一个按钮控件, 方法很简单:在工具箱中找到Textbox和Button控件后, 用鼠标拖动到form1窗体上即可, 并且还可以用鼠标拖动改变其在窗体上的位置。

3.设置form1的text属性:鼠标单击form1窗体的空白处, 在工作区右侧的窗性窗口中, 在form1的text属性值中输入hello, world!。

4.设置按钮的text属性:用鼠标单击选中form1窗体上的按钮, 在右侧的属性窗口中将其text属性值输入“你好”。经过以上两步操作的窗体可以看到, form1窗体的标题栏上的文字变成了“hello, world!”, 按钮上的文字变成了“你好”, 这是我们分别设置了两个控件的text属性的缘故。

5.编写程序代码:双击form1窗体上的按钮控件, 在出现的代码窗口中, 默认的事件过程是Click事件 (鼠标单击时发生的事件) , 此例中无需改动。在“sub”和“End Sub”之间输入如下语句:

Textbox1.Text="hello, world!"

Button1.Text="谢谢"

6.点击工具栏上的“”或按F 5键即可运行该程序, 运行窗口中的文本框的值为空, 按钮的标题为“你好”。点击“你好”按钮后, 触发了按钮的click事件, 调用其click事件过程代码, 将文本框和按钮的text值分别变为“hello, world!”和“谢谢”。

摘要:本文主要介绍了vb.Net的基础知识部分, 从vb.Net的简介到这个程序的优点, 着重阐述了vb.net新项目的建立, 并用实例说明了改程序如何编写。

关键词:vb.Net,基础知识,建立,编写

参考文献

[1]梁恩主编著.《visual Basic 6.0》编程与实例解析[M].科学出版社.

用vb开发通信软件VB 篇5

用vb开发通信软件

一、PC串行通信程序机制

常用的PC串行通信程序大多利用BIOSINT14H中断,以查询I/O方式完成异步串行通信。

Windows系统提供中断方式驱动的串行通信驱动程序COMM.DRV。通信程序无需直接对串行端口进行操作,而是通过驱动程序这一编程接口进行间接操作。

Windows操作系统中,串行通信采用“事件通知”方式,支持数据按块传送。进行通信时,Windows开辟一个用户定义的输入输出缓冲区,每接收一个字符就产生一个低级硬件中断,串行驱动程序立即取得控制权,并将字符放入输入数据缓冲区,然后将控制权返还正在运行的应用程序。如果输入数据缓冲区满了,驱动程序用当前定义的流控制机制通知发送方停止发送数据。发送数据也采用类似的处理方式,应用程序将需要发送的数据放入输出数据缓冲区,串口每发送一个字符就产生一个低级硬件中断。

二、PC串行口远程通信的硬件配置

串行通信数据链中,计算机一端称为DTE,即数据终端设备;调制解调器一端称为DCE,即数据通信设备。PC串行通信的硬件连接方式分为零Modem连接和Modem连接。

零Modem连接即直接用调制解调器电缆将两台设备连接起来,Modem连接则通过DCE(Modem)将两台PC连接起来。

零Modem连接用于距离15m内两台DTE或DCE设备之间的连接。而Modem连接则通过电话网或专线用于长距离的通信。

TXD和RXD信号线用于计算机和Modem间传输数据信息;RTS从计算机端发送信号到Modem,表示希望把数据传给Modem,若Modem能接收这个数据,它将发送CTS信号给计算机;DTR从计算机端发送信号到Modem,表示计算机已作好通信准备,Modem将DTR信号作为初始化自己的信号,然后给计算机回送数据设置就绪信号DSR;当本地Modem接收到远地Modem的呼叫,则发送RING信号给计算机;Modem应答呼叫后,发送数据载波检测DCD信号到计算机,表示已建立连接。

Modem的工作状态分为命令状态和在线状态。处于命令状态时,Modem对串口发送的信息进行解释,可通过PC串口向Modem发送AT命令对其进行初始化、设置和操作。

例如,初始化命令为:“ATQOV1WOSOΚ1&C1&D2&YO&WO”,其含义为:

QO:返回结果码;

V1:以字符形式显示结果码;

WO:不返回协商进程结果码;

SOΚ1:振铃一次,即应答;

&C1:追踪数据载波信号CD;

&D2当DTR从开到关时,Modem挂机进入命令状态;

&YO:Modem上电时重新调出用户方案;

&WO:将以上设置存为动态设置用户方案0;

一旦本地Modem与远地Modem建立连接,Modem即处于在线状态,可进行数据传输。此时,Modem不响应AT命令,直接传送所收到的数据。

三、Modem连接远程通信软件的编制

通信过程中大部分的工作由串行通信驱动软件承担。

本文软件的运行环境为AST+4/66d,Hayes公司的ACCURA144+FAX144Modem,Windows3.2,VB3.0专业版。VB3.0专业版中提供了一个MSCOMM.VBX通信控件。它使用户能很方便地通过对控件属性的设置、检测,访问串行通信驱动程序的大多数特性,而不必考虑其实现细节。该控件为“事件驱动”,只响应“OnComm”事件,该事件可对已发生的事件或错误进行处理,与CommEvent属性紧密相关。

通信软件、通信驱动软件和Modem之间的通信关系

以下程序实现了通信的基本过程。包括初始化串口和Modem,上位机拨号呼叫下位机,下位机应答并开始定时传输数据,挂机停止传输等功能。

VB3.0编制的通信软件清单如下:

上位机控件清单:

控件名称 属性

Form1Form1Caption ″上位机通信″

MsComm comm1

CommandButton1CallCaption ″拨号″

CommandButton2hangCaption ″挂机″

CommandButton3ExitCaption ″退出″

下位机控件清单

控件名称 属性

Form1Form1Caption ″下位机通信″

MsComm comm1

CommandButton1hangCaption ″挂机″

CommandButton2ExitCaption ″退出″

Timer1Timer1Interval 3000

Text(i)Text(i)

1.串口初始化、设置程序

在程序初始化时,先对串口初始化。因为使用RTS/CTS握手信号的硬件设备只有RTS信号置为高才能接收数据,所以需将MSCOMM通信控件的RTSenable属性设为TRUE。由于Modem在处于命令状态时,通过串口发送的命令以及命令结果均会回显在输入缓冲区中,因此在进入在线状态前,禁止产生EV-RECEIVE事件,避免数据误处理。

由于Windows是多任务系统,在进行数据收发循环处理时,应调用DOEVENTS事件,将控制权交还系统,允许Windows执行其他任务。但应注意,在处理OnComm事件时小心使用DOEVENTS,避免系统又产生OnComm事件,造成嵌套,出现堆栈溢出错误。

Sub Form-Load

comm1.CommportΚ1′COM1口通信

comm1.SettingsΚ″9600,N,8,1″′波特率9600,无校验,8位数据位1位停止位

comm1.OutBufferSizeΚOUTPACK′设置输出缓冲区大小

comm1.InBufferSizeΚINPACK′设置输入缓冲区大小

comm1.InputLenΚ1′每次从输入缓冲区中取一个字符

comm1.RTSenableΚ-1′RTS信号为高

comm1.RthresholdΚ0′不产生MSCOMM-EV-RECEIVE事件

comm1.PortOpenΚ-1′打开串口

cdΚcomm1.CDHolding′取载波检测信号线原始状态

comm1.outputΚ″ATQOV1WOSOΚ1&C1&D2&YOWO″′初始化Modem

Do DoEventsLoopUntilcomm1.OutBufferCountΚ0

End Sub

2.上位机拨号呼叫下位机

SubCallcom-Click()

Comm1.OutPutΚ″ATDT″&Phonnum$&chr$(13)′向Modem发拨号命令

Do DoEventsLoopUntilcomm1.OutBufferCountΚ0

End Sub

3.下位机Modem应答,连通后开始定时传输数据

下位机检测CD,判断是否连通:

Sub Comm1-OnComm()

Select Casecomm1.CommEvent

Case5 ′MSCOMM-EV-CD

Timer1.EnabledΚ-1′启动定时器

End Select

End Sub

VB传送定长字符串,数据接收处理相对简单,

但在发送实时数据时,若将数据转换成定长字符串,这样会大大降低传输效率。在接收端,通知程序从输入缓冲区中取字符有两种方法:一是用轮询方法循环判断InBufferCount是否为0;另外就是利用Rthreshold属性触发“OnComm”事件及“CommEvent”属性中EV-RECEIVE事件。当Rthreshold的值不为0时,允许产生EV-RECEIVE事件。该属性设置和返回在通信控件设定CommEvent特性为接收和产生OnComm事件之前要接收的字符数。VB传送变长字符串时,接收端的Rthreshold值要作相应的改变,以确保接收数据及时准确。

下位机定时发送字符串“strin3$ΚFormat$(Len(strin1$),″0000″)&chr$(8)&strin2$”。strin1$为当前字符串,strin2$为上一字符串。上位机根据接收strin3$中Len(strin1$),相应改变RthresholdΚLen(strin1$)+4。这样,通过提前发送字符串长度,改变Rthreshold值可实现发送变长数据。

Windows串行通信驱动程序的事件驱动特性仍有不稳定的缺陷。如InputLenΚ0时,有可能取出不完整的数据。为保证可靠,采取降低处理速率的方法,保证下位机发送的数据流完整地进入输入缓冲区。设InputLenΚ1,即每次从缓冲区中取一个字符。也可采用轮询方法,定时检测输入缓冲区。下位机定时发送数据:

Sub Timer1-Timer()

If comm1.CDHoldingΙΛcdThen

str1$-text1(i).Text

strin2$Κstrin1$′上一字符串

strin1$Κstr1$′当前字符串

strin3$ΚFormat$(Len(strin1$),″0000″)&chr$(8)&strin2$

′传送当前字符串长度,以及上一字符串内容

com m1.OutPutΚstrin3$

Do DoEventsLoopUntilcomm1.OutBufferCountΚ0

Else

Timer1.EnabledΚ0

End If

End Sub

上位机检测CD状态,判断是否连通、并接收处理数据。

Sub Comm1-OnComm()

Select Case comm1.CommEvent

Case5 ′MSCOMM-EV-CD检测CD状态,判断是否连通

comm1.InBufferCountΚ0′清输入缓冲区

comm1.RThresholdΚ4′当输入缓冲区中有五个字符,

Case2′MSCOMM-EV-RECEIVE产生EV-RECEIVE事件,接收处理数据

Do DoEvents

Ifcomm1.InBufferCountThen′循环从缓冲区中取数据

str1$Κstr1$+comm1.Input

Else

Exit Do

End If

Loop

len2Κ1en1′当前字符串长度

len1ΚVa1(Left$(str1$,5))′即将发送的字符串长度

comm1.RThresholdΚlen1+4

strin$ΚRight$(str1$,len2)′数据处理

……

End Select

str1$Κ″″

End Sub

4.根据设置的AT命令“&D2”,当置DTR信号为低时,Modem挂机进入命令状态。也可通过串口输出““+++ATH”+chr$(13)”字符串挂机。

Sub Hang-click()

If comm1.CDHoldingΙΛcdThen′检测CD,判断是否挂机

comm1.DTRenableΚ0

comm1.DTRenableΚ-1′置DTR信号为高,为下一次通信准备

End If

End Sub

5.退出程序时,一定要关闭串口

Sub Exitcomm()

comm1.PortOpenΚfalse

End

End Sub

四、Windows通信机制和VB3.0通信控件潜在缺陷

在通信软件编制过程中,我们发现Windows下通信机制采用的“事件驱动”在实际运行中不稳定。如在文件传输过程中,误码和数据丢失的情况时有发生;若串口波特率过高,会产生无法通信或在通信过程中随机挂机的情况。这主要是由于Windows本身通信机制和通信线路介质及质量的影响。为保证数据传输稳定可靠,可采用通信协议如XModem-CRC或YModem。在MSCOMM.VBX通信控件中,Rthreshold属性值大小与输入缓冲区InBufferSize大小有关,当Rthreshold值较接近InBufferSize值时,有可能不产生EV-RECEIVE事件,为保证产生该事件,可将InBufferSize值取得较大。

基于VB考试分析评价系统设计 篇6

关键词:考试系统;VB

中图分类号:TP311.1文献标识码:A文章编号:1007-9599 (2010) 03-0108-02

VB-baseclTest Analysis&Evaluation System Design

Ruxian Gulistan Hoxur

(Xinjiang Electrical College,Computer Technology Department, Urumqi 830011,China)

Abstract:With the popularization and development of computer technology in the education sector, a common, practical test engineering systems increasingly important role. The system for reducing test costs, stimulate student interest in learning, improve the efficiency of teachers. This article introduces examination system under the VisualBasic environment, by updating the item bank that the system can be used for multi-course of the paper examination. The system by updating the Questions bank can be used to test multiple courses of paperless.

Keywords: Test system; VB

一、系统概述

考试是各高校日常活动的重要部分。在考试系统中,包括试卷创建,题库管理,试卷评阅,平时成绩评定,学生考试,成绩查询,人员管理。下面介绍不同用户可使用的功能。

本系统的用户分为学生类用户、教师类用户和管理员类用户。

学生类的用户是指当前使用系统的学生,其用户名为学生的姓名,该类用户能够参与答题并浏览考试结果,但是不能浏览他人考试结果,也不能对自身和他人的信息进行管理。

教师类用户主要对试卷进行管理,包括创建试卷(选择题和上机题),评阅试卷(选择题系统自动评定,上机题由教师评定),评定平时成绩,试题管理(可以增加,删除,修改),还可以生成成绩单以及查询学生的成绩。

管理员类的用户,在实际中可以是班主任或者教务管理人员,他们有特定的权限对系统中的所有人员进行浏览、查找,并进行管理。本系统用户管理通过登录人员类进行管理。

二、系统初步调查

初步调查,在试卷分析中应该有的条件:学生人数、学生每题所得分数、试卷的总题数以及每题所对应的总分数、难度系数。在此基础上得出平均成绩、每一档次的人数。画出成绩分布矩形图。最后得出分析的结果。

因此在本系统中应该必须具有三大模块:

(一)名称维护:对教师,学生,班级,学院等进行入库及管理。包括有:学院名称、班级名称、课程名称、教师名称的添加、删除及修改等维护操作。

(二)试卷维护:对试卷进行考试记录添加、修改、删除、整张试卷的删除、以及对录入数据的核对等操作。包括有:

1.试卷输入:输入学院的名称、学年、学期、学生所在的年级及班级、课程名称、卷面每小题的满分数和整张试卷的满分数、总的考试人数、任课教师

2.试卷修改:对相关的资料及试卷进行修改

3.试卷删除:对所选中的学生成绩进行删除

4.成绩核对:对所选中的学生成绩进行相应的核对

(三)试卷分析:提供试卷的分析功能并给出分析报告,将屏幕输出的各种数据通过打印机

三、VB考试分析评价系统设计

(一)开发环境及开发工具概述

系统使用Visual Basic 6.0中文版来作为开发工具,后台数据库则采用Access 2000。

1.Microsoft Access2000简介

Microsoft Access2000是微软公司开发的基于Windows平台的小型数据库管理系统,是Office 2000 的组件之一。它承袭了旧版本Access的各项优点,又新增或完善了数据访问页、个性化菜单、internet/intranet、编程、安全保密等功能。

Access是一个面向对象的、采用事件驱动机制的小型关系数据库管理系统。在Access中,用户可以根据实际需要对数据进行分类,然后使用表对象分别存储每一种类型的数据,并建立起不同类型数据之间的关系,供报表使用。此时,每条信息仅在一处存放,减少了冗余数据的产生,节省了宝贵的存储空间,同时也加快了更新数据的速度。

在Access数据库中,任何有名字的事物都可以称之为对象。Access使用了与Windows 一致的风格,采取面向对象的方式,完成数据库的各种功能。极大地简化了用户的开发工作。

针对用户在实际应用中的需求,Access数据库提供了表、查询、窗体、报表、页、宏和模块等七个对象,用于收集、存储和操作各种不同的信息。

为了便于使用,Access的每个对象都为用户提供了设计器和生成向导。用户可以在设计器中设计生成对象,或对生成的对象进行编辑;用户也可通过生成向导方便快速的生成一个完备的对象。

2.Visual Basic集成开发环境在计算机上安装了Visual Basic,进入Visual Basic的集成开发环境。默认情况下,集成开发环境上面显示一个“新建工程”对话框,要求编程者选择要建立的程序类型。选择“标准EXE”即可,因为它是默认选项,所以只需单击“打开”按钮。Visual Basic使用“工程”来管理用来建立一个应用程序要使用的所有文件,所以每建立一个新程序,就要新建一个工程。每个工程都包含了一个以“.vbp”为扩展名的“工程文件”,这个文件用来管理这个工程中所有的文件。在“新建工程”对话框中使用“现存”和“最新”选项卡,可以打开磁盘上已有的或者最近编辑过的工程。如果在单击“新建工程”对话框上的“打开”按钮之前选定了对话框左下角的“不再显示这个对话框”复选框,则在以后启动Visual Basic时就不会显示这个对话框了

单击“新建工程”对话框上的“打开”按钮,对话框关闭,Visual Basic会创建一个编程者所选择类型的工程。如果单击的是“新建工程”对话框上的“取消”按钮,则Visual Basic的集成环境中不打开任何工程。

关闭了“新建工程”对话框之后,Visual Basic的集成开发环境全貌就显示在屏幕上了。Visual Basic开发环境是典型的Windows多文档界面(MDI, Multiple Documents Interface)。它的程序窗口有菜单栏和“标准”工具栏,其中有几个菜单项和按钮是在其他Microsoft软件中常见的(如“剪切”、“复制”、“粘贴”、“打开”、“保存”等),在这里功能相似。

Visual Basic菜单系统比较庞大,在本考试系统的开发中,仅仅用到一部分知识。

(三)窗体代码设计

系统自动创建试卷,主要是调用QuestionPaper类的Create方法来创建试卷。教师创建试卷方式则是通过试卷修改窗体来创建试卷。

当窗体加载时,初始化Updown控件的值的范围,代码如下。

Private Sub Form_Load()

DataEnv.rsSingleSelQ.Open

udSingleSel.Min = 0

udSingleSel.Max = DataEnv.rsSingleSelQ.RecordCount

DataEnv.rsSingleSelQ.Close

End Sub

如果用户单击“取消”按钮,则退出该窗体而放弃生成试卷,如果用户单击“确定”按钮,那么系统根据用户选择的出题方式作出不同的处理。

(四)修改试卷窗体(frmModifyPaper)

如果教师类用户创建试卷后单击了“修改试卷”菜单项,都将弹出试卷修改窗体。在该窗体中,允许教师向己有的试卷中加入题目或从试卷中删去题目。

窗体界面设计。向项目中添加一个窗体,命名为frmModifyPoper.frm。由前面演示过程可以知道,试卷修改窗体界面主要分为4个部分,包括题库显示区域、试题选择区域、试卷显示区域。其中题库显示区域、试题选择区域和试卷选择区域位于同一个Frame控件中。

运用VB优化计算机基础教学 篇7

《计算机应用基础》是各专业都要开设的一门文化基础课,主要考查学生必要的理论知识与熟练的操作技能。操作分为中英文录入、Windows操作、文档排版(Word)、数据处理(Excel)等,面对大量的操作类试题,老师逐一检查操作结果或手动阅卷,再统计分析成绩,这样不仅效率低,而且长此以往,势必会给老师增加相当多的工作量,使教师不堪重负;作业批阅缺乏准确性,一般只能对总分数的结果进行大致分析如分数段统计、平均分计算,不能做到更准确的分析,如信度、效度分析等难以有效实现。

综上所述,为了更加科学高效地使计算机基础操作服务于教学,经多方面思考,萌生了用VB开发计算机基础操作教学批阅软件的设想,下面介绍用VB开发的、采用数据库技术实现的教学软件开发过程中的具体思路和方法。

2 需求分析

计算机不同于其他学科,学生的学习过程和很多的实践活动都是在计算机上完成的,而且都以操作为主。那么,作为教师,怎样科学有效地评价学生?怎样随时了解学生的学习情况?作为学生,怎样进行自主学习、自我测试?因此,开发具有试题阅卷和成绩反馈功能的教学软件是十分必要的。对教师来说,减轻了教师工作量,方便了教师对学生学习情况的了解;对学生来说,有利于学生自主学习,并激发了学习兴趣。而且,如今大部分学生家里都有电脑,所以学生除了在学校学习外,他们还可以在家里进行自主学习、自我测试。

3 总体设计

3.1 界面设计与文件结构

界面设计:按照软件结构图设计好界面。

文件结构:设计好每一套试题,并建立好相应的目录。

题目少可以用文本文件来存储。为保证文本文件中信息的安全性,防止学生打开直接查看,可以改变文本文件的扩展名、改变文本文件中答案的顺序、或对答案进行加密等。

题目多可以用Access数据库来存储。这样只要给数据库设置个密码就可以保证题库的安全性了。

开发工具采用VB,一是因为VB适合快速开发,相对于VC等开发软件更易于上手,而且开发的效率高、周期短。二是因为Word、Excel等office软件里的宏都是VBA,而VBA是VB的一个子集,两者可以很好地结合。而且利用宏可以帮助快速有效地写出阅卷程序。

3.2 选题

设计好界面和题目后就可以编写各功能模块的代码了。当学生选择某一套试卷后,就要执行选题操作。选题也就是根据学生的选择将软件目录下的题目复制到考试文件夹下。主要是对文件和文件夹进行复制。对文件和文件夹进行操作需要使用FSO(File System Object)对象模型,FSO的功能非常强大,它能创建、改变、移动、删除文件/文件夹;能检测文件/文件夹是否存在,文件/文件夹的路径;能获取文件/文件夹的信息,如:名称、创建日期等。要使用FSO,首先必须在工程中引用Microsoft Scripting Runtime。采用与题库中各库表对应的试卷表———理论试卷表、操作系统试卷表、文档处理表等。下面以抽取单选题为例说明其组卷过程如下:

(1)考试要求库。

(2)取出单选题题量。

(3)从单选题库中筛选符合要求(范围)的题目。

(4)判断题数<题量,若是则显示错误信息,退出。

(5)抽题数=0。

(6)判断抽题数<=题量,否则进入下一大题抽取。

(7)产生在1——题数范围内的随机整数。

(8)判断该题是否抽过,若是则返回(7),重新产生。

(9)抽取该题入理论题库。

(10)抽题数增加1,返回(6)。(11)抽取下一大题。

选题主要使用了FSO复制文件和复制文件夹这两个方法,及CopyFile和CopyFolder。部分代码如下:

因为每一个选题按钮的功能都是类似的,惟一不同的就是所抽取的试题名称不一样,所以可以将选题按钮做成按钮控件数组,以提高程序开发效率,也便于以后的源程序维护。这样,将试题的文件名用数组变量来表示,就可以用一段程序来实现所有按钮的选题功能。

上述主要以复制Excel试题和网页试题为例,复制其他试题方法类似。软件中还有一些其他地方也会用到选题操作。

继续答题:比如学生在练习的过程中不小心关闭了软件,那么下次进入之后当然希望继续答题而不是重新答题。所以这种情况需要判断考生文件夹中试题是否存在,存在则不选题;不存在则选题。判断文件或文件夹是否存在通常使用fso的FileExists()和FolderExists()方法。

重做:及从考生文件夹中删除要重做的试题,然后再选题。删除文件或文件夹主要使用fso的DeleteFile()和DeleteFolder()方法。

3.3 阅卷功能的实现

学生做完练习题后,需要点击“阅卷”按钮来反馈成绩。计算机教学中常见的操作试题类型有:Windows操作题、Word操作题、Excel操作题、PowerPoint操作题、Internet操作题等。下面分别介绍每一类操作题的阅卷原理。

3.3.1 Windows操作题

没有编写过练习软件的老师可能会觉得很难,怎么知道学生有没有对文件执行新建、复制、剪切等操作呢?其实根本没必要去知道,不可能去写大量的代码来截取捕捉鼠标和键盘事件,看学生有没有执行这些操作,这样有些小题大做了。其实Windows操作题的阅卷非常简单,原理如下:

新建、删除、重命名、复制、剪切、创建快捷方式就是判断该文件或文件夹是否存在,如表1所示。

3.2.2 Word、Excel操作题

Word文档排版题,在考生文件夹下生成Word文档与相应图片文件,并写入相应文字内容;系统采用在程序中用OLE技术调用Word的生成等处理文件。

对于Excel练习题的阅卷其实就是VB在后台打开Excel工作表,并使用内置的VBA函数对Excel工作表中的对象进行判断。为了能在VB中调用Excel对象,首先必须在VB工程中引用“Microsoft Excel 11.0 Object Library”(如果是Word,则引用“Microsoft Word 11.0 Object Library”)。一般可以通过如图1所示的顺序来对Excel文件进行阅卷。

例如:判断C:作业1.xls文件Sheet1工作表中的A1:D5单元格中的文字是否为宋体:

Workbooks.Open("C:作业1.xls")

Sheets("Sheet1").Activate

Range("A1:D5").Select

If Selection.Font.Name="宋体"Then score=score+5有几点需要说明:

(1)最好设置Excel应用程序对象为隐藏,否则每次打开学生的Excel文件均会显示出来,影响阅卷速度;而且用户能够关闭Excel,从而使VB程序产生自动化错误。

(2)某些属性值可能会有很多形式,如果考虑不全,可能阅卷的结果就会有错误。如单元格的数字格式保留两位小数,在Excel内部可以表示为:(“0.00”、“0.00_”、“0.00_);(0.00)”等形式,学生如果选择了其中的任一类型,都应该是正确的,所以在设计程序时应该周密一些,尽量多测试测试。

(3)如果没有引用Excel对象库,那么定义Excel对象变量时应写成如下形式:

Dim xlApp As Object

Dim xlbook As Object

Dim xlsheet As Object

否则就会出现“编译错误:用户定义类型未定义”。当然,如果引用了Excel对象库,则两种定义形式均可。

Excel对象属性很多,记忆是很困难的,可以通过以下方法获取所需属性名称。

(1)在Excel中录制宏,查看宏程序,大多数属性名称都能找得到,这是最方便的一种方法。但也有一些特殊的属性与对象库中的名称是不一样的,当然就不能用了。

(2)打开VB中的“对象浏览器”,并在对象库中选择“Excel”,就能找出所有属性名称了。

(3)利用VB软件的代码提示功能,也能找到相当一部分的属性名。

(4)通过调试中的“监视”功能获取属性名。方法是在程序中设置断点,并在“监视”窗口中添加Excel对象变量,最好是比较顶级的Excel对象变量,如上述程序中的xlSheet、xlBook、xlSheet,然后运行程序,当执行至断点时,便能看到该Excel文档中的所有对象及其属性值了。实际教学中几个常用的属性主要有:

(1)隐藏或显示Excel进程窗口:xlApp.Visible

(2)工作表的名称:xlbook.worksheets(1).name

(3)单元格的值:xlSheet.Cells(1,1).Value;

(4)单元格中的公式:xlsheet.Cells(1,1,).Formula

(5)单元格的数字格式:xlsheet.Cells(1,1).NumberFormatLocal

(6)列的宽度(单位:字符个数):xlsheet.Columns(列数值).ColumnsWidth

(7)行的高度(单位:磅):xlsheet.Rows(行数值).RowHeight

(8)边框线宽度:xlsheet.Range(“A1:H10”).Borders(2).Weight

(9)字体名称、颜色、加粗、下划线等属性,分别为:

(10)是否启用了自动筛选:xlSheet.AutoFilterMode

(11)筛选的条件是什么:xlSheet.AutoFilter.Filters(1).Criteria1

(12)图表的类型:xlSheet.ChartObjects(1).Chart.Chart-Type

(13)图表的标题:xlSheet.ChartObjects(1).Chart.Chart-Title.Text

(14)图表的数据源:xlSheet.ChartObjects(1).Chart.SeriesCollection,当然,在实际软件设计中,最好把批阅“字体”、“单元格格式”、“图表”等所有的功能都定义为函数,以简化代码,也便于日后改进。

了解了工作表、单元格、区域的表示方式后,就能写出Excel中各种常见操作的阅卷程序了。可是Excel中的对象以及它们的方法、属性都非常多,怎能都记住呢?其实完全没必要都记下来,可以借助对象浏览器来查看Excel对象的方法、属性(在VB中选择菜单[视图]-->[对象浏览器]-->Excel库)。这样,以后要用到哪个属性或者方法只需要到对象浏览器中查找就可以了。

下面再介绍一下Excel里常见的两个操作(公式/函数、排序)的阅卷方法。

(1)公式/函数

单元格公式/函数的表示:

表2中G3单元格的求总分公式和函数可表示为:

了解了G3单元格的公式和函数的表示后,其他几个单元格是否也要一一列出呢?其实可以直接用一个for循环来实现:

(2)排序

将上面的学生成绩表按Windows成绩从高到低排序:

Excel里还有很多的操作,比如:数据筛选、分类汇总、建立图表等,这些操作的阅卷程序也相对复杂一些。其实没关系,可以利用Excel的宏来帮助快速地写出阅卷程序。首先打开要写阅卷程序的Excel文件,并录制一个新宏,然后把所有的试题做完,完成后停止录制并查看生成的宏。这时会发现,做题的过程已全部被录制到宏里面了,现在只需要把宏里自动生成的VBA语句稍作修改就能直接复制到VB程序中使用。对于Office里的其它的软件(如:Word、PowerPoint)的阅卷都可以使用这种方法。

3.3.3 IE操作题

下载图片、文字、文件的方法与Windows操作题中文件操作的判断类似,也就是判断这些图片、文本等文件在该目录下是否存在。为使阅卷更加精确,也为了防止学生在做题时投机取巧,可以在此基础上再判断该图片的大小和文本文件里的文字内容,从而判断出这些图片和文本文件是否来自该网页。

设置IE主页、历史记录天数通过读取注册表里键值来判断,方法和屏幕保护、墙纸的判断类似。

判断IE主页是否是“www.163.com”就是判断HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMainStart Page是否是“www.163.com”。

3.4 收卷程序

在VB中新建“工程”,并设计好用来显示学生成绩的界面,并添加一个Winsock控件(Winsock1),设置其传输协议为UDP协议,并设置Winsock1的本地端口(此处的本地端口应和学生端中的Winsock1的远程主机端口一致)。

定义全局变量数组用于存放接受到的消息。总共能接受200人的成绩。

当有消息来临时,会触发Winsock1_DataArrival事件。在Winsock1_DataArrival事件里输入如下代码用来接收并显示相关的信息:学生机器名、IP、姓名、分数。

教师端程序之所以要接收并显示学生机机器名和IP,是因为常有学生会不小心写错名字,那么就可以通过学生机机器名或IP地址来确认并作修改。

保存成绩分为两种格式:.txt文本文件和.xls电子表格文件。将成绩保存为.txt文本文件其实就是创建一上文本文件并向其中写入数据。

.xls电子表格格式的成绩表可以方便教师统计分析成绩,具体实现为:

3.5 自动评分

评分中理论评分较易实现,只需要将考生答案与标准答案进行比较即可快速完成评分。下面主要说明操作考试的评分:

3.5.1操作系统评分

检查考生文件夹下是否有要求的文件或文件夹或是文件属性。下面是判断复制文件部分一段程序:

3.5.2文字录入评分

逐一比较录入的文字与标准文字中匹配字符数即可。

3.5.3 文档排版和数据处理评分

这是本系统开发中难度最大的一部分。基本思想是:在VB中调用Word或Excel打开对应文档,再利用VBA编程完成对操作对象的选定、返回选定对象的属性值、及与试卷中对应要求相比较,从而判断考生操作结果是否正确。下面给出判断段落对齐的一段代码:

4结语

运用VB优化了计算机基础教学,实际教学中效果良好,教师从繁琐的教学环节中解放出来,节省了大量的人财物,使教师有更多的时间和精力放在题目的科学性建设中和教学内容、教学方法的钻研中。

参考文献

[1]Brown S,李凤华,等译.Visual Basic开发指南-Win32API篇[M].北京:电子工业出版社,2000.

[2](美)Eric Brierley,Anthony Prince,David Rinaldi著,王建华,陈一飞,吴炳林等译.Visual Basic6开发人员指南[M].北京:机械工业出版社*西蒙与舒斯特国际出版公司,1999.

[3]北京博彦科技.Office VBA编程高手.北京大学出版社,2000.

[4]刘林.管理信息系统平台设计[J].现代计算机,2003,(1).

成人教育VB课程学习方法初探 篇8

误区一:实用性不大, 失去了编程的积极性

通过与学生、同行之间的交流, 得知部分学生反映上课时都能听懂讲解, 可在涉及到具体的编程及上机操作时, 往往会出现没有思路、无从下手、或错误百出, 不会调试程序等各种情况, 学生的编程往往只停留在依教师的例题“画瓢”的水平, 一旦稍有改变, 便出现举步维艰的困惑。出现以上问题主要是学生在学习过程中, 往往注重单个知识点的学习, 而忽略了各知识点的衔接, 等到用时不知道如何运用这些知识, 形成不了完整的应用程序, 以致不能产生预期的效果, 从而使学生对该课程失去了兴趣, 感觉该课程在工作中实用性不大, 失去了学习编程的积极性。

措施:针对初学者对VB程序设计所知甚少的实际, 围绕VB应用程序开发的界面设计, 属性设置和代码编写三个环节。以教授程序设计的基本方法为主线, 内容按照界面设计与算法设计相结合, 突出VB可视化程序设计特点的原则:可视化编程。尽量体现由简及繁, 由浅入深, 循序渐进, 符合教学规律, 做到举一反三。课堂教学中或者课后作业布置一些实际生活中用VB编程用得着的小程序, 例如倒计时器, 上网时间限制器等。提高学生的学习兴趣, 加强了编程的积极性。

误区二:学生学习方法有误

目前成人学生由于工作压力大, 学习时间相对不多, 用的学习方法都是传统的“学中用”。所以学习效果不理想。

措施:要求学生做到“用中学”。学VB语言好比学一门外语, 学外语, 每天去背语法、背单词, 语法非常重要, 但到实际对话中, 就没办法说出来, 如果明白了这个道理, 那么, 你自然而然就会明白怎样去学习VB这个语言, 道理一样, 语法该背, 单词该记, 但最主要的是要在应用过程中去背这个单词, 背这个语法。就是要做到“用中学”。先看教师做例子----到模仿---再看书----再分析相关知识点以及一些语句, 根据这样的思路来学习。从而掌握VB工程的概论及编程的相关函数、语句的用法。可视化编程, 到了视窗时代, 图形效果时代, 窗体界面易操作, 极大减轻了编程过程, 主要是画界面, 编界面, 用鼠标画界面, 所见即所得。下面是一个简单的“加法”应用程序的开发方法

第一步:画流程图

第二步:画界面

第三步:编代码

通过上面“加法”应用程序的例子, 从而知道标签、文本框、命令按钮等控件, 知道了这些控件的诸多属性。知道了VB编程是先画界面再编写代码。

误区三:学员层次参次不齐, 混文凭的思想严重

虽然同学们入学都参加过统一的成人高考, 但目前, 入学门槛低, 由于种种原因, 学生的知识接受能力和认知程度不同, 因而表现出来的学习积极性不同。

措施:学生是学习和发展的主体, 学生是课堂教学的主体, 充分激发学生的主动意识和进取精神, 有利于学生在感兴趣的自主活动中全面提高程序设计能力。课堂教学的效益不在于教师教了多少, 而在于学生学到多少, 而学生学到多少取决于学生参与课堂教学的热情和主动性。只有学生积极主动参与学习, 充分地思考, 教师的努力才能取得效果。要想使学生积极, 认真负责地投入学习, 我认为首要的是要发挥学生的主动性。教师在教学过程中要善于启发和诱导学生独立思考、积极思维, 充分调动学生学习的自觉性和积极性, 使学生融会贯通地掌握所学知识, 提高分析问题和解决问题的能力。教师要重视培养学生的探索心理, 鼓励学生积极思考和质疑。在教学过程中教师要充分发扬教学民主, 建立民主平等的师生关系, 师生之间要做到充分的交流和沟通, 生动活泼地开展教学活动。程序设计教学可讲的内容很多, 但授课时和学生认知水平的限制, 不可能也没有必要把所有的内容都讲到。多年的教学实践表明, 将部分教学内容设计成专题留给学生进行有准备的课堂讲座或讨论以及将一些教学内容提炼成问题作为学生的课外思考题等方法往往更能调动学生学习的主动性, 常常收到一些意想不到的教学效果。

VB基础教育 篇9

近年来, 山东省计算机文化基础考试已成为山东高职院校计算机必考课程。为此便于考试和教学, 我们自主开发了《计算机基础模拟软件》。

该模拟软件包括操作题与客观题两部分。我们选择使用VB6开发考试系统的主要模块及界面。操作题编程与Offi ce后台宏语言 (Visual Basic) 联系密切, 录制的宏经简单修改便可形成系统子模块。在数据存储方面, 我们选用VB的文件系统对数据文件编程, 从而在方便数据加密的同时又可减小系统的大小。

2 Windows操作题与系统打包技术

Windows操作题部分在整个系统中属于最简单的部分, 这得益于VB6封装良好的File System Object对象。通过访问此对象的方法与属性, 我们可以轻松地实现试题内容的生成与相应的评分。

系统打包方面, 我们选用Inno Setup。Inno Setup是一个免费开源的安装制作软件, 小巧、简便, 支持pascal脚本, 能快速制作出标准Windows2000风格的安装界面, 足以完成一般软件安装任务。

3 基于Office对象模型开发Office操作题模块

微软Offi ce产品中引入了Offi ce对象模型并内置了VBA编程语言, 还内置了友好的宏记录器, 因此利用0ffi ce提供的VBA功能, 实现Offi ce操作题的自动评分。Word、Excel、Power Point三个模块的编程思路极其一致, 下面仅Word部分评分模拟的实现原理。

首先, 检测考生文件夹下word文档是否存在。如果存在则继续执行;如果不存在则判为分 (存储到全局变量i Word中) , 并退出模块。相关代码如下:

上述过程执行的最后, 我们把考生得分及可能的错误信息全部保存到全局字符串变量str Word Result, 由评分模块访问这个变量来显示Word部分做题信息。

4 客观题模块的设计

客观题内容的屏幕呈现实现于系统主窗体frm Main后台代码中, 通过操作各客观题文件实现, 是整个系统开发的关键之一。

(1) 动态显示客观题内容。如何显示跨越屏幕边界的大对象, 这是系统要动态显示客观题内容必须解决的问题。我们所采用的方案主要了来自MSDN的技巧:引入两个Picturebox控件 (父子关系) , 并使用Hscroll Bar或Vscroll Bar (本例中使用) 控制作为子控件的Picturebox在父Picturebox中的显示位置, 因为作为子控件的Picturebox的某一部分一旦超出了父Picturebox的边界就成为不可见的。在我们的项目中设置了三对Picturebox控件, 分别用来实现动态显示单选题、多选题及判断题内容。

(2) 加载客观题内容。加载客观题内容是一个极具挑战性和技巧性的问题。问题的关键在于这里的控件是动态生成的。一般地, 在VB6中动态生成控件主要有两种方案:一种是使用VB6以前的控件数组, 另一种是使用VB6始引入的With Events变量。但在本系统环境下需要生成大量的控件, 而VB6中是不允许创建With Events变量数组的, 因此, 我们决定使用控件数组方案来生成大量的控件以显示客观题内容, 而且这样更便于统一控制控件的事件。

5 小结

总体来看, 开发计算机基础模拟软件的主要技术关键有:Offi ce后台宏录制模块及Offi ce DOM对象模型编程;利用Picturebox控件与Vscroll Bar控件显示客观题与内容的动态定位。

目前, 该系统已经成功应用于学院的计算机基础教学及模拟考试。但是, 该系统也存在一些不足, 例如, 系统仅实现了单机版, 需手动记录学生成绩, 尚待解决。

摘要:针对模拟软件开发中的客观题和操作题模块的设计问题进行了探讨, 特别剖析其中涉及的关键编程技术。

关键词:VB6宏,Office2003,DOM对象模型

参考文献

[1]曾伟民, 邓勇刚等编著.Visual Basic 6.0高级实用教程[M].北京:电子工业出版社, 1999 (10) .

[2]明日科技编著.Visual Basic开发技术大全[M].北京:人民邮电出版社, 2007 (04) .

VB基础教育 篇10

行动导向, 是指由师生共同确定的行动产品来引导教学组织过程, 学生通过主动全面的学习, 达到脑力和体力劳动的统一。行动导向教学一般采用跨学科的综合课程模式, 不强调所学知识的学科系统性, 而改为重视“真实案例”和“解决面临的问题”, 以及学生进行自我管理式的学习。教师的任务也相应变为为学习者提供咨询和帮助, 并与其一起对学习过程和结果进行评估。

部队院校的学员绝大多数是经过统一招生考试, 择优录取的战士。他们大多具备高中文化程度 (极少数学员还是大专毕业) , 在部队服役了一段时间, 是同年兵中的佼佼者。有两方面突出特点:

1.1 学员没有就业压力, 思想不够重视

部分学员认为自己掌握的水平已经能够应付将来的工作, 还有一部分学员认为自己以后所去的岗位工作, 不用掌握很高的计算机水平。换句话说, 根本不用经历“面试”和找工作的考验, 觉得自己无论成绩、水平怎样, 都会有一份工作。学员没有就业的压力, 也就没有学习的动力。

1.2 学员计算机水平参差不齐

由于学员来自不同地区, 计算机普及程度不同, 中学对学习信息技术课的重视程度不同。同时, 由于他们在部队时因岗位职责不同而接触计算机的频繁程度不同等原因, 造成了学员一入学, 其计算机水平就不在同一条起跑线上。

2 行动导向教学在《VB程序设计》中的应用

《VB程序设计》课程是一门着重于动手实践能力的程序设计课程。在传统的课堂上, 教学内容相对偏重于计算机语言。教学模式也是传统的方式, 即注重程序语言的基本语句、语法和一些代码的介绍。由于教学目标不是站在如何使用程序解决实际问题的角度, 也就没有把程序理论与解决实际问题相结合, 就不可能有效的提高学员分析和解决问题的能力。

因此, 在《VB程序设计》课程中使用行动导向教学, 可以有效的促进知识和能力的相互转化, 提高教学质量, 进而培养学员的任职能力。根据VB的教学内容, 可划分为初级的“基础模块”教学, 中级的“分组模块”教学, 和高级的“项目驱动”教学。

2.1 基础模块教学

针对basic语言、用户界面、窗体、可视控件这些内容, 在进行课程教学设计和组织时, 可以按照“了解—学习—模仿-分析-掌握”这条主线来组织教学。其步骤是:

第一是了解阶段, 根据所要讲解的知识点, 编写几个趣味性较高的程序, 演示给学员看, 增加其吸引力。

第二是学习阶段, 详细讲解本次课的知识点。

第三是模仿阶段, 学员走进实验室, 依照例题 (或本次课的示例代码) , 进行简单的程序设计。对发现的错误, 记录下来。

第四是分析阶段, 在课堂上, 由学员自己把上机中遇到的问题讲出来, 再由其他程度较好的同学 (或教员) 分析此类问题的原因和解决方法。最后, 由教员讲解此类问题所涉及的语法点。由于学员已经有了感性认识, 再次分析, 就比较容易理解和记住。在这个阶段, 教员可以观察不同学员的层次状况, 了解和掌握学员大致的编程和调试水平, 为后继的课程提供参考。

第五是掌握阶段, 在分析阶段的基础上, 教员再设计几个同一知识点的类似的题目, 让学员自己编程。在设计题目的过程中, 把握好题目难度的跨度, 有一种阶梯感。即让程度较低的同学通过解决一个问题来获得成就感, 又可以让水平较高的同学体会到挑战性。经过这样循环往复, 对于简单的程序设计, 学员很快就可以掌握了。

2.2 分组模块教学

在基础模块环节中, 虽然经历了“学习-模仿-分析”的形式, 但并没有脱离“教员讲, 学员听”的本质, 提高的也仅仅是学员分析代码的能力。在分组模块教学中, 学员的分析能力, 从“代码”层次逐步提高到“问题”层次。

此模块是从基础模块发展而来, 又为后继模块提供了基础和前提。在这个模块中, 教员按照不同层次水平相互搭配的原则, 将同学们划分为若干个小组。每个小组中不同成员的任务有所不同。每一个小组有一个自己的程序题目, 这个题目可以是多个知识点的合集, 也可以是某个知识点的拓展和延伸。比如:制作VCD播放器、制作实用托盘程序、动态监视内存状态、在VB中操作Excel、P2P文件传输程序。

在教员的指导和控制下, 小组内的不同成员, 完成不同的任务。依照程序开发的过程, 有的同学分析程序思路、有的画流程图、有的编写代码、有的调试程序、有的写程序说明书。最后, 教员再针对每位同学给出分析和点评。

2.3 项目驱动教学

在完成了前两个阶段后, 学员进入整个教学环节的最后一个阶段, 项目驱动教学。

项目驱动教学是指把现实中一个实际的问题 (或项目) 交给学员, 在教员的指导下, 按照真实的完整流程进行, 完成整个任务。这些流程包括:客户沟通/资料查找、需求分析、总体设计、分解任务、项目编码、系统测试、客户反馈、修改完善等环节。

在项目驱动中, 比较适合的实际例子有:企业QQ模块、板材排料模块、短信息管理平台、住房公积金管理系统、健身房管理系统、批发零售管理系统、图书综合管理系统。

以“图书综合管理系统”为例。实施前, 每个小组的组长带领本组同学查找相关资料, 进行需求分析。在充分询问教员和其他小组同学的观点后, 开始总体设计。在任课教员的带领下, 全体同学选出最合适的总体设计, 然后分解任务, 划分出子模块。

比如, 此项目可以划分为七大模块, 分别是:系统登录模块、基础信息模块、进销存模块、借阅模块、分析模块、系统维护模块、系统管理模块。

将不同的子模块, 交给不同的小组进行开发。小组成员进行讨论, 确定该子模块实现的功能和下属模块, 并完成该模块的项目编码和系统测试。 (该小组成员需进行任务分配, 有详细设计功能的, 有编写代码的, 有负责测试程序的。) 最后, 由各小组进行展示本组子模块, 其他小组提出修改意见。从而达到客户反馈和程序修改的作用。

3 教学环节中学员的任职教育培养

学员任职教育的培养是与教学中各个环节一一对应的。

在“基础模块”中, 通过教员的演示和讲解, 学员具有了basic语言编程的基本技能。经过错误分析, 提高了描述和表达存在问题的能力。在模仿和掌握环节, 又培养了学员代码模仿和VB程序调试的技能。

在“分组模块”中, 学员观望等待的依赖心理被化解了, 由被动变得主动。教学任务的分配, 提升了学员解决问题的责任心, 他们需要主动的去分担重任。在小组内成员完成不同任务的过程中, 培养了学员书写程序设计文档的基本技能、解决实际问题的能力和严肃认真的工作作风。同时, 在相互交流的过程中, 锻炼了合作与沟通能力。使学员明白, 无论是在计算机的项目中, 还是在重大执勤中, 相互合作都是最重要的。

在“项目驱动”中, 学员要勇于探索、自主学习。在开始的查找资料、需求分析阶段, 学员要充分的收集和利用各种资源与信息。在搜集素材的过程中, 还要学会价值判断, 摈弃无用的或意义不大的信息。接下来的总体设计环节, 锻炼有效沟通、化解冲突的能力。他们既需要满怀信心的去表达, 又需要尊重对方、做好听众。在化解冲突的过程中, 又可培养变换角色、替人着想的应变能力和一定的说服力。同时, 学员的创造性和创新能力, 在反复的讨论中, 也慢慢的形成了。当教员将不同的子模块交给不同的小组开发时, 学员可以发挥自己的组织和协调能力。在客户反馈和程序修改阶段, 有利于学员形成承受挫折的能力。

4 结语

近年来, 部队院校按照“紧贴时代发展, 紧贴部队任务, 紧贴岗位需求”的目标, 积极深化任职教育改革, 坚持以基层部队岗位任职需求为契机, 以教学內容改革为核心, 以教学方法改革为重点, 着力打造复合型士官人才, 为深入推进我军士官教育改革发挥了积极作用。

只有大刀阔斧地改革教学内容, 编选实用、适用的教材, 改变思路, 创新教法, 才能较好的构建“课堂向岗位迁移、理论向实践延伸、知识向技能转化”士官教育新体系。

摘要:本文针对部队院校学员特点, 提出一种使用行动导向教学来培养学员任职能力的方案。分析了行动导向教学的特点, 并以《VB程序设计》课程为例, 描述了行动导向教学在课程中的应用, 和教学环节中对学员任职能力的培养。

关键词:行动导向,部队院校,任职教育

参考文献

[1]国静萍.浅谈边防部队院校计算机上机操作课的教学策略[J].科技信息, 2010.

[2]王慧超.浅析部队院校任职教育改革中推行小班教学的利弊点[J].价值工程, 2011.

[3]徐超, 葛红美.Delphi程序设计.课程教学方法的改革与实践[J].和田师范专科学校学报 (汉文综合版) , 2008.

[4]万蓉.基于行动导向.C语言程序设计.的教学实践[J].成都航空职业技术学院学报, 2008.

VB程序设计教学方法探析 篇11

关键词:程序设计;教学方法;能力

中图分类号:G642文献标识码:A文章编号:1009-3044(2007)12-21704-01

An Exploration of VB Program Design Teaching Methods

YAN Li

(Department of Computer Studies,Anhui University,Hefei 230031,China)

Abstract:In teaching program design, finding new ways to solve the dryness and complexity of program design has always been a fascinating subject for many computer science educators. This article provides several ideas on the following aspects of teaching VB program design:how to improve course quality, how to enhance the teaching effectiveness, how to nurture and strengthen students’ ability and creativity in analyzing and solving a design problem, etc.

Key words:program design;teaching methods;aptitude

程序設计语言类课程的指导思想是:使学生通过学习既掌握高级编程语言的知识、编程技术和基本算法,又掌握程序设计的思想和方法,更具备利用计算机求解实际问题的能力,能灵活运用高级语言进行程序设计。其重点是培养学生掌握程序设计的思想和方法,难点是作为程序设计的入门课程,应当如何引导学生突破传统的思维方式,培养程序设计的新思想。本文结合教学实践与理论思考,谈谈在教学上的一些经验和体会。

1 采用实例教学法,培养学生学习的兴趣

兴趣是学习的关键,兴趣决定了教学效果的好坏。在程序设计教学中要从学生的兴趣入手,选择一些有趣的、有实际意义的程序,激发学生的学习兴趣。在VB程序设计的第一节课,简单地介绍了VB的发展历史后,我就演示了一个动画作为引例,如下图所示,一行文字“欢迎使用Visual Basic”在具有背景图案的窗体上、下移动(稍改动也可左、右移动)。移动方法有两种:单击手动按钮一次,移动50twip单位;单击自动按钮,按时钟触发频率连续移动;当内容超出窗体范围时进行反弹。

这个动画立刻激起了学生的好奇心,在演示过程中再通过介绍,可以让学生很直观地体会到VB具有面向对象、可视化、事件驱动、模块化、简单易学等特点。

2 采用问题驱动法,激发学生的学习主动性

在教学过程中提出问题,集中学生的注意力,促进学生主动思考、主动探索,可以使学生在学习的过程中成为主体。实际上,问题是最好的老师,是学生学习的引导者,没有问题便没有深入,老师要引导学生在解决问题中学习,即提出问题,留给学生时间思考、讨论、解决问题,从而更深入地展开学习。实践证明,这种教学方法充分调动了学生学习的积极性和主动性。

例如,在讲数组的概念时,老师先设置问题:编程计算10个人的英语平均成绩。根据以前所学,学生会想到:需要说明10个类型相同的变量用于存放这10个人的英语成绩。再进一步要求:计算50个人的英语平均成绩。这时候如再说明50个变量,则会将问题麻烦化,学生此刻需要讨论该如何合理说明变量。再深入一步:求100个人的英语平均成绩。此时,当教师引出数组的概念、分析数组的性质时,学生不仅能够很容易记住数组的性质,还能够知道在什么情况下使用数组类型,事半功倍。

3 采用逐步渗透法,促进学生综合编程能力的提高

学习程序设计是一个逐步积累的过程。对于有难度的知识点,采用先用一个简单的例子让学生有所了解,再引入一个复杂一些的例子,深入理解和掌握,然后再加以概括和总结。让学生对知识的认识、理解、运用有一个逐步深入的“螺旋式”上升过程。

例如,学生在学习For……Next循环时,书本内给出了一段求1到100之间所有奇数和的程序。代码如下:

Dim I as Integer, S as Integer

S=0

For I=1 to 100 Step 2

S=S+I

Next I

这段程序在学生弄懂For……Next循环语句之后,理解起来是并不困难的,但为了提高学生的综合编程能力,我对题目要求做了如下几种变化:

(1)求1到100之间所有偶数的和。

(2)任意输入一个自然数N,求1到N之间所有数的和。

(3)求N!即1*2*……*N。

(4)求1!+2!+3!+……+N!

这里的第⑴题和课本程序相比难度不大,学生通过模仿就可以完成。第⑵题增加了难度,即循环变量的终止值需用变量N来表示,因此需要在程序的前面增加一条定义变量N的语句,还需要使用InputBox语句在程序运行的过程中将终止值输入给变量N,这就要求学生能够把前面所学的知识综合起来运用。第(3)题不但要将第(2)题的加换成乘,S的初值也不能再置为0了。第(4)题则容易将学生引到双重循环上去,其实,在第(3)题增加一个累加变量就行了,这对刚刚学习编程的学生来说还是有一定难度的,但通过练习,学生的综合编程能力可以得到训练和明显提高。

4 及时归纳小结,提高学生的学习效率

程序设计的教学,一般都是从局部分散地讲,如果不归纳总结,学生则难以形成完整、清晰的框架,因此,教学中要及时归纳、做好小结。归纳可以是一个控件多方面(如事件、属性设置等)的归纳,也可以是对一种结构的归纳(如分支结构的归纳)。总结可以是一课的总结,也可以是几课的总结。归纳总结的形式也可以多种多样,可以使用文字概括,也可以使用图示总结,重难点要着重强调。这种归纳总结,一方面有利于学生理解知识、融会贯通,顺利实现知识迁移,另一方面对于提高学生的学习效率也有很大的帮助。

5 合理运用多媒体教学,提高教学效率和学生的综合思维能力

直观、形象、便捷的多媒体教学可以使学生在有限时间内迅速理解、掌握、获取更多知识和信息,VB不仅仅要教会学生语法知识,更要通过课程教学,培养学生抽象思维和逻辑推理能力,掌握程序设计的思想和方法。教学过程中,我们要有选择地使用多媒体教学,将VB语法中非深奥理论和逻辑推理的内容(如数据类型、运算符、语句及部分语法规则),运用多媒体教学直观、形象地讲授给学生,加深其对问题的理解。这样的多媒体教学,收到了将抽象问题形象化、枯燥问题生动化的效果。对于多媒体教学不易实施的程序设计方法的讲解,则采用传统的教学方法,教会学生如何思考、推理,如何用语句实现算法,培养了学生的抽象思维、逻辑推理能力。这样,将传统的教学方法与多媒体教学相结合,大大提高了学生的综合思维能力。

总之,教学方法在程序设计教学中举足轻重,它制约着程序设计教学的效率。在教学过程中,学生知识的获得、能力的培养、智力的发展,不可能只依靠一种教学方法,必须把多种教学方法合理地结合起来,并根据教学过程的实际情况,灵活地、创造性地掌握教学过程,以争取获得最大的教学效果。

参考文献:

[1]龚沛曾.Visual Basic程序设计与应用开发教程.

[2]张书云.程序设计语言课程教学方法探析.

VB基础教育 篇12

一目前高职非计算机专业VB教学存在的问题

在实际的教学中, 对于非计算机专业来说, 这门课教学存在学生不爱学、怕学、没兴趣, 教师不好教, 教学效果差的现象。学生对程序的阅读能力、编程技巧等很欠缺, 更谈不上软件开发能力。

造成上述现象根本原因是个教学方法问题。首先, 不能激发学生的学习兴趣, 没兴趣自然不会用心学习、钻研它。其次是教学方法陈旧, 老师讲和学生练是分开的, 实训不及时。实训内容缺乏创新性, 影响学生学习积极性。所以, 要提高VB语言的教学质量, 真正提升学生素质, 就必须从教学方法入手, 全面改革VB课的教学。

二应用“教、学、做”一体化教学模式, 提高学生程序设计能力和综合素质

“教、学、做”一体化教学模式打破传统教学模式和学科式课程体系, 建立师生互动、理实结合、学生主导的“教、学、做合一”的教学模式。它将课堂放到实验室、实训室及企业车间, 使知识能很好、很快转化为实际操作能力。[1]

VB语言是一门实践性很强的课程, 通过开展“教、学、做”一体化教学, 能够很好地提高非计算机专业学生应用计算机编程思想分析、解决专业问题的能力。

1 设计情景, 激发兴趣

将VB知识, 融入到一个个学习情景中, 学生学习、实训的核心就是学习情景, 所以, 精彩的学习情景, 不仅能达到传授知识的目的, 还能激发学生学习兴趣, 提高学习质量, 增强学生学习这门课程的积极性和持久性。[2]

例如第一次课的学习情景可以设计一个简单有趣的小游戏, 这样可以让学生对认识VB编程环境, 知道程序设计的一般过程, 再通过实际操作, 消除对编程的陌生感和惧怕心理, 更能激发学习兴趣。

2 任务驱动, 训练思维

对于非计算机专业的学生来说, 学习VB一个重要的目的是掌握计算机编程的思想和思维方法, 以及编程的过程。

在实际教学中, 通过渐进式任务, 使学生在提出问题、分析问题、解决问题、归纳总结、扩展任务、再分析问题、再解决问题、再归纳总结、再扩展任务等的过程中, 通过对任务不断修改、讨论、展示、扩充, 提高程序编写及开发能力。

3 一体教学, 培养能力

传统教学方法的弊端就是教与学、学与做、做与学脱节, 学生在学习中普遍注重理论知识学习, 动手能力和应用理论知识进行程序开发的能力极差。

通过一体化教学, 教师在做中教, 学生在做中学, 实现教、学、做合一。教师理论少讲、精教, 开展互动式教学, 增加学生学习主动性, 增强学生对知识运用能力和创新能力;在学习中做、做中学, 通过苦练、勤练训练技能, 既培养学生工作技能又提高其职业素养。

4 打破常规, 多元融合

一体化教学模式, 从根本上打破常规教学体系和教学过程, 使教学的各个环节达到多元融合。理实融合, 即理论融于实践中, 教师不是单纯讲理论, 而是讲项目、讲情景, 还有教学融合、学做融合、专基融合、课堂内外融合等。通过多元融合, 使教学成为一个和谐、有序、高效的过程。

5 多样评价, 全面考核

应建立与一体化教学模式相适应的考试模式, 将平时与期末考核相结合, 理论与实践考核相结合, 单元能力与综合能力考核相结合, 学校考试与证书考试相结合等, 实现对学生的全面考核。强调动手和创新能力, 弱化考试的概念, 强调考核的作用。[3]

总之, 实践证明, 在VB语言课教学中实施“教学做”一体化教学模式, 以问题为切入点, 边讲、边学、边做, 强调实践和学生动手能力, 能很好地提高教学效果。

参考文献

[1]童加斌.高职教学改革——探索与实践[M].华南大学出版社, 2010.

[2]岂爱妮.“教、学、做”一体化教学模式的探索[J].职业, 2008 (12) :29-30.

上一篇:相关处理下一篇:人员招聘中的心理测试