学业分层测评(七)循环语句(建议用时:45分钟)[学业达标]一、选择题1.下列问题可以设计成循环语句计算的有()①求1+3+32+…+39的和;②比较a,b两个数的大小;③对于分段函数,要求输入自变量,输出函数值;④求平方值小于100的最大整数.A.0个B.1个C.2个D.3个【解析】①和④用到循环语句,②和③用不到.【答案】C2.下面的程序:a=1WHILEa<100a=a+1WENDPRINTaEND执行完毕后a的值为()A.99B.100C.101D.102【解析】该程序中使用了当型循环语句,当执行到a=99+1=100时,不满足条件a<100,退出循环输出a的值为100.【答案】B3.如图125是求1~1000内所有偶数的和的程序,把程序框图补充完整,则()图125A.①处为S=S+i,②处为i=i+1.B.①处为S=S+i,②处为i=i+2.C.①处为i=i+1,②处为S=S+i.D.①处为i=i+2,②处为S=S+i.【解析】程序框图求的是1~1000内所有偶数的和,故i步长为2,应有i=i+2,排除A、C;i初值为2,S应加的第一个偶数为2,而不是4,故语句S=S+i应在i=i+2的前面,排除D.【答案】B4.下列程序运行后输出的结果为()A.17B.19C.21D.23i=1S=0DOi=i+2S=3+2*ii=i+1LOOPUNTILi>=8PRINTSEND【解析】第一次循环,i=1+2=3,S=3+2×3=9,i=4;第二次循环,i=6,S=3+2×6=15,i=7;第三次循环,i=9,S=3+2×9=21,i=10,∴输出S=21.【答案】C5.有以下程序段,下面说法正确的是()K=8WHILEK=0K=K+1WENDA.WHILE循环执行8次B.该循环体是无限循环C.循环体语句一次也不执行D.循环体语句只执行一次【解析】对于WHILE语句,若满足条件,则执行循环体,而K=8,不满足条件K=0,所以循环体一次也不执行.【答案】C二、填空题6.根据下列算法语句,当输入x为60时输出y的值为________.INPUT“x=”;xIFx=50THENy=0.5*xELSEy=25+0.6*(x-50)ENDIFPRINT“y=”;yEND【解析】由题意,得y=0.5x,x≤5025+0.6(x-50),x50当x=60时,y=25+0.6(60-50)=31.∴输出y的值为31.【答案】317.在下面的程序中,若输出k=3,则输入的最小整数n=________.【导学号:28750019】INPUTnk=0DOn=2n+1k=k+1LOOPUNTILn100PRINTkEND【解析】设n=a,则第一次循环,n=2a+1,k=1;第二次循环,n=2(2a+1)+1=4a+3,k=2;第三次循环,n=2(4a+3)+1=8a+7,k=3,此时,执行“是”,结束循环,输出k=3.因此8a+7>100,即a>938,故n最小整数为12.【答案】128.下面为一个求10个数的平均数的程序,则在横线上应填充的语句为________.S=0i=1DOINPUTxS=S+xi=i+1LOOPUNTIL________a=S/10PRINTaEND【解析】此为直到型循环,在程序一开始,即i=1时,开始执行循环体,当i=10时继续执行循环体,题目中求10个数的平均数,所以当i10时应终止循环.【答案】i10三、解答题9.设计一个计算1+3+5+7+…+99的值的程序,并画出程序框图.【解】程序框图如图所示:程序如下:i=1S=0WHILEi=99S=S+ii=i+2WENDPRINTSEND10.设计算法求11×2+12×3+13×4+…+199×100的值,编写程序,并画出程序框图.【解】算法如下:第一步:令S=0,i=1.第二步:若i≤99成立,则执行第三步;否则,输出S,结束算法.第三步:S=S+1i(i+1).第四步:i=i+1,返回第二步.程序:S=0i=1WHILEi=99S=S+1/(i*(i+1))i=i+1WENDPRINTSEND程序框图:[能力提升]1.读下面甲、乙两个程序:对甲、乙两个程序和输出的结果表述正确的是()A.程序不同,结果相同B.程序不同,结果不同C.程序相同,结果相同D.程序相同,结果不同【解析】执行甲,乙程序后可知都是计算1+2+3+4+…+1000的值.【答案】A2.执行如图126的程序框图,如果输出的是a=341,那么判断框应为()图126A.k4?B.k5?C.k6?D.k7?【解析】a=1,k=2;a=5,k=3;a=21,k=4;a=85,k=5;a=341,k=6.【答案】C3.阅读如图127的程序框图,若输入n=6,则输出k的值为________.图127【解析】n=6,k=0,n=13,k=1;n=27,27100,k=2;n=55,55100,k=3;n=111,111100,输出k=3.【答案】34.求200以内(包括200)的所有偶数和,试用两种循环结构画出其程序框图并编写程序.【解】当型循环,程序框图如图所示:程序为:i=2sum=0WHILEi=200sum=sum+ii=i+2WENDPRINT“偶数和为:”;sumEND直到型循环,程序框图如图所示:程序为:i=2sum=0DOsum=sum+ii=i+2LOOPUNTILi200PRINT“偶数和为:”;sumEND