Visual Basic课程程序控制结构之妙解三法
2021-11-24刘丽
刘丽
摘要:程序的控制结构是任何一门程序语言都要学习和掌握的内容,作为一门面向对象语言Visual Basic是全国计算机等级考试科目被纳入教学必修课,从事教学多年,如何让学生学好程序语言的控制结构,掌握编写程序的技巧一直是教学过程中的需要思考的问题。本文集中在讲解了三种结构的基础上,结合教学经验,自创了妙解三法,包括层次发、勾叉法和跑圈法,让学生能很快理解和掌握VB的三种控制结构,并将解题思路运用到二级考试当中,还能为掌握其他面向对象语言提供便捷的编程思路。
关键词:面向对象;程序控制结构;教学方法
1 引言
Visual Basic是一门面向对象程序设计语言(OOP,Object Oriented Programming)。从任何标准来说,VB都是世界上使用人数最多的语言——不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序[1]。作为一名有着多年使用经验和教学经验的教师,对Visual Basic有着丰富的经验和体会,通常新接触一门面向对象语言,都一定会学习程序控制结构,而这些面向对象语言无论其编程基础内容有多少不同,程序控制结构都大致是相同和相通的,分为顺序结构、选择结构和循环结构。这三种结构的组合和嵌套再形成更为复杂的程序结构。如何真正理解和掌握程序控制结构是一个重要的环节和难点,通过研究和思考,总结和创发了妙解三法来学习和掌握程序的编写和读取。
2 程序三种控制结构
面向对象语言是从结构语言发展而来的,所以同样具备三种基本的控制结构:顺序结构、选择结构和循环结构。顺序结构比较好理解,顺序结构是最简单的程序结构,也是最常用的程序结构,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行【2】。而选择结构和循环结构较之就复杂和困难很多。
2.1 选择结构(条件结构)
顾名思义,选择就是进行决策再执行操作。人们生活中时时刻刻在进行选择,如:如果天看起来要下雨,那么我们出门前就要带上伞,否则就不用带伞。设计计算机软件的最终目的是帮助人们处理事情,那么在程序设计语言中,也同样有这种表示“决策”的语句,那就是条件结构。在Visual Basic 中,最主要的条件语句是If…Then…Else,这几个词正是英语当中的“如果……那么……否则……”,实际上它表达的意思也就是这个。带伞的决策过程可表达为:
If (天要下雨) Then
出门带伞
Else
出门不必带伞
End If
最后的End If表示整个决策过程结束。这实际上是对一段程序的自然语言描述,可以看到,它在主体框架上使用了计算机语言,而在细节上使用了自然语言,这样的代码叫做“伪码”,它并不是真正的代碼。上面是一个简单的决策,只包含一个判断(天会不会下雨)。有时候,一个决策会包含很多判断,比如当一次考试的分数(百分制)出来以后,根据分数来判断考得如何:
If (分数是100) Then
考得太好了
ElseIf (分数高于85) Then
优秀
ElseIf (分数高于60) Then
及格
Else
不及格
End If
很显然,这里的ElseIf就是把另外一个If语句接在前面的Else语句后面,也就是在第一个决策后面再跟上一个决策,这种连接可以是无限的。VB的选择结构还有Selec......end Select分支结构,无论决策结构是什么样的,程序运行的E-R图是一样的。
2.2 循环结构
循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构【3】 。VB中有三种循环结构:计数循环(For—Next)、当循环(While—Wend)和Do循环(Do—Loop),学习的要点是真正理解什么是循环,循环的掌握关键是找到循环结构的三要素:循环变量、循环条件和循环体。以For结构为例,该小程序的循环变量是X,循环条件是1 to 5 step 1,循环体是sum = sum + x ,分析该程序就是满足条件的话,循环体重复执行5次。
For x=1 to 5 Step 1
sum = sum + x
Next x
3. 层次法
无论是选择还是循环如果只是单一的一种或一层结构都是比较好理解和掌握的,但往往的情况确实嵌套的出现或者组合使用,这个时候能清晰程序结构和层次是尤为重要的。层次法就是用于判断和清晰程序结构时使用的,层次法的口诀为:由内向外画括号,由上向下读程序。由图4所示,以条件嵌套为例,首先找到程序中最里一个层次IF(选择和循环都是如此),并用括号将离它最近一个结束end if 于之关联,往外推找到第二个IF和endif画括号,以此类推时候,再由上往下读取程序,即可清晰判断出本程序的程序结构。
4. 勾叉法
勾叉法通常用于判断选择结构的程序执行输出情况。观察选择结构的E-R图,总结出勾叉法,将程序输入值进行判断,条件真假用勾叉标注,选择结构只以第一个“勾”条件执行其Then后面的程序块,“X”处条件将不予以执行,可以理解为条件结构条件一判断为真,执行完真语句块就跳出该条件结构。
5. 操场法
顾名思义,用跑操场的实例来理解和判断程序结构,通常都是使用在循环和循环嵌套中。如图2所示,循环可以理解为重复做某事,循环变量是包(N)、循环条件是只有两只手(N<=2),循环体是每跑一圈那一个包(N=N+1),那么跑第一圈可以表示为如图3所示;跑第二圈时循环变量N为1,判断后条件为真,跑第三圈,执行循环体,循环变量N变为2;第三圈循环变量为2,判断条件为假,不执行循环体。无论是哪种循环,只要能明确程序循环三要素,理解起来都不困难,结合跑圈法和层次法,读写程序结构都变得很便捷了,
6. 妙解三法综合示例
该程序是一个结合了三种程序结构,并且有循环嵌套和多条件判断的小程序,如图所示,使用妙解三法即可轻松读懂程序结构。
7. 结束语
妙解三法可以帮助快速有效的理清程序脉络,掌握好该程序语言的控制结构,并且是万变不离其宗的,只要勤加练习,编写出复杂的控制结构程序只是一个时间问题,目前运用在教学中效果还是很明显的。妙解三法还可能存在一些小瑕疵,会在今后予以完善。
参考文献:
[1]http://baike.baidu.com/item/Visual+Basic?from_id=6044&type=syn&fromtitle=VB&fr=aladdin
[2] http://baike.baidu.com/view/552878.htm
[3] http://baike.baidu.com/view/552876.htm
[4]聂钰桢.全国计算机等级考试教程二级VB【M】.人民邮电出版社,2013