课时作业16循环语句时间:45分钟满分:100分——基础巩固类——一、选择题(每小题5分,共40分)1.下面给出的四个框图中满足DoLoop语句的是(D)解析:DoLoop语句先执行循环体再判断条件,若条件满足,则执行循环体,直到条件不满足,结束循环.故D中框图正确.2.关于DoLoop语句叙述正确的是(A)A.至少执行循环体一次B.最多执行一次循环体C.不满足条件时执行循环体D.遇到DoLoop就结束解析:对于DoLoop循环语句,先执行循环体,再根据条件是否成立来确定是否继续执行循环体,因此至少执行一次循环体.3.若i的初始值为0,当执行完Doi=i+1LoopWhilei<=10后i的值变为(C)A.9B.10C.11D.12解析:由DoLoop语句的形式和执行条件易得循环结束后,i=11.4.下列程序中的For语句终止循环时,S等于(D)S=1ForM=1To13Step3S=S+MNext输出SA.1B.5C.10D.35解析:S=1+4+7+10+13=35.5.下列语句执行后输出的结果是(B)n=5S=0DoS=S+nn=n-1LoopWhileS<=14输出nA.1B.0C.2D.-1解析:5+4+3+2=14<15,5+4+3+2+1=15,∴n=0.6.读程序,对甲、乙两程序和输出的结果判断正确的是(B)甲:i=1000乙:S=0S=0DoFori=1To1000S=S+iS=S+ii=i-1i=i+1LoopWhilei>=1Next输出S输出SA.程序不同,结果不同B.程序不同,结果相同C.程序相同,结果不同D.程序相同,结果相同解析:甲程序是用DoLoop语句写的,乙程序是用For语句写的,但两者运行结果都是500500,S乙=1+2+3+…+1000,S甲=1000+999+…+1.7.下列程序的运行结果为(B)A.5B.6C.7D.8解析:i=0,S=0;i=1,S=0+1;……i=5,S=0+1+2+3+4+5,此时S=15<20,∴继续执行,i=6,S=15+6=21>20,故i=6.8.算法程序:S=0Fori=1To1000S=S+iNext中,Fori=1To1000的作用是(D)A.表示一个数字从1到1000B.表示从1一直加到1000C.表示从1开始循环到1000D.表示i从1开始以1为步长累加到1000二、填空题(每小题5分,共15分)9.下列程序:A=2B=1DoB=A*BA=A+1LoopWhileA<=5输出B该程序的功能是计算1×2×3×4×5的值.10.执行算法程序:S=0Fori=0To10000Step2S=S+iNext中,循环10次的结果是90.解析:算法程序实际是在计算S=0+2+4+6+8+…+10000,如果循环10次,则有S=0+2+4+6+8+…+18=90.11.S=0Fori=1To100S=S+i*iNext输出S则该语句的算法功能为计算12+22+…+1002的值.解析:S=12+22+…+1002.三、解答题(共25分,解答应写出必要的文字说明、证明过程或演算步骤)12.(12分)输出1~100的所有偶数,使用For循环还是DoLoop循环,哪个更好?请写出具体过程.解:本题宜选用For循环,因为已经给出具体的范围,也就是说,可以明确循环次数,所以,比较适合For循环语句.具体过程如下:Fori=1To100IfiMod2=0Then输出iEndIfNext13.(13分)写出满足1+2+3+…+n>2015的最小自然数n的程序,并画出算法框图.解:算法框图如下:程序为:——能力提升类——14.(5分)把求+++…+的值的下列程序补充完整,则(1)S=S+1/(i*(i+3));(2)i<=50.i=1S=0DoLoopWhile__(2)__输出S.15.(15分)篮球场某区域第一排有60个座位,以后每排顺次增加2个座位,试用循环语句写出求第20排有多少个座位的程序.解:程序语句如下:ZW=60Fori=2To20ZW=ZW+2NextPrintZW