孙明英
摘 要:本文就程序设计中循环结构的原理进行了剖析,特别对于死循环及循环语句结合条件语句的应用进行原理性的推理。
关键词:循环过程 死循环
在我们处理问题的过程中,常常会遇到这样一些情况:对于某类问题,处理的方法和步骤完全一样,只是要求重复执行多次,并且每次使用的数据按照一定的规律在变化,这就是一个循环过程。
循环结构的流程图如下:
循环结构流程图所表示的含义是:当满足条件时,不断执行A框。一旦条件不满足时,就不再执行A框,结束本基本结构,而执行它下面的结构。
不论是循环次数已知的情况,还是循环次数未知的情况,都存在一个循环变量来控制循环次数,而由这个循环变量的变化来改变循环条件,使得程序能正常退出循环。用循环语句编程时,最忌讳的是程序陷入死循环而不能正常结束。
死循环是在循环过程中,循环变量的值不会发生变化,此时的循环永不停止的一种情况。导致死循环的原因有很多,最根本的是循环变量没有发生变化或重复在一定范围内变化而使得程序不能达到循环结束的条件,而不一定非得是循环变量为零。如在BASIC语言程序中的如下程序段即是这样(BASIC语言程序是按行号顺序执行的)。
10 for i=1 to 5 step 0.5
20 i=int(i+0.5)*0.5)
30 print i
40 next i
在使用循环编程的过程中,我们也常忌讳通过条件语句从循环体外转向循环体外,因为正常的规则是:可以从循环体内通过条件语句转向循环体外。但在研究这些问题时,我们不能只注重形式,应该去剖析它的原理。如在BASIC语言中有如下程序段:
10 for i=1 to 10
20 if i<8 then 50
30 print i
40 next i
50 print i*2
60 goto 40
这段程序依然能够正常运行,原因是:虽然形式上看似乎是从循环体外转向循环体内,但从原理上分析可知当循环变量的值小于8时,输出其值的2倍,相反则输出其本身。在该程序段中每一次循环变量的值发生改变,相应的都能找到对应的输出语句,并及时返回到循环终端语句,没有违反循环语句的使用规则,所以能正常运行。
不论是在BASIC语言中,还是在其他编程语言中,编程原理都是一样的。在程序设计语言中,循环结构是一个重要组成部分,尤其在这一块,很多题型,大量练习都分布在这儿。在指导学生编程的过程中,除了引导学生对不同的题型运用不同的方法进行分析外,重点让学生掌握循环结构中循环语句的格式及其使用原理,这样才能使学生以不变应万变,融会贯通,从而提高学生的程序设计方面的应用和创新能力。
参考文献:《BASIC语言程序设计》.电子工业出版社出版
作者单位:河北省阳原县职教中心