2019-2020学年高中数学第二章算法初步2.3几种基本语句优化训练北师大版必修3.doc

2019-2020 学年高中数学第二章算法初步 2.3 几种基本语句优化训练 北师大版必修 3
5 分钟训练 (预习类训练,可用于课前) 1.下面的问题中必须用条件语句才能实现的个数是( ) (1)已知三角形三边长,求三角形的面积; (2)求方程 mx+n=0(m,n 为常数)的根; (3) 求三个实数 a,b,c 中的最大者; (4)求 1+2+3+…+10 的值. A.4 个 B.3 个 C.2 个 D.1 个 答案:C 解析: (1) (4)都可以通过赋值按顺序运算,不需要利用条件语句,而(2)要根据系数 m, n 的实际情况分析根的情况, (3)要通过前面比较的结果决定后续步骤,所以(2) (3)都 要用到条件语句. 2.条件语句的一般形式是: If 条件 Then 语句 1 Else 语句 2 End If 其中语句 2 表示的是( ) A.不满足条件时执行的内容 B.条件语句 C.条件 D.满足条件时执行的内容 答案:A 解析:if 条件语句程序执行过程是:首先对 if 后的条件进行判断,如果条件符合,就执行 语句序列 1,否则执行 else 后的语句序列 2. 3.下列条件语句中,若输入 7,则该语句执行后输出的结果是____________. 输入 t; If t<-4 Then c=10 Else c=5+6(t-3) End If 输出 c. 答案:29 解析:根据条件语句,因为 t=7 不满足 t<-4,所以执行 c=5+6(t-3),最后输出 c. 10 分钟训练 (强化类训练,可用于课中) 1.下列关于 if 条件语句一般格式特点说法错误的是( ) A.对 if 后条件判断后,若符合则执行该条件后的语句 B.对 if 后条件判断后,若不符合则可以执行 else 后的语句 C.对 if 后条件判断后,若不符合可以直接结束该条件语句 D.if 条件后的语句以及 else 后的语句可以同时执行 答案:D 解析:计算机在执行 if 条件语句时,首先对 if 后的条件进行判断,如果条件符合,就执行 其后的语句,如果条件不符合,则可以直接结束该条件语句,也可以转而执行 else 后的语

句. 2.下列问题的算法适宜用条件语句的是( ) A.求点 P 到直线 l 的距离 B.由直角三角形的两直角边求斜边 C.解不等式 ax+b>0 D.计算 100 个数的平均数 答案:C 解析:要用到条件语句,就需要进行判断.由于 a 是大于 0、小于 0 还是等于 0 未知,所以 要用条件语句进行判断,故选 C 项. 3.已知如下条件语句,若 x=6,则其运行的结果是( ) If x≤10 Then y=0.35x Else y=10×0.35+(x-10)×0.7 End If A.3.5 B.0.7 C.2.1 D.3 答案:C 解析:∵已知条件语句的算法功能为求分段函数 y= ?

?0.35x(x? 10) 的函数值 ?10 ? 0.35? (x - 10)? 0.7(x ? 10)

∴当 x=6<10 时,y=0.35×6=2.1. 4.分析以下复合 If 语句: 输入 S; If S≥20 and S<60 Then S=3S+5 Else If S≥60 Then S=S-6 Else S=10-S End If End If 输出 S. 若输入 S=10,最后输出的结果是____________. 答案:0 解析: 此程序两次用到 If 条件语句而且是一个镶嵌在另一个里面, 若输入 S=10, 判断 S≥20 and S<60 是否成立,显然不成立,进入 Else 下一步,判断 S≥60 是否成立,如果也不成 立,再次进入 Else 下一步,此时 S=10-S,所以 S=10-10=0. 5.某商店对顾客购买货物款数满 500 元,减价 3%,不足 500 元不予优惠.输入一顾客购买的 款数,计算出这个顾客实交的款数.用条件语句描述算法. 解:由题意得 y= ? 算法语句表示为: 输入 x;

?0.97x( x ? 500), ? x( x ? 500).

If x≥500 Then y=0.97*x Else y=x End If 输出 y. 30 分钟训练 (巩固类训练,可用于课后) 1.给出下列语句: 输入 x; If x>0 Then x=-x Else x=x End If 输出 x. 试问,若输入 x=8,则输出的数为( ) A.8 或-8 B.-8 C.8 D.0 答案:B 解析:∵x=8,根据 If 条件可知,符合条件 x>0,∴x=-8.输出的数就是-8. 2.若运行如下算法语句,最后输出 y 的值为-20,那么应该输入 t 的值为( ) 输入 t; If t<5 Then y=2t-8 Else 2 y=8t-t End If 输出 y. A.10 B.10 或-6 C.-6 D.10 或-2 或-6 答案:B 2 解析:分别解两个方程: (1)8t-t =-20(其中 t 要不小于 5),解得 t=10;(2)2t-8=-20(其中 t <5),解得 t=-6. 3.现运行如下条件语句,现在输入 x 的初值为 π ,则运行结果为( ) 输入 x If x≥2 Then y=x/π +3 Else y=x+1 End If 输出 y A.π +1 B.3 C.4 D.1 答案:C 解析:∵x=π ,满足 If 条件 x≥2,

∴y=

? +3=4.故选 C 项. ?

4.阅读下列语句,如果输入 x= 输入 x; If x>π Then y=2sinx+1 Else y=4cosx End If 输出 y. 答案: 2 3 解析:因为 x=

? ,则输出结果 y 为___________. 6

? >π 不成立,所以执行 y=4cosx,得函数值为 2 3 . 6

5.以下语句运行后输出的结果为____________. x=4 y=-8 If x<0 Then x=y-7 Else y=y+3 End If 输出 x+2y,y-2x. 答案:-6 -13 解析: 根据 If 语句, 因为 x=4>0, 所以进入 Else 语句, y=-5, 而 x=4, 所以 x+2y=-6, y-2x=-13. 6.铁路部门托运行李的收费方法如下: y 是收费额(单位:元) ,x 是行李重量(单位:kg) ,当 0<x≤20 时,按 0.35 元/kg 收费, 当 x>20 kg 时,20 kg 的部分按 0.35 元/kg,超出 20 kg 的部分,则按 0.65 元/kg 收费, 请根据上述收费方法编写程序语句实现上述算法. 解:由题意知,y= ?

?0.35x(0 ? x ? 20), 所以要用条件语句实现算法. ?0.35? 20 ? ( x ? 20) ? 0.65( x ? 20),

输入 x; If 0<x and x≤20 Then y=0.35x Else y=0.35×20+0.65×(x-20) End If 输出 y. 7.到银行办理异地汇款(不超过 100 万元)时,银行要收取一定的手续费.汇额不超过 100 元,收取 1 元手续费;超过 100 元但不超过 5 000 元,按汇款额的 1%收取;超过 5 000 元, 一律收取 50 元手续费.试用条件语句描述汇款额为 x 元时,银行收取手续费为 y 元的过程, 并画出流程图.

解:依题意可知,y 与 x 的关系是

?1(0 ? x ? 100), ? ), y= ?0.01x (100 ? x ? 5000 ?50(5000 ? x ? 1000000 ), ?
因此利用条件语句实现算法: 算法步骤如下: 1.输入 x; 2.如果 0<x≤100,那么 y=1;否则执行第 3 步; 3.如果 1 000 000≥x>5 000,那么 y=50;否则 y=0.01x; 4.输出 y. 用 If 语句表示为: 输入 x; If 0<x≤100 Then y=1 Else If 1 000 000≥x>5 000 Then y=50 Else y=0.01*x End If End If 输出 y. 流程图如下图:

3.2 循环语句 5 分钟训练 (预习类训练,可用于课前) 1.循环语句中可以嵌套的语句是( ) A.条件语句 B.循环语句 C.输入、输出语句 D.以上三种语句均可 答案:D 解析:条件语句,循环语句,输入、输出语句都可以镶嵌在循环语句中,在一些稍微复杂的 程序中经常可见. 2.通过算法的学习,知道数学的机械化,能做许多我们用笔和纸不敢做的、有很大计算量且

在算法上又有一定的重复性的问题,这主要归功于算法语句的( ) A.输出语句 B.赋值语句 C.条件语句 D.循环语句 答案:D 3.由下面的循环语句可知输出的结果是( ) S=0 For i=1 To 100 S=S+i i=i+1 Next 输出 S A.5 050 B.2 525 C.5 000 D.1 010 答案:A 解析:循环变量 i,从初值 1 到终止值为 100,循环体为 S=S+i,其功能为求 1+2+3+…+100. 故选 A 项. 4.给定如下算法语句: S=0 i=2 Do S=S+i i=i+3 Loop While i≤8 输出 S 其运行的结果是____________. 答案:15 解析: 由条件 i≤8 知, 当 i>8 时终止循环, 所以共循环 3 次.第 3 次循环时, i=8, S=2+5+8=15. 10 分钟训练 (强化类训练,可用于课中) 1.运行以下循环语句的结果是( ) S=0.5 For i=(-1) To 1 S=S+i i=i+0.1 Next 输出 S A.0.5 B.1 C.1.5 D.-1.5 答案:A 解析: 由题意知, 循环次数为 21, 最后输出的 S 为 S=0.5+ (-1) + (-0.9) +…+ (-0.1) +0+0.1+… +0.9+1=0.5.故选 A 项. 2.下面循环语句运行后的结果是( ) i=0 S=0 Do S=S+i i=i+1

Loop While S≤20 输出 i A.5 B.6 C.7 D.8 答案:C 解析:最后输出的是 i,指循环次数.即求满足条件 S≤20 的最大正整数. 进入第 6 次循环时,S=0+1+2+3+4+5=15<20, 进入第 7 次循环时,S=0+1+2+3+4+5+6=21>20,退出循环,此时 i=6, 输出 i=i+1=6+1=7. 3.运行以下 For 语句的结果是___________. x=2 For n=1 To 888 x=x+1 n=n+1 Next 输出 x 答案:890 解析:这是一个简单的循环语句,n 的初值为 1,步长为 1,n 的终值为 888,就是求和 x=2+1+1+…+1,共 888 个 1 和 1 个 2 相加,所以 x=890. 4.下列循环语句运行的结果是____________. a=2 i=1 Do a=a+1 输出 i,a i=i+1 Loop While i≤6 答案:1,3 2,4 3,5 4,6 5,7 6,8 解析: 这个 Do Loop 循环语句中的条件是 i≤6, 然后第一步 i=1, a=a+1=3, 第二步 i=i+1=2, a=a+1=4,…,根据条件一共计算了六次,输出六组结果. 5.某电视机厂 2006 年全年生产电视机 60 万台,计划从 2007 年开始每年的产量比上一年增 长 15%,设计一个算法,计算从哪一年开始,该厂的电视机产量超过 300 万台,只写出算法 语句. 解:由于不知循环次数,所以用 Do Loop 语句来描述其算法. S=60; i=2 006; Do S=(1+0.15)*S i=i+1 Loop While S≤300 输出 i. 30 分钟训练 (巩固类训练,可用于课后) 1.下面关于 Do Loop 语句的说法,正确的是( ) A.While 后的条件被满足时执行循环体 B.While 后的条件不满足时执行循环体

C.Do Loop 循环语句不需要事先指定循环变量的初值 D.Do Loop 循环的次数可以是无限次 答案:A 解析:在 Do Loop 语句中,每一次重复后,都需要检验 While 后的条件是否被满足,一旦不 满足条件,循环停止,故 A 项正确. 2.以下循环语句运行后输出的结果是 120,那么在语句中 While 后面的条件应为( ) S=1 i=2 Do S=S*i i=i+1 Loop While___________ 输出 S A.i≥5 B.i>5 C.i≤5 D.i<5 答案:C 解析:这个 Do Loop 循环语句中,第一周期 S=S*i=1*2;i=i+1=3;第二周期,S=S*i=1*2*3; i=i+1=4;第三周期 S=S*i=1*2*3*4;i=i+1=5, …,以此类推, 到第四周期 S=120,此时 i=6, 应该停止运算,所以条件处应填 i≤5. 3.以下循环语句运行后的输出结果为( ) i=1 Do i=i+2 S=2*i+3 i=i-1 Loop While i<8 输出 S A.17 B.19 C.21 D.23 答案:C 解析:进入第 1 次循环时,i=1+2=3,S=2*3+3=9,i=3-1=2; 进入第 2 次循环时,i=2+2=4,S=2*4+3=11,i=4-1=3;…,以此类推,在第 7 次进入循环时, i=7+2=9,S=2*9+3=21,i=9-1=8,不再满足条件 i<8,所以终止循环,输出 S=21.故选 C 项. 4.i=0 For n=1 To 100 If Int(n/7)=n/7 Then i=i+1 End If Next 输出 i 上 面 For 循 环 语 句 的 目 的 是 _______________________________________________________. 答案:计算 1—100 能被 7 整除的数的个数 解析:Int(n/7)表示不超过

n 的最大整数. 7

5.下面 Do Loop 语句描述的算法功能是___________.(只写式子不计算) i=1 S=0 Do S=S+1/(2*i+1) i=i+1 Loop While i<10 输出 S

1 1 1 1 ? ??? ? 3 5 17 19 1 解析:∵循环体为 S=S+ ,初始值为 0,终止条件是 i<10,不满足. 2?i ?1
答案:S= ∴当 i=9 时,i=9+1=10,不再满足 i<10,退出循环. 6.下面语句表示什么样的算法? n=1 S=0 Do S=S+n*n n=n+1 Loop While n≤100 输出 S 解:∵n 为循环变量,S 为累加变量,且初值分别为 n=1,S=0. ∴第一次循环时,S=0+1×1=1,n=1+1=2. 由循环体知,其功能是求连续正整数的平方和,且终止条件为 n≤100, 2 2 2 2 ∴该语句是描述计算 1 +2 +3 +…+100 的和的算法. 2 3 22 7.写出计算 1+2+2 +2 +…+2 的算法语句. 解:用 Do Loop 语句描述该算法为: S=0 i=0 Do S=S+2^ i i=i+1 Loop While i≤22 输出 S. 用 For 语句描述该算法为: S=0 For i=0 To 22 S=S+2^ i i=i+1 Next 输出 S. 8.写出计算

1 1 1 1 ? ? ??? 的值的算法语句,并画出流程图. 1? 4 3 ? 6 5 ? 8 99 ? 102

解:观察题式可以看出,各项的分母都是两个数的积,其中第一因数是 1、3、5…100 以内

的奇数,第二个因数是第一个因数与 3 的和,因此,可以构造一个循环程序,让变量 X 从 1 开始每次增加 2,产生分母中的第一个因数,由 X+3 得到第二个因数,上式中的每一项可以 用表达式 1/(X*(X+3) )表示,把各项累加起来就可以得到结果. 流程图如下图:

用 Do Loop 语句描述算法为: S=0 X=1 Do S=S+1/(X*(X+3) ) X=X+2 Loop While X<100 输出 S. 用 For 语句描述算法为: S=0 For X=1 To 99 S=S+1/(X*(X+3) ) X=X+2 Next 输出 S.


相关文档

2019-2020学年高中数学第二章平面向量2.7向量应用举例优化训练北师大版必修4.doc
2019-2020学年高中数学第一章三角函数1.6余弦函数的图像与性质优化训练北师大版必修4.doc
2019-2020学年高中数学第一章三角函数1.5正弦函数的图像与性质优化训练北师大版必修4.doc
2019-2020学年高中数学 第2章2.2.1等差数列的概念及通项公式知能优化训练 新人教A版必修5.doc
2019-2020学年高中语文 第一单元一个观念 我的记忆知能优化演练 语文版选修《中外现代诗歌欣赏》.doc
2019-2020学年高中生物 第二章 第三节《伴性遗传》教学设计 新人教版必修2.doc
2019-2020学年高中数学第二章平面向量2.3从速度的倍数到数乘向量2.3.1数乘向量优化训练北师大版必修4.doc
2019-2020学年高中历史 第四单元 第13课 大众传媒的发展同步检测 北师大版必修2.doc
2019-2020学年高中历史 第5单元 从科学社会主义理论到社会主义制度的建立 2单元测试 新人教版必修1.doc
2019-2020学年高中历史 第5单元 从科学社会主义理论到社会主义制度的建立 3单元测试 新人教版必修1.doc
电脑版