VB程序设计教学方法探索:面向对象程序设计例子

  【摘要】高等院校普遍开设了计算机程序设计课程,对非计算机专业学生而言,该课程入门难,学生学习感觉无从下手。笔者针对这一问题,结合本校学生实际情况,在VB程序设计教学中,做了一些有益的探索。本文阐述了如何在教学中运用实例教学、问题教学等方式,将教学与实际应用相结合,加强培养学生在编程中的逻辑思维能力以及独立思考能力。
  【关键词】VB程序设计 教学 实际应用 能力
  
  1.引言。从事VB程序设计这门课有几年的时间,在教学过程中发现学生学习较为被动,将很灵活的编程变成死记硬背,无法独立地将实际问题转换成程序语言。国家新的《基础教育课程改革纲要(试行)》强调:课程的功能要从单纯注重知识的传授转变为体现引导学生学会学习。这就要求教师在教学过程中要处理好传授知识与培养能力的关系。通过多样化的教学手段,将枯燥难懂的知识变得富有趣味性,激发学生的学习兴趣,同时培养学生自主发现问题、独立解决问题的能力。
  2.教学过程中的重要环节。
  2.1VB的“控件”。VB中的“控件”类型丰富,使用起来灵活多变。实际的应用程序对“控件”的要求有繁有简,学生到底该学多少,他们自己不容易把握这个度。这就要求我们老师要起到很好的引导作用。讲解时可先用新颖实用的例子引发学生的兴趣,通过这些例子讲出“控件”的属性、方法等知识点;另外,每讲完一个“控件”应立即做总结,点出哪些是该控件的常规用途,必须掌握,哪些是较复杂的部分,可以选择性学习。在开始学习过程中,学生比较生疏,把握不到重点,所以在出现较典型例子时,要提示学生注意,并让他们根据自己的情况给程序做出适当的注释。
  2.2VB的语言基础。现在高校逐渐引入了多媒体教学,但在讲解程序的时候,如果只用投影仪效果并不太好。例如下面这个程序:
  有5个人坐在一起,问第5个人多少岁?他说比第4个人大2岁。问第4个人多少岁,他说比第3个人大2岁。问第3个人多少岁,又说比第2个人大2岁。问第2个人,说比第1个人大2岁。最后问第1个人,他说是10岁。请问第5个人多大?
  程序代码如下:
  Function Age(ByVal n As Integer) As Integer
  Dim c As Integer
  If n = 1 Then
  c = 10
  Else
  c = Age(n - 1) + 2
  End If
  Age = c
  End Function
  
  Private Sub Form_Click()
  Print "Age(5)="; Age(5)
  End Sub
  此题用的是函数的“递归”调用来求解的。求解过程包括“回推”和“递推”两个部分,程序代码简单,但程序执行的过程不容易理解。笔者认为可以将程序的源代码用投影显示出来,而执行过程一定要在讲解时逐步在黑板上演示出来,方便学生理解。
  2.3讲解示例的选择。在VB程序设计这门课中,程序实例的选择是相当重要的,它直接影响到学生对知识点的理解,我们选择时应尽量做到实用性和必要性。
  如:求某数的阶乘(或求两数的最大公约数)。这样的题目用普通的循环语句就可以很简洁的求解,另外用函数的“递归”调用也可求解,但比较繁琐。在讲解的时候可以通过它们让学生领会“递归”的用法,但同时也应说明,在实际编程中应当选用较简洁的算法。
  又如:在实际编程中,一般要求变量、控件的命名做到见名识意,并加一个前缀来表示对象的类型。如:frmMain、cmdOpen、textAddress。但在课堂上讲解例子时,学生一方面对控件还不是很熟悉,一方面还要学习新的知识,如果用这种名称会给学生造成负担。实际上课堂例子一般是为了讲解某个单一的知识点,所以整体结构较为简单,控件数量较少,这时使用控件的默认名称反而更容易看懂。
  2.4较难理解的概念。VB中有的概念比较抽象,不容易理解,我们是该立即讲解还是该先放一放,先看下面这种情况:
  对于变量的“作用域”这个知识点,有的课本上会在讲解变量声明之后马上提出,这个时候学生刚刚接触VB的语法部分,只能简单理解概念,而无法通过较复杂的程序让其体会“作用域”的实际价值。如果我们先跳过这一段,对学生学习后面的知识并没有什么影响,而学习内容逐渐增加后,再来讲解这个问题就容易多了。如下面这个例子:
  
  这是一个简单的闹钟程序(如图1)。运行时窗体上显示当前的系统时间,用户在文本框中输入需要定时的时间,然后单击“定时”按钮,当到达预设时间后系统将发出“滴滴”声。该程序代码如图2所示,其中Chour和Cminute变量在不同的事件过程中多次使用,所以必须将其设为模块级。这个程序是在讲解时钟控件的功能时用到的,而在本程序中变量的“作用域”得到了很好的体现,学生在理解上就比较具体。
  对于类似的问题,我们在讲解时可先跳过,当学生学习了较多语法知识,接触了多种程序实例后,再对这些比较抽象的概念进行讲解,将会收到较好的效果。
  2.5练习。想要学好程序设计,除了掌握基本知识点外,多动手练习也是相当重要的,但也不是盲目的练习。教师在布置作业时,要指出这个练习的意义在哪里,巩固了哪个知识点。学生学习编程的初期,往往难以把握编程思路,这个时候可以先将程序算法介绍给学生,然后让他们用vb的语句将程序补充完整。如下面这个例子:
  求a、b、c中三个实数的最大值、最小值。
  该例看似简单,但由于用到vb的嵌套结构,对初学者而言,如果逻辑思维不够清晰,实现起来有一定的难度。为了做到讲练的结合,可以让学生先思考,然后给他们讲解编程思路(如图3),最后让他们把具体的语句写出来。
  另外,在学习内容较多后,可以做阶段性总结,例如让学生自己单独编写一些综合性的程序。这样一方面能让学生回顾所学习的知识点,另一方面还能得到实际的编程锻炼,激发他们的学习积极性。
  2.6考试。现在的上机考试一般采用的是随机抽题的方式,但程序设计方面的题目很难保证难度完全一样,而且也不可能涉及到所有的知识点,这样一来就不能准确的反映学生实际水平。笔者建议在做课程设置的时候应适当提高平时成绩的比重,让学生能在课堂上、作业中以及上机实验的时候充分展示自己的水平。
  
  3.结束语。
  开设VB程序设计这门课不仅是为了使学生了解编程基本思想,同时也培养学生在学习中所需要的一些基本能力,如逻辑推理能力、抽象思维能力等,养成尽可能严密、合理的思考和解决问题的习惯。作为高校教师我们也要不断的更新知识,力求能做好学生的引路人。
  
  参考文献
  1 王小敏.Visual Basic程序设计.中国铁道出版社,2008.1
  2 许庆芳.Visual Basic程序设计与应用教程.清华大学出版社,2007.10
  3 刘彬彬.Visual Basic程序设计自学手册.人民邮电出版社,2008.3

推荐访问:教学方法 程序设计 探索 VB