编程小博士(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

  总结

  循环在句式上有四个要点:循环开始的条件、终止的条件、循环的内容和次数。而循环问题的特点是:同样的或同类的问题重复出现。只要遇到上面的情况,就该利用循环了。