编程小博士(19)
软件世界
循环的特点
问:刚开始使用循环结构时,总觉得比较难理解,为什么要有循环结构这种形式,它和前面两期讲到的分支、顺序结构相比各有什么特点?
小博士:循环相对顺序结构和分支结构好像是多余的。因为只要有了顺序结构和分支结构,一切问题就都能处理。循环和前两类结构的区别在于,循环可以很简单地描述前者重复性的问题。
先看看下面这个例子:
a=a+1
a=a+1
a=a+1
上面所示如果是一段程序,可以说它是执行了三个a=a+1语句,这样的语句用VB描述如下:
for i=1 to 3 step 1
a=a+1
next i
上面的三句所组成的程序段就是:执行三个a=a+1。i=1 to 3 step 1部分是描述中间的循环体部分究竟执行多少次的。再来看看下面这个示例:求1×2×...×10的积。
示例分析
做这个题目的时候,你最好不要用这样的公式1*2*...*10 (中间不能用...省略的形式),那是在考查大家的打字速度了。
用s加下标来表示积的值,求十个数的积,从求1个数的积开始找找规律:
1个数的积:s1=1
2个数的积:s2=s1×2
3个数的积:s3=s2×3
……
10个数的积:s10=s9*10
上面式子中用到s1到s10十个变量,而对于我们计算的结果来说,只要有一个积的值就够了,为了使他们看起来尽量相似,现在我们试着将s1~s10的下标都去掉,再进行一些改进
原始s的值:s=1
1个数的积:s=s×1
2个数的积:s=s×2
3个数的积:s=s×3
……
10个数的积:s=s×10
从上面的程序改进来看,应该对结果不会有影响。现在你可能已经看到规律所在,我们再将这个思路改进成程序,这就是典型的循环语句了。
s=1
FOR i=1 TO 10 step 1
s=s*i
NEXT i
总结
循环在句式上有四个要点:循环开始的条件、终止的条件、循环的内容和次数。而循环问题的特点是:同样的或同类的问题重复出现。只要遇到上面的情况,就该利用循环了。