高中数学 123循环语句练习 新人教A版必修3.docx
《高中数学 123循环语句练习 新人教A版必修3.docx》由会员分享,可在线阅读,更多相关《高中数学 123循环语句练习 新人教A版必修3.docx(17页珍藏版)》请在冰豆网上搜索。
高中数学123循环语句练习新人教A版必修3
【成才之路】2015-2016学年高中数学1.2.3循环语句练习新人教A版必修3
基础巩固
一、选择题
1.有人编写了下列程序,则( )
A.输出结果是1
B.能执行一次
C.能执行10次
D.是“死循环”,有语法错误
[答案] D
[解析] 从循环语句的格式看,这个循环语句是直到型循环语句,当满足条件x>10时,终止循环.但是第一次执行循环体后x=1,由于x=1>10不成立,则再次执行循环体,执行完成后x=1,则这样无限循环下去,是一个“死循环”,有语法错误,循环终止的条件永远不能满足.
2.(2015·山东济南模拟)已知如下程序,其运行结果是( )
A.j=j-1B.j=100
C.j=10D.j=9
[答案] D
[解析] 此程序是求使j2<100的最大正整数.又102=100,故输出结果为j=9.
3.下图所示的程序运行后,输出的i的值等于( )
i=0
S=0
DO
S=S+i
i=i+1
LOOPWHILE S<=20
PRINT i
END
A.9B.8
C.7D.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=1
i=1
WHILE S<=2012
i=i+2
S=S×i
WEND
PRINT i
END
A.计算1+3+5+…+2012
B.计算1×3×5×…×2012
C.求方程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.13B.13.5
C.14D.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.读下列两段程序:
甲:
乙:
对甲、乙程序和输出结果判断正确的是( )
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.写出下列问题的程序时,需用循环语句的是________.
①用二分法求x2-2=0的近似根;
②对任意给定的一个大于1的整数n,判断n是否为质数;
③输入一个实数,输出它的相反数;
④输入n的值,输出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;
第七步:
算法结束.
相应的程序框图如图所示.
相应的程序如下:
[点评]
(1)这是一个有规律的累乘问题,第一个数为1,以后每个数比前一个数大2,共50个数相乘,因此可用循环结构设计算法,用循环语句编写程序.
(2)本题中算法程序也可用WHILE语句编写:
S=1
i=1
WHILEi<=99
S=S*i
i=i+2
WEND
PRINTS
END
10.下面程序的功能是输出1~100间的所有偶数.
程序:
i=1
DO
m=iMOD2
IF __①__THEN
PRINT i
END IF
②__
LOOPUNTIL i>100
END
(1)试将上面的程序补充完整.
(2)改写为WHILE型循环语句.
[解析]
(1)①m=0 ②i=i+1
(2)改写为WHILE型循环程序如下:
i=1
WHILE i<=100
m=iMOD2
IF m=0 THEN
PRINT i
END IF
i=i+1
WEND
END
能力提升
一、选择题
1.下面的程序运行后,输出的结果为( )
A.13,7B.7,4
C.9,7D.9,5
[答案] C
[解析] 直接根据当型循环语句的执行情况进行求解即可.该程序是当型循环,根据程序可知最后一次循环时,s=2×5-1=9,i=5+2=7.故输出的结果为9,7.
2.如果以下程序运行后输出的结果是132,那么在程序中UNTIL后面的条件应为( )
A.i>11B.i>=11
C.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.下面程序的功能是________.
[答案] 从键盘输入n的值,输出
+
+
+…+
的值.
[解析] 控制循环的变量i初值1,步长1,终值n.累加变量S每次循环都加上
,
∴S=
+
+…+
.
6.下面为一个求20的数的平均数的程序,在横线上应填充的语句为________.
[答案] i>20
[解析] 题中循环语句是直到型.循环语句,其循环终止的条件是条件成立,由于是要输出20个数,所以填i>20.
三、解答题
7.(2015·黑龙江省哈尔滨三中月考)给出30个数:
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)根据程序框图,可设计如下程序:
8.(2015·安徽马鞍山调研)用分期付款的方式购买价格为1150元的冰箱,如果购买时先付150元,以后每月付50元,加上欠款的利息,若一个月后付第一个月的分期付款,月利率为1%,那么购买冰箱的钱全部付清后,实际共付出多少元?
画出程序框图,写出程序.
[思路点拨] 本题实质上是求一系列有规律的数的和,故可用循环语句来实现,算法语句的实际应用就是将实际问题转化为函数问题,进而转化为算法问题,写出算法语句.
[解析] 购买时付款150元,余款1000元分20次付清,每次付款数组成一个数列{an}.
a1=50+(1150-150)×1%=60,
a2=50+(1150-150-50)×1%=59.5,
…,
an=50+[1150-150-(n-1)×50]×1%=60-
(n-1)(n=1,2,…,20).
∴a20=60-
×19=50.5.
总和S=150+60+59.5+…+50.5=1255(元).
程序框图如图.
程序: