1、3.2循环语句1通过算法的学习,知道数学的机械化,能做许多我们用笔和纸不敢做的、有很大计算量且在算法上又有一定的重复性的问题,这主要归功于算法语句的()A输出语句B赋值语句C条件语句 D循环语句2由下面的循环语句可知输出的结果是 ()S0For i1 To 100SSiii1Next输出SA5 050 B2 525 C5 000 D1 0103下列算法语句运行输出的结果S和n分别为()n8S0DoSSnnn1LoopWhileS25输出S,nA25,4 B26,4 C25,5 D26,54运行以下For语句的结果是_x2Forn1 To 2008xx1Next输出x5For循环语句:Fori1
2、 To 2009Step2中的2是指_答案:1D2A循环变量i,从初值1到终止值为100,循环体为SSi,其功能为求123100的值选A.3B由题意知,n为循环变量,累加变量S表示和,条件S25.第一次循环SSn088,n7;第二次循环SSn8715,n6;当S876526,n4时,不满足S25,则终止循环,输出S26,n4.42 010n的初值为1,步长为1,n的终值为2 008,就是求和x2111,共2 008个1和1个2相加,x2 010.5步长由For循环形式知,循环变量每次的增量默认为1,即步长为1时可省略不写;若不为1,则使用参数Step.2指的是步长为2(循环变量的增量为2)1循
3、环语句中可以嵌套的语句是()A条件语句B循环语句C输入、输出语句 D以上三种语句均可2运行以下循环语句的结果是()S0.5Fori(1) To 1 SSi ii0.1Next输出SA0.5B1C1.5D1.53下面循环语句运行后的结果是()i0S0DoSSiii1Loop While S20输出iA5 B6 C7 D84以下循环语句:S2 009Fori20 To 20SSiii2Next输出S运行后输出的结果是()A2 008B2 009C2 010D2 0115下列循环语句运行的结果是_a2i1Doaa1输出i,aii1Loop While i66某电视机厂2008年全年生产电视机60万台
4、,计划从2009年开始每年的产量比上一年增长15%,设计一个算法,计算从哪一年开始,该厂的电视机产量超过300万台,只写出算法语句答案:1D条件语句,循环语句,输入、输出语句都可以嵌套在循环语句中,在一些稍微复杂的程序中经常可见2A由题意知,循环次数为21,最后输出的S为S0.5(1)(0.9)(0.1)00.10.910.5.故选A项3C最后输出的是i,指循环次数,即求满足条件S20的最大正整数进入第6次循环时,S0123451520;进入第7次循环时,S2120,退出循环,此时i6.输出ii1617.4B由题意,循环次数为21,最后输出的S2 009(20)(18)(2)024202 00
5、9.51,32,43,54,65,76,8这个Do Loop循环语句中的条件是i6,然后第一步i1,aa13,第二步ii12,aa14,根据条件一共计算了六次,输出六组结果6解:由于不知循环次数,所以用Do Loop语句来描述其算法S60;i2 008;DoS(10.15)Sii1LoopWhileS300输出i.1下面关于Do Loop语句的说法,正确的是()AWhile后的条件被满足时执行循环体BWhile后的条件不满足时执行循环体CDo Loop循环语句不需要事先指定循环变量的初值DDo Loop循环的次数可以是无限次答案:A在Do Loop语句中,每一次重复后,都需要检验While后的
6、条件是否被满足,一旦不满足条件,循环停止故A项正确2下面算法语句的功能是()S0;t0;Fori1 To 10t(i1)2ti*tSStNext输出SA(11)2(21)2(1011)2B122232102C1(11)22(21)210(101)2D以上都不对答案:C循环变量i初值为1,终值为10,由循环体知,此算法功能为求和S1(11)22(21)210(101)2.3以下循环语句运行后输出的结果是120,那么在语句中While后面的条件应为()S1i2DoSS*iii1Loop While_输出SAi5 Bi5 Ci5 Di5答案:C这个Do Loop循环语句中,第一次循环SSi12,ii
7、13;第二次循环SSi123,ii14;第三次循环SSi1234;ii15,以此类推,到第四次循环S120,此时i6,应该停止运算,所以条件处应填i5.4(易错题)以下循环语句运行后的输出结果为()i1Doii2S3i2ii1Loop While i5输出SA14 B17 C20 D23答案:C进入第一次循环时,i123,S33211,i312;进入第二次循环时,i224,S34214,i413;进入第三次循环时,i325,S35217,i514;进入第四次循环时,i426,S36220,i615,不满足条件i5,循环终止,输出S20.故选C.点评:对所给循环语句正确地进行流程分析,是解本题的
8、关键注意要弄清初值、循环体含义及判断条件当条件i5为真,则继续循环,否则终止循环搞不清循环体中两个含变量i的赋值语句的含义,致使不能正确地作出判断,就会导致输出结果不正确而错解5如下算法语句:S0i2DoSSiii3Loop While i8输出S其运行的结果是_答案:15由条件i8知,当i8时终止循环,所以共循环3次第三次循环时,i8,S25815.6i0For n1 To 100If Int(n/7)n/7 Thenii1End IfNext输出i上面For循环语句的目的是_答案:计算1100能被7整除的数的个数Int(n/7)表示不超过的最大整数7下面语句表示什么样的算法?_.n1S0D
9、oSSn2nn1Loop While n2009输出S答案:计算12222 0092的值n为循环变量,S为累加变量,且初值分别为n1,S0.第一次循环时,S0121,n112.由循环体知,其功能是求连续正整数的平方和,且终止条件为n2 009.该语句是描述计算S1222322 0092的值的算法8(易错题)如何寻找n的最小正整数值,以满足1357n10 000?请设计算法并用循环语句描述出该算法解:算法步骤如下:1S1;2i3;3计算SSi,ii2,若S10 000,则重复第3步;4ii2;5输出i.用Do Loop语句描述为S1i3DoSSiii2LoopWhileS10 000输出i2点评
10、:当循环次数不能确定时,可用Do Loop语句来实现循环本题算法中,应先由初值及循环体计算,再判断条件“S10 000”是否成立若成立,则重复执行循环只有当条件“S10 000”不成立时,才结束循环但要输出的是i2,而不是i.这是此类问题经常出错的主要原因9写出计算1222222的算法语句(分别用For与DoLoop语句描述算法)解:用Do Loop语句描述该算法为:S0i0Doii1Loop While i22输出S.用For语句描述该算法为:S0Fori0 To 22 ii1Next输出S.10用算法语句描述求的值的算法,并画出算法框图解:观察题式可知,各项分母都是两个数的积,其中第一个因数是12 008内的奇数,第二个因数是第一个因数加2,所以,可用循环语句,让变量i从1开始每次增加2,则各项可用表达式表示,把各项累加起来即得结果用For语句描述算法为:S0Fori1 To 2 007 SS ii2Next输出S.用Do Loop语句描述算法为:S0i1DoSSii2Loop While i2 008输出S.算法框图如图