内容正文:
循环结构的程序
学习目标
1.掌握循环结构流程图的画法。
2.掌握单循环结构程序的设计方法。
应用顺序结构,计算机可以按顺序执行一系列的语句;应用选择结构,计算机可以有选择地执行一系列语句。但在实际问题中,会经常遇到反复进行一系列处理才能解决的问题,这就需要循环结构的程序。
举一个简单的例子,用QBASIC语言的SQR(x)函数可以输出一个数的算术平方根。要求出1到9这9个自然数的算术平方根,可以写出下面的程序。
那么要求出1到100这100个数的算术平方根,就得写出100条类似的语句。还有上节我们计算铁路托运行李费的程序,要计算100件行李的托运费,同样的程序要运行100次,这样做显然是非常麻烦的,QBASIC为我们提供了循环语句,可以使程序变得非常简明。请在QBASIC工作窗口中输入并运行下面的程序,体会循环结构的程序及作用。
多向思维
FOR语句中的循环变量终值能不能小于初值?为什么?
FOR-NEXT语句的流程图如图所示。
【例2】求S=1+2+3+…+99+100的值。
分析:题中的加数的变化是有规律的,我们可以用步长值为1的循环来得到这100个数,再将它们累加到变量s,为此需要先将s的值置为0。
分析:用h代表下落的高度,r来代表反弹的高度,s代表小球经过的路程。由已知条件可知:h的初值为100,反弹高度r=h/2。每一次小球都要经过下落和弹起两个阶段,小球经过的路程为h+r。如图2-5-2所示,小球第二次下落的高度等于上次弹起的高度。如此重复10次。
由上面的分析可知:本题需要反复多次计算小球的反弹高度和小球经过的路程,反复的次数是10次。
【例3】小球从100米高空落下,落地后反复弹起,每次弹起的高度都是上次高度的一半。编程求此球第10次落地后弹起的高度和小球经过的路程。
多向思维
如果将例3的要求改为:求第几次落地后弹起的高度小于0.001米,有办法解决吗?
小结
循环结构是重复执行某一段程序的结构,是程序设计的基本结构之一。
阅读材料
当型循环和直到型循环
1.当型循环
在很多情况下,我们需要下面的循环过程:先判断循环的条件,若条件成立,则执行循环体,循环体执行完后,返回去判断循环的条件;若条件不成立,则不执行循环体,而执行循环体后面的程序,这就是当型循环。
在QBAS