2019-2020学年人教A版必修三第一章算法初步单元测试(12)一、选择题1.下列给出的四个框图,其中满足WHILE语句格式的是()A.(1)(2)B.(2)(3)C.(2)(4)D.(3)(4)答案B解析WHILE语句的特点是“前测试”.2.下列算法:①求和112+122+132+…+11002;②已知两个数求它们的商;③已知函数定义在区间上,将区间十等分求端点及各分点处的函数值;④已知三角形的一边长及此边上的高,求其面积.其中可能要用到循环语句的是()A.①②B.①③C.①④D.③④答案B3.循环语句有WHILE和UNTIL语句两种,下面说法错误的是()A.WHILE语句和UNTIL语句之间可以相互转化B.当计算机遇到WHILE语句时,先判断条件真假,如果条件符合,就执行WHILE和WEND之间的循环体C.当计算机遇到UNTIL语句时,先执行一次DO和UNTIL之间的循环体,再对UNTIL后的条件进行判断D.WHILE语句与UNTIL语句之间不可以相互转化答案D4.下面的程序运行后第3个输出的数是()i=1x=1DOPRINTxi=i+1x=x+1/2LOOPUNTILi5ENDA.1B.32C.2D.52答案C解析该程序中关键是循环语句,第一次输出的数是1,第二次输出的数是x=1+12=32,第三次输出的数是x=1+12+12=2.5.下边程序执行后输出的结果是()n=5S=0WHILES15S=S+nn=n-1WENDPRINTnENDA.-1B.0C.1D.2答案B解析由于5+4+3+2=14,这时仍满足条件“S15”,∴n=2-1=1时,S=14+1=15,当执行完循环体n=1-1=0后,再判断条件,此时不满足条件“S15”,接着执行“PRINTn”.所以n=0.6.运行下面的程序,执行后输出的s的值是()i=1WHILEi6i=i+2s=2*i+1WENDPRINTsENDA.11B.15C.17D.19答案B解析当i=3时,s=7,当i=5时,s=11,此时仍满足条件“i6”,因此再循环一次,即i=7时,s=15,此时不满足“i6”,所以执行“PRINTs”,即s=15.二、填空题7.运行下面的程序,输出的值为__________.S=0i=1WHILES18S=S+ii=i+1WENDPRINTiEND答案7解析由于循环体是先执行S=S+i,再执行i=i+1,然后进行判断,当S=1+2+3+4+5=15时,执行i=5+1=6,这时1518成立,再循环一次S=15+6=21,i=6+1=7,这时再判断2118不成立,于是执行“PRINTi”,即i=7.8.下面程序表示的算法是________.n=1S=1WHILES=5000S=S*nn=n+1WENDPRINTn-1END答案求使1×2×3×…×n5000的n的最小正整数9.下面是一个求20个数的平均数的程序,在横线上应填充的语句为________.S=0i=1DOINPUTxS=S+xi=i+1LOOPUNTILa=S/20PRINTaEND答案i20三、解答题10.用UNTIL语句编写一个程序,输出使1+4+7+…+i≥300成立的最小的正整数.解S=0i=1DOS=S+ii=i+3LOOPUNTILS=300PRINTi-3END11.分别用当型和直到型循环语句编写一个程序,计算2×4×6×…×100的值.解(1)当型:i=2A=1WHILEi=100A=A*ii=i+2WENDPRINTAEND(2)直到型:i=2A=1DOA=A*ii=i+2LOOPUNTILi100PRINTAEND能力提升12.读程序:甲:乙:INPUTi=1S=0WHILEi=1000S=S+ii=i+1WENDPRINTSENDINPUTi=1000S=0DOS=S+ii=i-1LOOPUNTILi1PRINTSEND对甲、乙两程序和输出结果判断正确的是()B.程序不同,结果不同B.程序不同,结果相同C.程序相同,结果不同D.程序相同,结果相同答案B13.设计算法求11×2+12×3+13×4+…+199×100的值,并画出程序框图及编写程序.解算法如下:第一步:令S=0,i=1;第二步:若i≤99成立,则执行第三步;否则,输出S,结束算法;第三步:S=S+1ii+1;第四步:i=i+1,返回第二步.程序框图:方法一当型循环程序框图:程序如下:S=0i=1WHILEr=99S=S+1/i*i+1i=i+1WENDPRINTSEND方法二直到型循环程序框图:程序如下:S=0i=1DOS=S+1/i*i+1i=i+1LOOPUNTILi99PRINTSEND1.当型循环与直到型循环的区别(1)当型循环先测试后执行,直到型循环先执行后测试;(2)在当型循环语句中,是当满足条件时执行循环体,而在直到型循环语句中,是当不满足条件时执行循环体;(3)对同一算法来说,当型循环语句和直到型循环语句中的条件互为反条件.2.应用循环语句编写程序要注意以下三点(1)循环语句中的变量一般需要进行一定的初始化操作,也就是要设置一些变量的初始值.(2)循环语句在循环的过程中需要有“结束”的语句,程序中最忌“死循环”.(3)在循环中要改变循环条件的成立因素.程序每执行一次循环体,循环条件中涉及到的变量就会发生改变,且在步步逼近跳出循环体的条件.