课下能力提升(七)[学业水平达标练]题组1UNTIL语句及应用1.下列循环语句是程序的一部分,循环终止时,i等于()i=1DOi=i+1LOOPUNTILi>4A.3B.4C.5D.62.下面程序输出的结果为()A.17B.19C.21D.233.如果下列程序执行后输出的结果是132,那么在程序UNTIL后面的“条件”应为()i=12s=1DOs=s*ii=i-1LOOPUNTILPRINTsENDA.i11B.i>=11C.i<=11D.i11题组2WHILE语句及应用4.下列循环语句是程序的一部分,循环终止时,i等于()i=1WHILEi<3i=i+1WENDA.2B.3C.4D.55.求出下面语句的输出结果.i=4S=0WHILEi6i=i+2S=S+i^2WENDPRINTSEND6.给出一个算法的程序框图(如图所示).(1)说明该程序的功能;(2)请用WHILE型循环语句写出程序.题组3循环语句的综合应用7.已知有如下两段程序:i=21sum=0WHILEi=20sum=sum+ii=i+1WENDPRINTsumENDi=21sum=0DOsum=sum+ii=i+1LOOPUNTILi20PRINTsumEND程序1程序2程序1运行的结果为________,程序2运行的结果为________.8.下面是“求满足1+2+3+…+n2014的最小的自然数n”的一个程序,其中有3处错误,请找出错误并予以更正.i=1S=1n=0DOS=S+ii=i+1n=n+1LOOPUNTILS2014输出n+1[能力提升综合练]1.如下程序的循环次数为()x=0WHILEx<20x=x+1x=x^2WENDPRINTxENDA.1B.2C.3D.42.读程序:甲:乙:i=1S=0WHILEi=1000S=S+ii=i+1WENDPRINTSENDi=1000S=0DOS=S+ii=i-1LOOPUNTILi1PRINTSEND对甲、乙程序和输出结果判断正确的是()A.程序不同,结果不同B.程序不同,结果相同C.程序相同,结果不同D.程序相同,结果相同3.(2015·北京高考)执行如图所示的程序框图,输出的k值为()A.3B.4C.5D.64.(2016·吉林高一检测)已知有下面的程序,如果程序执行后输出的结果是360,那么在程序UNTIL后面的“条件”应为________.i=6s=1DOs=s*ii=i-1LOOPUNTIL条件PRINTsEND5.在下面的程序中,若输出k=3,则输入的最小整数n=________.INPUTnk=0DOn=2n+1k=k+1LOOPUNTILn>100PRINTkEND6.编写一个程序计算12+32+52+…+992,并画出相应的程序框图.7.输入100个数,将其中正数的个数输出.试用循环语句设计程序.答案[学业水平达标练]1.解析:选C该循环语句是直到型循环语句,当条件i>4开始成立时,循环终止,则i=5,故选C.2.解析:选C当i=9时,S=2×9+3=21,判断条件9≥8成立,跳出循环,输出S.3.解析:选D当i=12时,s=1×12=12;当i=11时,s=11×12=132.故应填i11.4.解析:选B该循环语句是WHILE语句,当条件i<3开始不成立时,循环结束,则所求i=3.故选B.5.解:该程序的执行过程是i=4,S=0,i=46成立,i=4+2=6,S=0+62=36;i=66不成立输出S=36.6.解:(1)该程序的功能是求1+12+13+…+199的值.(2)程序如下:S=0K=1WHILEK<=99S=S+1/KK=K+1WENDPRINTSEND7.解析:程序1是计数变量i=21开始,不满足i≤20,终止循环,累加变量sum=0,这个程序计算的结果为0;程序2计数变量i=21,开始进入循环,sum=0+21=21,i=i+1=21+1=22,i20,循环终止,此时,累加变量sum=21,这个程序计算的结果为21.答案:0218.解:错误1:“S=1”改为“S=0”;错误2:无END语句,在输出下面加“END”;错误3:“输出n+1”改为“PRINTn”.[能力提升综合练]1.解析:选C程序执行如下:(1)x<20,x=0+1=1,x=12=1;(2)x<20,x=1+1=2,x=22=4,(3)x<20,x=4+1=5,x=52=25,此时跳出循环,并输出x.∴一共进行3次循环,故选C.2.解析:选B执行甲、乙程序后,可知都是计算1+2+3+…+1000的值.3.解析:选B程序框图运行如下:k=0,a=3×12=32,k=1,此时3214;a=32×12=34,k=2,此时3414;a=34×12=38,k=3,此时3814;a=38×12=316,k=4,此时31614,输出k=4,程序终止.4.解析:因为输出的结果是360,即s=1×6×5×4×3,需执行4次,s需乘到3,i<3后结束算法.所以,程序中UNTIL后面的“条件”应为i<3(或i<=2).答案:i<3(或i<=2)5.解析:设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.答案:126.解:程序如下:S=0i=1DOS=S+i^2i=i+2LOOPUNTILi>99PRINTSEND程序框图如图所示:7.解:用WHILE语句编写程序如下:n=1m=0WHILEn=100INPUTxIFx0THENm=m+1ENDIFn=n+1WENDPRINTmEND或用UNTIL语句编写程序如下:n=1m=0DOINPUTxIFx0THENm=m+1ENDIFn=n+1LOOPUNTILn100PRINTmEND