高中数学人教B版必修3课件:1.2.3 循环语句
- 格式:pptx
- 大小:704.44 KB
- 文档页数:26
1.2.3循环语句基础巩固一、选择题1.有人编写了下列程序,则()A.输出结果是1B.能执行一次C.能执行10次D.是“死循环”,有语法错误[答案] D[解析]从循环语句的格式看,这个循环语句是直到型循环语句,当满足条件x>10时,终止循环.但是第一次执行循环体后x=1,由于x=1>10不成立,则再次执行循环体,执行完成后x=1,则这样无限循环下去,是一个“死循环”,有语法错误,循环终止的条件永远不能满足.2.(2015·山东济南模拟)已知如下程序,其运行结果是()j=1WHILE j*j<100j=j+1WENDj=j-1PRINT“j=”;jENDA.j=j-1 B.j=100C.j=10 D.j=9[答案]D[解析]此程序是求使j2<100的最大正整数.又102=100,故输出结果为j=9.3.下图所示的程序运行后,输出的i的值等于()i=0S=0DOS=S+ii=i+1LOOP WHILE S<=20PRINT iENDA.9 B.8C.7 D.6[答案] C[解析]第一次:S=0+0=0,i=0+1;第二次:S=0+1=1,i=1+1=2;第三次:S=1+2=3,i=2+1=3;第四次:S=3+3=6,i=3+1=4;第五次:S=6+4=10,i=4+1=5;第六次:S=10+5=15,i=5+1=6;第七次:S=15+6=21,i=6+1=7;因为S=21>20,所以输出i=7.4.下列程序的功能是()S=1i=1WHILE S<=2012i=i+2S=S×iWENDPRINT iENDA.计算1+3+5+…+2012B.计算1×3×5×…×2012C.求方程1×3×5×…×i=2012中的i值D.求满足1×3×5×…×i>2012的最小整数i[答案] D[解析]执行该程序可知S=1×3×5×…×i,当S≤2012开始不成立,即S>2012开始成立时,输出i,则求满足1×3×5×…×i>2012的最小整数i.5.(2015·吉林长春期末)设计一个计算1×3×5×7×9×11×13的算法.下面所给出的程序中,①处不能填入的数是()A.13 B.13.5C.14 D.14.5[答案] A[解析]当填i<13时,i值顺次执行的结果是5,7,9,11,当执行到i=11时,下次就是i =13,这时要结束循环,因此计算的结果是1×3×5×7×9×11,故不能填13,但填的数字只要超过13且不超过15均可保证最后一次循环时,得到的计算结果是1×3×5×7×9×11×13.6.读下列两段程序:甲:i=1S=0WHILE i<=1000S=S+ii=i+1WENDPRINT SEND乙:i=1000S=0DOS=S+ii=i-1LOOP UNTIL i<1PRINT SEND对甲、乙程序和输出结果判断正确的是()A.程序不同,结果不同B.程序不同,结果相同C.程序相同,结果不同D.程序相同,结果相同[答案] B[解析]程序甲是计数变量i从1开始逐步递增直到i=1000时终止,累加变量从0开始,这个程序计算的是1+2+3+…+1000;程序乙是计数变量从1000开始逐步递减到i=1时终止,累加变量0开始,这个程序计算的是1000+999+…+1.但这两个程序是不同的.两个程序的输出结果都是S=1+2+3+…+1000=500500.[点拨]同一个问题可以有不同的程序,解决这类试题的关键是看分析程序是用哪种算法语句编制的.二、填空题7.写出下列问题的程序时,需用循环语句的是________.①用二分法求x 2-2=0的近似根;②对任意给定的一个大于1的整数n ,判断n 是否为质数;③输入一个实数,输出它的相反数;④输入n 的值,输出1+12+13+ (1)的值. [答案] ①②④[解析] 本题考查循环语句的使用条件.对于③,输入一个实数x 后,只需要输出-x 即可,不需用循环语句.8.(2015·福建省厦门一中月考)如图程序中,要求从键盘输入n ,求1+2+3+…+n 的和,则横线上缺的程序项是①________,②________.[答案] n i <=n[解析] 本题综合考查程序的设计和功能,着重考查了循环语句中条件的使用.程序应先输入一个n 的值,确定要计算前多少项的和,②处应确定计数变量i 满足的条件,即确定终止条件.三、解答题9.设计一个算法计算1×3×5×7×…×99值的算法,画出程序框图,写出程序.[分析] 本题是一个累乘求积的问题,可采用循环语句编写程序.[解析] 算法步骤如下:第一步:S =1;第二步:i =3;第三步:S =S ×i ;第四步:i =i +2;第五步:判断i 是否大于99,若是转到第六步;否则转到第三步,继续执行第三步,第四步,第五步;第六步:输出S ;第七步:算法结束.相应的程序框图如图所示.相应的程序如下:S=1i=3DOS=S*ii=i+2LOOP UNTIL i>99PRINT SEND[点评](1)这是一个有规律的累乘问题,第一个数为1,以后每个数比前一个数大2,共50个数相乘,因此可用循环结构设计算法,用循环语句编写程序.(2)本题中算法程序也可用WHILE语句编写:S=1i=1WHILE i<=99S=S*ii=i+2WENDPRINT SEND10.下面程序的功能是输出1~100间的所有偶数.程序:i=1DOm=i MOD 2IF__①__ THENPRINT iEND IF②__LOOP UNTIL i>100END(1)试将上面的程序补充完整.(2)改写为WHILE型循环语句.[解析](1)①m=0②i=i+1(2)改写为WHILE型循环程序如下:i=1WHILE i<=100m=i MOD 2IF m=0THENPRINT iEND IFi=i+1WENDEND能力提升一、选择题1.下面的程序运行后,输出的结果为()A.13,7 B.7,4C.9,7 D.9,5[答案] C[解析]直接根据当型循环语句的执行情况进行求解即可.该程序是当型循环,根据程序可知最后一次循环时,s=2×5-1=9,i=5+2=7.故输出的结果为9,7.2.如果以下程序运行后输出的结果是132,那么在程序中UNTIL后面的条件应为()i =12S =1DO S =S*i i =i -1LOOP UNTIL 条件PRINT SENDA .i>11B .i>=11C .i<=11D .i<11[答案] D[解析] 程序执行的功能是S =12×11×10×…,输出结果是132,即循环体只执行了两次,即i =10时,就结束了循环.3.下面程序运行后输出结果错误的是( )[答案] D[解析] A 中控制的循环条件是s ≤10,但每次循环先将计数变量i 赋值i =i +1,后给s 赋值s =s +i .从而循环结束后,s =2+3+4+5=14,最后输出s =14.B 中控制循环的变量i 从1变到10,每次循环,循环变量sum =sum +i ,循环结束sum =1+2+3+…+10=55,并将其输出.C 中控制循环的计数变量i 从1变到10,但在每次循环中先给i 赋值i =i +1,然后才赋值sum =sum +i ,故循环结束时,sum =2+3+4+…+11=65,最后输出sum.D 中控制循环的条件是s ≤10,第一次(i =1)循环后,s =0+1=1,第二次(i =2)循环后,s =1+2=3,第三次(i =3)循环后,s =3+3=6,第四次(i =4)循环后,s =6+4=10仍满足条件s ≤10,故再执行第五次(i =5)循环,s =10+5=15,最后输出s =15.故选D.4.下面是求1~1000内所有偶数的和的程序,把程序框图补充完整,则()A .①处为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 .[答案] B[解析] 程序框图求的是1~1000内所有偶数的和,故i 步长为2,应有i =i +2,排除A 、C ;i 初值为2,S 应加的第一个偶数为2,而不是4,故语句S =S +i 应在i =i +2的前面,排除D.二、填空题5.下面程序的功能是________.INPUT “n =”;nS =0i =1WHILE i <=nS =S +i i + i =i +1WENDPRINT SEND[答案] 从键盘输入n 的值,输出11×2+12×3+13×4+…+1n n +的值.[解析] 控制循环的变量i 初值1,步长1,终值n .累加变量S 每次循环都加上1i i +, ∴S =11×2+12×3+…+1n n +.6.下面为一个求20的数的平均数的程序,在横线上应填充的语句为________.[答案]i>20[解析]题中循环语句是直到型.循环语句,其循环终止的条件是条件成立,由于是要输出20个数,所以填i>20.三、解答题7.(2015·黑龙江省哈尔滨三中月考)给出30个数:Array 1,2,4,7,11,…,其规律是:第1个数是1,第2个数比第1个数大1,第3个数比第2个数大2,第4个数比第3个数大3,依次类推,要计算这30个数的和,现在已知该问题的算法的程序框图如图所示.(1)请在图中判断框和处理框内填上合适的语句,使之能实现该题的算法功能;(2)根据程序框图写出程序.[探究]本题的算法中涉及三个变量i,p,S,注意各个变量的作用;i为计数变量,另外也为p进行了递加;p表示了参与求和的各个数;S为累加变量,其作用是得到最终的结果.[解析](1)该算法使用了当型循环结构,因为是求30个数的和,故循环体应执行30次,其中i是计数变量,因此判断框内的条件就是限制计数变量i的,故应为i≤30.算法中的变量p实质是表示参与求和的数,由于它也是变化的,且满足第i个数比其前一个数大i-1,第i +1个数比其前一个数大i,故处理框内应为p=p+i.故①处应填i≤30?;②处应填p=p+i.(2)根据程序框图,可设计如下程序:p =1S =0WHILE i <=30S =S +p p =p +ii =i +1WENDPRINT SEND8.(2015·安徽马鞍山调研)用分期付款的方式购买价格为1150元的冰箱,如果购买时先付150元,以后每月付50元,加上欠款的利息,若一个月后付第一个月的分期付款,月利率为1%,那么购买冰箱的钱全部付清后,实际共付出多少元?画出程序框图,写出程序.[思路点拨] 本题实质上是求一系列有规律的数的和,故可用循环语句来实现,算法语句的实际应用就是将实际问题转化为函数问题,进而转化为算法问题,写出算法语句.[解析] 购买时付款150元,余款1000元分20次付清,每次付款数组成一个数列{a n }. a 1=50+(1150-150)×1%=60,a 2=50+(1150-150-50)×1%=59.5,…,a n =50+[1150-150-(n -1)×50]×1%=60-12(n -1)(n =1,2,…,20). ∴a 20=60-12×19=50.5. 总和S =150+60+59.5+…+50.5=1255(元).程序框图如图.程序:专业文档a=150m=60S=0S=S+ai=1WHILE i<=20S=S+mm=m-0.5i=i+1WENDPRINT S END珍贵文档。