1、目标导航,预习导引,目标导航,预习导引,1,2,3,1.当型循环语句当型循环可用当型语句“WhileEnd While”来描述.它的一般形式是:While p 循环体End While它表示当所给条件p成立时,执行循环体部分,然后再判断条件p是否成立.如果p仍然成立,那么再次执行循环体.如此反复,直到某一次条件p不成立时退出循环.当型语句的特点是先判断,后执行.预习交流1编写伪代码时,什么情况下使用循环语句?提示:在问题处理中,对不同的运算对象进行若干次相同运算或处理时,一般用到循环结构,在编写伪代码时要用到循环语句.,目标导航,预习导引,1,2,3,2.直到型循环语句直到型循环可用直到型语句
2、“DoEnd Do”来描述.它的一般形式是:它表示先执行循环体部分,然后再判断所给条件p是否成立.如果p不成立,那么再次执行循环体部分.如此反复,直到所给条件p成立时退出循环.直到型语句的特点是先执行,后判断.,目标导航,预习导引,1,2,3,预习交流2当型循环语句与直到型循环语句在执行循环体的先后上有何区别?提示:当型循环先判断条件后执行,循环体可能一次也不执行;直到型循环先执行一次循环体再判断条件,循环体至少执行一次;对同一个算法,当型循环语句与直到型循环语句中的判断条件是相反的.,目标导航,预习导引,1,2,3,3.“For”语句如果循环结构中的循环次数已知,那么还可以采用“For”语句
3、来描述.“For”语句的一般形式为:,For I From“初值”To“终值”Step“步长”循环体End For,在“For”语句中,如果省略“Step步长”,那么重复循环时,I的值每次增加1.,目标导航,预习导引,1,2,3,预习交流3“For”语句的功能是什么?提示:“For”语句的功能是:将初值赋给循环变量,“记下”终值和步长.执行循环体后自动将循环变量增加一个步长,接着判断增值后的循环变量是否超过终值,如果不超过终值,继续执行循环体;否则,结束循环,执行End For语句的后续语句.,目标导航,预习导引,1,2,3,预习交流4(1)有以下伪代码段,k8While k=0kk+1End
4、 While,下面描述正确的是.(填序号)循环体语句执行10次;循环体是无限循环;循环体语句一次也不执行;循环体语句只执行一次.,目标导航,预习导引,1,2,3,(2)当x=2时,执行下面的伪代码,输出的结果是.,i1s0While i4ssx+1ii+1End WhilePrint s,提示:(1)k为8不符合执行循环的条件,故循环语句一次也不执行.(2)15,问题导学,即时检测,一,二,三,一、“WhileEnd While”语句的应用活动与探究1给出30个数:1,2,4,7,11,其规律是:第1个数是1,第2个数比第1个数大1,第3个数比第二个数大2,第4个数比第3个数大3依次类推,要求
5、计算这30个数的和,先将所给出的流程图补充完整,再依据流程图写出伪代码.,问题导学,即时检测,一,二,三,思路分析:由题意知,中应是进行求和;先判断,后循环,应选用当型循环语句编写伪代码.解:中应填i30,中应填PP+i;伪代码如下:,i1P1S0While i30SS+PPP+iii+1End WhilePrint S,问题导学,即时检测,一,二,三,迁移与应用1.给定如下算法语句:,s0I2While I8ss+III+3End WhilePrint s,其运行的结果是.解析:第一次循环:s=0+2=2,I=5;第二次循环:s=2+5=7,I=8;第三次循环:s=7+8=15,I=118退
6、出循环,输出s=15.答案:15,问题导学,即时检测,一,二,三,2.导学号51810018编写伪代码,求12+22+992+1002的值.解:伪代码如下:,i1s0While i100ss+i2ii+1End WhilePrint s,问题导学,即时检测,一,二,三,“WhileEnd While”语句的执行过程:计算机执行到“WhileEnd While”语句时,先判断条件是否成立,如果成立,则执行While和End While之间的循环体;后返回While语句,再判断上述条件是否成立.如果成立,再执行循环体,这个过程反复进行,直到某一次While语句判断上述条件不成立为止,这时不再执行循
7、环体,而是跳到End While语句后,执行后面的语句.当型循环又称“前测试型”循环,也就是我们经常讲的“先测试后执行”,“先判断后循环”.,问题导学,即时检测,一,二,三,二、“DoEnd Do”语句的应用活动与探究2用DoEnd Do语句写出计算 的值的伪代码.思路分析:题中要求1 000个数的和或差,这1 000个数的分母是连续自然数,要求用“DoEnd Do”语句编写伪代码.编程时要引入累加变量s和计数变量i,并用(-1)i-1调节加、减.,问题导学,即时检测,一,二,三,解:伪代码如下:,s0i1Doss+(-1)i-1/iii+1Until i1 000End DoPrint s,
8、问题导学,即时检测,一,二,三,迁移与应用导学号51810019用“DoEnd Do”语句写出计算12+32+52+9992值的伪代码.解:伪代码如下:,s0i1Doss+i2ii+2Until i999End DoPrint s,问题导学,即时检测,一,二,三,“DoEnd Do”语句的执行过程:计算机执行“DoEnd Do”语句时,先执行Do和Until之间的循环体,然后判断Until后面的条件是否成立,如果不成立,返回Do语句处重新执行循环体.这个过程反复执行,直到某一次判断Until后面的条件成立为止,这时不再返回执行循环体,而是跳出循环体执行End Do后面的语句.直到型循环又称“后
9、测试型”循环,也就是我们经常讲的“先执行后测试”,“先循环后判断”.,问题导学,即时检测,一,二,三,三、For语句的应用活动与探究3编写一个计算 值的算法,画出流程图,并用For语句编写伪代码.思路分析:通过题意分析,这是一个累加求和问题,因此设计算法步骤要引入循环变量.画流程图要用循环结构,循环次数确定,可采用“For”语句写出伪代码.,问题导学,即时检测,一,二,三,解:算法过程如下:S1S0;S2i1;S3SS+ ;S4ii+1;S5如果i1 000,则返回S3;否则,输出S.流程图如图所示.,问题导学,即时检测,一,二,三,伪代码如下:,S0For i From 1 To 1 000
10、SS+End ForPrint S,问题导学,即时检测,一,二,三,迁移与应用1.以下循环语句运行后输出的结果是.,S2 013For i From -20 To 20 Step 2SS+iEnd ForPrint S,解析:由题意,S=2 013+(-20)+(-18)+(-2)+0+2+4+20=2 013,输出的结果为2 013.答案:2 013,问题导学,即时检测,一,二,三,2.导学号51810020设计一个算法计算某班(50人)的一次数学考试成绩的平均分,并写出伪代码.解:算法分析:用一个循环依次输入50个数,并且用一个变量存放数的累加和,在求出50个数的和后,将和除以50就得到5
11、0个数的平均值,即该班的数学考试成绩的平均分.算法如下:S1S0;S2I1;S3如果I不大于50,转S4;否则,转S7;S4输入GI;S5SS+GI;S6II+1,转S3;S7A ;,问题导学,即时检测,一,二,三,S8输出A.伪代码如下:,S0For I From 1 To 50Read GISS+GIEnd ForAPrint A,问题导学,即时检测,一,二,三,1.应用“For”循环语句的特征是循环次数已知,此时也可用当型循环语句,For与End For之间的步骤为循环体,当步长为1时可省略“Step”.2.应用“For”语句的关键是确定循环变量的初值、步长、终值及循环体.由For循环的
12、语句格式知,“For”语句结构中,不仅提供了条件的位置,同时也提供了条件初始化和条件改变的位置,三者在同一行上,并不是依次连续地执行.条件初始化的表达式在判断完条件后方可被执行,如果条件成立,就执行循环体中的语句,同时程序按“步长”进行改变条件.在执行完循环体后,再次判断条件是否成立,重复上面的过程,如果条件不成立,则结束循环.,问题导学,即时检测,1,2,3,4,5,1.下面的程序段中,语句Print IJ执行的次数是.,For I From 1 To 3For J From 5 To 1 Step -1Print IJEnd ForEnd For,解析:对于每个I,内循环都执行5次,而I有
13、3个取值,所以共执行15次.答案:15,问题导学,即时检测,1,2,3,4,5,2.已知:,S0I5While I20SS+III+5End WhilePrint S,上述伪代码运行的结果是.,问题导学,即时检测,1,2,3,4,5,解析:此伪代码的运行过程为I=5,S=5;I=10,S=15;I=15,S=30;I=20,S=50;I=25不满足条件,输出S=50.答案:50,问题导学,即时检测,1,2,3,4,5,3.下面伪代码运行后,输出的值是.,i0Doii+1Until i22 000End DoPrint i-1,解析:由题意知,此伪代码为循环语句,当i=45时,452=2 025
14、2 000,退出循环,输出结果为45-1=44.答案:44,问题导学,即时检测,1,2,3,4,5,4.下面的伪代码中,执行循环的次数是.,S0For I From 1 To 2 000SS+IEnd For,解析:循环中,初值为1,终值为2 000,步长为1,故循环次数为2 000.答案:2 000,问题导学,即时检测,1,2,3,4,5,5.导学号51810021求小于100的所有正奇数的和,分别用While循环语句和Do循环语句设计一个算法伪代码.解:While语句伪代码如下:,S1i3While i100SS+iii+2End WhilePrint S,问题导学,即时检测,1,2,3,4,5,Do语句伪代码如下:,S1i3DoSS+iii+2Until i100End DoPrint S,