2.3.2循环语句课前新知预习[航向标·学习目标]1.通过实例理解、掌握循环语句、掌握用循环语句处理一些求和、求乘积问题的技能.2.了解用条件语句实现循环的方法.[读教材·自主学习]1.For语句的一般格式是:算法框图为:当计算机遇到For语句时,先,如果条件符合,就执行,然后再检查上述条件,如果条件仍符合,再次执行循环,反复进行该过程,直到为止,这时,计算机不执行循环体,直接跳到Next语句后,接着执行Next之后的语句.□02判断条件的真假□03For与Next之间的循环体□04某一次条件不符合2.DoLoop语句的一般格式为:算法框图为:当计算机遇到DoLoop语句时,先,再检查条件的真假,如果,就跳出循环体,执行LoopWhile之后的语句;否则,就再次执行,直到为止.□07执行循环体□08条件符合□09Do与LoopWhile之间的循环体□10条件符合[看名师·疑难剖析]1.循环语句的作用循环语句主要用来实现算法中的循环结构.在算法中需要反复执行相同的步骤时,我们通常采用循环语句.如在计算累乘积或累加和时常常使用循环语句.2.应用循环语句编写程序时应注意的问题(1)循环语句中的变量一般需要进行一定的初始化操作.(2)在循环体中一定要改变控制条件的变量的值,否则会出现“死循环”,并且循环体每执行一次,控制条件中的变量就应更逼近满足跳出循环体的条件.(3)与条件语句一样,循环语句也可以嵌套,但应注意内层与外层的对应关系.3.两种循环语句的区别是(1)当执行算法语句时,遇到For语句,首先记下初始值和终值,再把初始值赋给循环变量,若循环变量的值没有超过终值,就执行循环体,执行完循环体时,计算机让循环变量增加一个值,然后用增值后的循环变量与终值比较,若超过终值,则跳出循环体,否则继续执行循环体.(2)当执行算法语句时,遇到DoLoop语句时,先执行循环体,然后再判断条件,若不成立则再次执行循环体,这个过程反复执行,直到某一次符合条件为止.(3)用For语句描述算法时要注意设定好循环变量的初始值和终值,避免出现多一次循环或少一次循环的情况;用DoLoop语句描述算法时,一定要注意条件的写法,当条件为假时执行循环体,当条件为真时结束循环.课堂师生共研考点一两种语句的比较例1写出计算12+32+52+…+9992的值的程序,并画出相应的算法框图.[解]解法一:算法框图如下图所示.答案程序为:S=0i=1Fori=1To999S=S+i^2i=i+2NextPrintSEnd答案解法二:算法框图如下图所示.答案程序:S=0i=1DoS=S+i^2i=i+2LoopWhilei999PrintSEnd答案类题通法由题意知各项指数相同,底数相差2,可借助于循环语句设计算法,选择当型循环或直到型循环.[变式训练1]求1+12+13+14+…+1100的值,用算法语言表示其算法.解解法一:“For语句”答案解法二:“DoLoop语句”答案考点二应用循环语句编写程序例2编写程序,求出24的所有正约数.[分析]一个数是否为24的正约数,可以用这个数去除24,若余数为0,则是约数,若余数不为0,则不是约数.为便于写程序,可先画出算法框图.[解]算法框图如下图所示:程序:答案类题通法此问题实际上是筛选问题,把符合条件的数筛选出来.也可用当型循环写程序.[变式训练2]输入100个数,将其中的正数的个数输出,写出程序.解程序:答案考点三用循环语句解决实际应用题例3某商场第一年销售计算机5000台,如果平均每年销售量比上一年增加10%,那么从第一年起,大约几年可使总销售量达40000台?画出解决此问题的程序框图,并写出程序.[分析]用s表示总销量,i表示年份,则第一年:销售s=5000,第二年:s=5000+5000×10%=5000(1+10%),第三年:s=5000(1+10%)+5000(1+10%)×10%=5000(1+10%)2,……第i年:s=5000(1+10%)i-1.[解]程序框图如下图所示:程序如下图:答案类题通法循环结构主要用在一些有规律的、重复计算的算法中.如累加求和、累乘求积等问题常常需要用循环结构来计算,相应地,用循环语句来写出程序.[变式训练3]2000年底我国人口总数约为13亿,现在我国人口平均年增长率为1%.编写程序,计算多少年后我国的人口总数将达到或超过18亿?解程序框图如下图所示:直到型结构当型结构答案现只写出直到型循环结构对应的语句,当型循环结构请同学们自己完成.y=13i=0Doy=y*1+0.01i=i+1LoopWhiley=18PrintiEnd答案规范答题思维[例](12分)求下列算法语句运行后的结果:(1)A=1B=1Fori=1To4A=A+BB=A+BNextC=A+B输出C(2)i=0S=0DoS=S+ii=i+1LoopWhileS20输出i(一)精妙思路点拨(二)分层规范细解(1)i=1时,执行循环体后,A=2,B=3;i=2时,执行循环体后,A=5,B=8①;2分i=3时,执行循环体后,A=13,B=21;i=4时,执行循环体后,A=34,B=55.4分故输出的C=A+B=34+55=89.6分(2)执行第一次循环后,S=0,i=1,不满足条件;执行第二次循环后,S=1,i=2,不满足条件;8分执行第三次循环后,S=3,i=3,不满足条件;执行第四次循环后,S=6,i=4,不满足条件;执行第五次循环后,S=10,i=5,不满足条件;10分执行第六次循环后,S=15,i=6,不满足条件;执行第七次循环后,S=21,i=7,满足条件②,故输出的值为7.12分(三)来自一线的报告通过阅卷后分析,对解答本题的失分警示和解题启示总结如下:(注:此处的①②③见分层规范细解过程)(四)类题练笔掌握编写一个算法,计算下面n(n∈N*)个数的和:12,23,34,…,nn+1.解算法如下:输入ni=1S=0DoS=S+i/(i+1)i=i+1LoopWhilein输出S答案(五)解题设问(1)本题中用到哪一种循环语句?________.(2)何时结束循环?________.答案(1)DoLoop语句(2)当满足条件时结束循环答案检测学业达标1.关于For语句叙述正确的是()A.总是执行循环体B.执行一次循环体C.满足条件时执行循环体D.遇到Next就结束解析对于For语句,条件成立时,执行循环体,否则不执行循环体,故选C.解析答案C答案2.DoLoop型循环语句对应的程序框图是图中的()答案B答案解析执行DoLoop型循环语句时,先执行一次循环体,排除A、C;当条件成立时循环结束,排除D,故选B.解析3.下列程序:A=1ForA=1To99A=A+1NextPrintAEnd则程序运行的结果是()A.99B.100C.101D.102答案B答案4.下列程序:A=2B=1DoB=A*BA=A+1LoopWhileA5PrintBEnd则该程序的功能是________.答案计算1×2×3×4×5的值答案5.下列程序的功能是输出1~100间的所有偶数.程序:i=1m=iMod2DoIf①ThenPrintiEndIf②LoopWhilei100End(1)试将上面的程序补充完整;(2)改写为For语句.答案解(1)①m=0②i=i+1(2)改写为While型循环程序如下:i=1m=1MOD2Fori=1To100Ifm=0ThenPrintiEndIfi=i+1NextEnd答案本课结束