1、第一章12.3 循环语句思路方法技巧命题方向用循环语句表示累加、累乘问题例1 分别用当型与直到型语句编写程序计算1232529992,并画出相应的程序框图解析 解法一:(当型循环)程序框图如右图程序如下:S0i1WHILE i999PRINT SEND规律总结:算法的设计带有灵活性和通用性,熟练地掌握这一类题的解法,对于解决与此相关的问题有很大帮助编写程序,计算135799的值解析 这是一个100以内奇数的累乘问题直到型:用UNTIL语句编写程序如下:S1i3DO SS*i ii2LOOP UNTIL i99PRINT SEND当型:用WHILE语句编写程序如下:S1i3WHILE i1000
2、0,设计一个程序,寻找满足条件的最小整数n.分析 我们可以用累加的方法,135,一个数一个数地向上加,直到加上一个数后和刚好大于10000,则这个数即为寻找的最小整数解析 解法1:程序框图如下图所示程序如下:S0i1WHILE S10000PRINT“最小整数为”;i2END规律总结:对于循环结构中的三个要素(循环变量、循环体、循环终止条件)来说,循环变量与循环终止条件比较容易识别,而循环体是关键,要由题意及所给算式的特征,找出自变量的变化规律,注意结合循环终止条件解决,所以循环体要从整体把握,结合其他知识解决求平方值小于2000的最大整数解析 可以把最小的正整数1赋给变量i,计算出其平方值,
3、判断其是否小于2000,若小于2000,将i1的值赋给变量i,即对变量i进行累加,并判断其平方值是否小于2000,直到i2值大于2000时,停止循环,将i值减去1就是所求的最大整数程序框图如图根据以上程序框图,可设计程序如下:i1 T1WHILE T2000ii1PRINT iEND3请思考改为求平方值大于2000的最小整数,该怎样修改程序最关键的是要明确,例2在当型循环中条件不满足时,i的值已比满足条件的i值大了1,还应注意ii1与Ti2语句的先后顺序对输出表达式的影响.命题方向循环语句与条件语句的嵌套例3 给出以下10个数:4,10,70,33,95,74,29,17,60,30.要求将大
4、于40的数找出来,画出求解该问题的算法的程序框图,并写出程序分析 可以从第1个数开始与40比较大小,若该数大于40就输出,小于或等于40则不输出,然后取下一个数与40比较这样需比较10次,可用一个计数变量的循环结构设计算法解析 程序框图如下图所示:程序如下:i1DO INPUT x IF x40 THENPRINT x END IF ii1LOOP UNTIL i10END规律总结:循环语句嵌套条件语句的解题思路是:先确定外层的循环语句,再逐步确定内层的条件语句一定要保证内层的变量与外层的变量不能冲突,引起矛盾输入1000个数,将其中的正数输出,并计算正数的个数,写出程序解析 程序如下:i0m
5、0DO INPUT x ii1 IF x0 THENPRINT xmm1 END IFLOOP UNTIL i1000PRINT mEND名师辩误做答例4 某商场第一年销售计算机5000台,如果平均每年的销售量比上一年增加10%,那么从第一年起,大约经过几年可使总销量达到40000台?写出解决此问题的程序错解 程序如下:S5000i0WHILE S40000 SS*10.1 ii1WENDPRINT iEND错因分析 错解中的循环求出的S不是总销量,而是每年的年销量用“mm*(10.1)”表示累乘,求出每年销量;用“SSm”表示累加,求出总销量正解 程序如下:m5000S0i0WHILE S40000 SSm mm*10.1 ii1WENDPRINT iEND