1.2.3循环语句A级基础巩固一、选择题1.下列算法:①求和+++…+;②已知两个数求它们的商;③已知函数定义在区间上,将区间十等分求端点及各分点处的函数值;④已知正方形的边长求面积.其中可能用到循环语句的是()A.①②B.①③C.①④D.③④解析:在问题处理时,对某一步骤或若干步骤重复执行多次的适用于循环语句,故①③可能用到.答案:B2.阅读下列程序:INPUT“a=”;aIFa>5THENb=2*aELSEb=a*a+1ENDIFPRINTbEND如果输入5,则该程序运行结果为()A.1B.10C.25D.26解析:b=a2+1=25+1=26.答案:D3.下列循环语句,循环终止时,i等于()A.3B.4C.5D.6解析:该循环语句是UNTIL语句,当条件成立时退出循环,D正确.答案:D4.下列程序语句是求函数y=|x-4|+1的函数值,则①处为()INPUT“x=”;xIFx>=4THENy=x-3ELSE____①____ENDIFPRINTyENDA.y=3-xB.y=x-5C.y=5-xD.y=ABS(x-4)+1解析:因y=|x-4|+1=选C.答案:C5.下面程序的运行结果是()i=1S=0WHILEi<=4S=S*2+1i=i+1WENDPRINTSENDA.3B.7C.15D.17解析:第一次循环,S=0×2+1=1,i=2;第二次循环,S=1×2+1=3,i=3;第三次循环,S=3×2+1=7,i=4;第四次循环,S=7×2+1=15,i=5.输出S=15.答案:C二、填空题6.若a=11,下面的程序段输出的结果是________.INPUTaIFa<10THENy=2*(a-1)ELSEy=aMOD10ENDIFPRINTyEND解析:由于当a=11时,不满足条件a<10,所以执行“y=aMOD10”,得到的结果是y=1.注意“aMOD10”是a除以10的余数.答案:17.根据下列算法语句,当输入x为60时输出y的值为_____________________________________________________.INPUT“x=”;xIFx<=50THENy=0.5*xELSEy=25+0.6*(x-50)ENDIFPRINT“y=”/yEND解析:由题意,得y=当x=60时,y=25+0.6×(60-50)=31.所以输出y的值为31.答案:318.已知有下面的程序,如果程序执行后输出的结果是360,那么在程序UNTIL后面的“条件”应为________.i=6s=1DOs=s*ii=i-1LOOPUNTIL条件PRINTsEND解析:因为输出的结果是360,即s=1×6×5×4×3,需执行4次,s需乘到3,i<3后结束算法.所以,程序中UNTIL后面的“条件”应为i<3(或i<=2).答案:i<3(或i<=2)三、解答题9.已知函数y=设计程序,使输入x的值,输出相应的y值.解:程序如下:INPUTxIFx>0THENy=3-xELSEy=x+3ENDIFPRINTyEND10.给出一个算法的程序框图(如图所示).(1)说明该程序的功能;(2)请用WHILE型循环语句写出程序.解:(1)该程序的功能是求1+++…+的值.(2)程序如下:S=0K=1WHILEK<=99S=S+1/KK=K+1WENDPRINTSENDB级能力提升1.输入两个数,输出其中较大的数,则能将程序补充完整的是()INPUTa,bIFa>bTHENPRINTaELSE________ENDIFENDA.PRINTbB.PRINTaC.a=bD.b=a解析:由题意知,a>b时输出a,否则输出b,A正确.答案:A2.如图在下面的程序中,若输出k=3,则输入的最小整数n=________.INPUTnk=0DOn=2n+1k=k+1LOOPUNTILn>100PRINTkEND解析:设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>,故n最小为12.答案:123.儿童乘坐火车时,若身高不超过1.1m,则无须购票;若身高超过1.1m但不超过1.4m,可买半票;若超过1.4m,应买全票.试写出一个购票算法程序.解:程序如下:INPUT“身高h(h>0)”;hIFh<=1.1THENPRINT“免费乘车”ELSEIFh<=1.4THENPRINT“半票乘车”ELSEPRINT“全票乘车”ENDIFENDIFEND