1.2.3循环语句1.下列关于UNTIL语句说法错误的是()A.直到型循环至少执行一次循环体B.直到型循环结构对应UNTIL语句C.UNTIL语句是先判断是否满足条件,而后执行循环体D.UNTIL语句是先执行循环体,而后判断是否满足条件答案:C2.已知程序如图所示:j=1WHILEjj<100j=j+1WENDj=j-1PRINT“j=”;jEND它运行的结果是()A.j=j-1B.j=100C.j=10D.j=9解析:当j=10时,10×10=100,不再满足“jj<100”,跳出循环体,j=10-1=9.答案:D3.如图所示的四个框图中,其中满足UNTIL语句的是,满足WHILE语句的是.(填序号)解析:UNTIL语句对应直到型循环,是先执行一次循环体,再判断条件,直到条件满足时跳出循环;而WHILE语句是先判断条件,再执行循环体,直到某次条件不满足时,跳出循环.答案:③①④4.编写一个程序计算1++…+.解:程序如下:1i=1sum=0WHILEi<=1000sum=sum+1/ii=i+1WENDPRINTsumEND5.(1)编写一个程序,求1000以内的完全平方数并输出;(2)编写一个程序,输出1~100中(包括1和100)能被7整除的所有整数.解:(1)程序设计如下:i=1WHILEii<1000PRINTiii=i+1WENDEND(2)程序设计如下:i=1DOIFiMOD7=0THENPRINTiENDIFi=i+1LOOPUNTILi>100END6.下面是用WHILE语句设计的一个计算S=12+22+…+202的程序,试根据此语句的特点,将其转化为UNTIL语句书写的程序.当型(WHILE)i=1S=0WHILEi<=20S=S+iii=i+1WENDPRINT“S=”;SEND解:直到型(UNTIL)i=1S=0DOS=S+iii=i+1LOOPUNTILi>20PRINT“S=”;S2END7.如图程序运行后输出的结果为()a=0j=1WHILEj<=5a=(a+j)MOD5j=j=1WENDPRINTaENDA.50B.5C.25D.0解析:程序要进行5次循环,各次循环的结果如下:①a=1,j=2;②a=3,j=3;③a=1,j=4;④a=0,j=5;⑤a=0,j=6,最后输出a=0.答案:D8.以下程序是计算1+2+3+…+n的值,请在空白处填上相应语句:INPUTni=1s=0DO(1)i=i+1LOOPUNTIL(2)PRINTsEND(1)处填;(2)处填.解析:(1)处应为累加变量“s=s+i”;(2)为循环终止条件“i>n”.答案:(1)s=s+i(2)i>n9.分别用WHILE语句和UNTIL语句编写程序.求1+2+22+23+…+263的值.解:用WHILE语句:i=0s=0WHILEi<=63s=s+2^ii=i+1WENDPRINTsEND用UNTIL语句:i=0s=0DOs=s+2^ii=i+13LOOPUNTILi>63PRINTsEND10.输入100个数,将其中的正数的个数输出,写出程序.解:程序如下:i=0m=0DOINPUTxi=i+1IFx>0THENm=m+1ENDIFLOOPUNTILi>100PRINTmEND11.若1+3+5+…+n>10000,试设计一个程序,寻找满足条件的最小整数n.解法一:程序框图如图所示:程序如下:S=0i=1WHILES<=10000S=S+ii=i+2WENDPRINT“最小整数为”;i-2END解法二:程序框图如图所示:程序如下:S=0i=1DOS=S+ii=i+2LOOPUNTILS>100004PRINT“最小整数为”;i-2END12.用分期付款的方式购买价格为1150万元的别墅,如果购买时先付150万元,以后每月付50万元,再加上欠款的利息.若一个月后付第一个月的分期付款,月利率为1%,那么购买别墅的钱全部付清后,实际共付出款额多少元?画出程序框图,写出程序.解:用S表示总付款额,由于先付150万元,故S的初始值为150,第一次分期付款应付50+1000×1%=60(万元),第二次分期付款应付50+(1000-50)×1%=59.5(万元),第三次分期付款应付50+(1000-50×2)×1%=59(万元)……每次付款总比上次少付0.5万元,共分20次付清.故引入计数变量i,控制付款次数,故循环条件为“i≤20”,循环体为“S=S+m,m=m-0.5,i=i+1”.程序框图如图所示:编写程序如下:S=150m=60i=1WHILEi<=20S=S+mm=m-0.5i=i+1WENDPRINTSEN5