APP下载

浅析VB 程序设计中的循环结构

2019-04-12闫俊辉

现代计算机 2019年7期
关键词:步长计数程序设计

闫俊辉

(运城学院数学与信息技术学院,运城 044000)

0 引言

《VB 程序设计》课程摆脱了其他高级语言枯燥的交互模式,增加了对象化设计模式,通过在桌面进行窗体设计后来编写程序,大大提高了学生学习程序设计的兴趣,是很多高校文史经管类各专业计算机通识教育课的重要组成部分。通过学习《VB 程序设计》不仅可以锻炼学生的逻辑思维能力,还能提高学生利用所学知识解决实际问题的能力。

在《VB 程序设计》课程的学习中,由于涉及很多算法、数据结构和程序设计方法,因此,许多学生学起来较吃力,难度较大。其中算法是非常重要的组成部分。而算法中如何使用循环结构,使用那一种循环结构则是许多学生较难掌握的。

在《VB 程序设计》课程上课的过程中,如何让学生更好地理解循环结构的思路,掌握循环方法的应用,成了我们讲解循环结构的重中之重。只有深入浅出,才能让学生在学习循环结构时碰到对算法设计、语句使用等各种问题得以顺利解决。

VB 程序设计语言中循环结构的方法较多,大部分教师都会在第一课,利用数字累加和“S=1+2+3+…+100”来引入此结构。还会采用非常适合计算累加的最简洁的算法语句“For…Next”作为第一种循环结构来讲解,同时讲述“For…Next”的语句所使用的语法和规则。因为此语句学生更容易理解,更容易完成程序编写。

正是因为第一次课的讲解,会让学生对“For…Next”有着一定的依赖性,只要碰到使用循环结构,首先想到此结构,而忽略了循环中的其他方法的使用,造成使用不当。实际应用中,“For…Next”语句内涵丰富,注意条件较多,如果没有深度理解,容易造成各种错误[1]。

因此,教师可以改变一下讲解循环语句的顺序,按照“While…Wend、Do While…loop、Do loop…While、Do Until…loop、Do loop…Until、For…Next”六种循环语句的先后顺序依次讲解,来提高教学效果。

1 当型循环

第一类:“当型”循环,“While…Wend、Do While…loop、Do loop…While”

首先分析数字累加和“S=1+2+3+…+100”的算法(如图1),使学生理解循环结构的四个组成部分:①初始化:给循环变量和其他变量赋初值;②循环体:要重复执行的操作;③修正部分:修改循环变量的值,为循环的下一次重复做准备;④检查部分:测试循环条件,判断循环是否还要重复[2](表1)。

图1

表1

同时利用第一类“当型”循环去讲解VB 中循环结构中代码的详细编写过程,把代码和循环中的四部分(初始变量如何赋值、循环条件判断、循环体执行、循环变量改变)一一对应。三种“当型”循环代码如A、B、C方法所示。

然后再通过:奇数和偶数的累加和(“S=1+3+5+…+99”和“S=2+4+6+…+100”)等类似例子,加以巩固练习,让学生掌握循环条件的设置和循环体的构建,以及“当型”循环的使用方法。

对于“当型”循环,While 子句的作用是:当指定的条件表达式为真时继续执行循环体,当条件表达式为假时不再执行循环,如A、B 格式,是在循环体的入口处检查指定的条件是否满足,称为“前测试”当型循环;C格式是在循环体的结束处检查指定的条件是否为真,称为“后测试”当型循环,因此使用这种结构,循环体至少要运行一次。

2 直到型循环

第二类:“直到型循环”,“Do Until…loop、Do loop…Until”

通过“S=1+2+3+…+100”累加和的变式,用“直到型”循环“求1+2+3+…+100”的和[3]。通过分析循环条件和循环体。由于“直到型”语句的条件判断刚好与“当型”循环的判断相反,因此得出判断条件也是相反的,即“>100”,循环体没有发生变化,可以得到两种结构代码如方法1、2。

对于“直到型”循环,Until 子句的作用是:当指定的条件表达式为真时就终止循环的执行,这是与While的最大区别。同样也分为两类:一类是“前测试”循环,即在循环开始时检查指定的条件是否满足,如图3;另一类是“后测试”循环,即在循环体结束处测试条件,如图2。这两类的区别是:图2 是无条件执行一次循环体,然后再测试条件;而图3 中如果指定条件满足时则一次也不执行循环体,即退出循环。

(2)培养过程不利于高技能人才的培养。高职教育注重理论够用、实用,以学生为中心进行教学。当前很多专业课程的教学实施过程过于传统化,学生实训操作时间不足。没有将岗位的素质要求融入课程,不利于高技能人才的职业能力培养。

图2

图3

由此我们可以得到看出,判断一个循环结构是“当型”还是“直到型”,与是否执行了一次循环体无关,而是以跳出循环体的方式来确定,即:以“是”来脱离循环体的称为“直到型”循环,以“否”来脱离循环体为“当型”循环。

通过相关例子,让学生学会分析初始条件和循环体的构建,学会如何选择合适的“Do…loop”语句来实现循环。

3 计数型循环

第三类:“计数型循环”,“For…Next”

通过对“Do…loop”结构的学习,学生已经对循环的每个组成部分有了一定的了解,这时在讲解计数型循环,就可以把教学重点放在“For…Next”结构中较为复杂的语法上了。

我们还是用数字累加和“S=1+2+3+…+100”作为案例,计数型循环的基本结构如下:

For 循环的格式:

For 循环变量=初值To 终值[Step 步长]

Next[循环变量]

注意:

①当步长>0 时,循环执行的条件:循环变量<=终值

②当步长<0 时,循环执行的条件:循环变量>=终值

强行退出For 循环,请使用Exit For

通过基本格式了解计数型循环的详细执行过程(与“Do…loop”语句来实现循环的过程相同)。然后进行比较,让学生知道在For 循环中,循环变量初值、终值的设定及类型选择、步长的正负值给条件判断带来什么影响,以及循环次数的判断等不同之处,从而得到代码全过程如下。

同时还要强调学生注意以下几点:①For…Next 语句成对出现,循环变量名必须保持一致;②循环变量是数值型变量;③步长值可正可负,当步长为1 时,Step语句可省略;④初值、终值和步长值可以是常量,也可以是变量和表达式。从而得知For…Next 语句是一种非常适合已知条件的“当型计数”循环[4]。

通过对三类循环结构的对比讲解,学生基本掌握了各类结构的适用范围和语句中的注意事项。学生就可在编程时根据条件不同来选择不同循环结构来解决实际问题了。

4 结语

VB 程序设计中三种基本结构的流程,是符合人们的数学解题时的逻辑思维,容易理解掌握。只有循环结构“是在满足某种条件下的语句重复执行”,而不是简单意义下的复制,是会造成内部结构有规律的更新。如果直接让学生进行循环结构的代码编写,会有一定难度,很多学生无法直接完成。因此,教师除了讲解三类结构的基本规则外,可以多采取增加阅读题和填空题的形式,和学生一起分析程序的执行过程。包括程序中变量的变化情况以及最后的执行结果,从而让学生更深入了解循环结构的执行过程。以此来提高学生的逻辑思维、编程技巧和解决实际问题的能力[3]。

猜你喜欢

步长计数程序设计
基于SolidWorks和VBA的电机阶梯轴建模程序设计
基于OBE的Java程序设计个性化教学研究
项目化教学在Python程序设计课程中的应用
医学专业“Python程序设计”课程教学改革总结与思考
一种改进的变步长LMS自适应滤波算法
基于变步长梯形求积法的Volterra积分方程数值解
古代的计数方法
董事长发开脱声明,无助消除步长困境
古代的人们是如何计数的?
起底步长制药