第二章测试
(时间:120分钟 满分:150分)
一、选择题(本大题共有10个小题,每小题5分,共50分.在下列四个选项中,只有一项是符合题意的)
1.下列说法不是算法的是( )
A.解方程2x-6=0的过程就是移项和系数化为1
B.从济南到伦敦要乘火车到北京,然后再转乘飞机
C.解方程2x2+x-1=0
D.利用公式S=πR2计算半径为3的圆的面积就是计算π×32
解析 由算法的特征,可知答案为C.
答案 C
2.用二分法求方程x2=5的近似根的算法中,要用的算法结构为( )
A.顺序结构 B.条件结构
C.循环结构 D.以上都要用到
答案 D
3.用直接插入排序法将8,1,2,3,5,7按从大到小顺序排序,当插入第四个数3时,实际上是插在________之间.( )
A.8和2 B.1和2
C.8和1 D.8和5
解析 第一次排序8,1,2,3,5,7,
第二次排序8,2,1,3,5,7,
第三次排序为8,3,2,1,5,7.
答案 A
4.下列程序的功能是判断输入的数x是否是正数,若是,输出它的平方;若不是,输出它的相反数,则填入的条件应为( )
A.x>0 B.x<0
C.x≥0 D.x≤0
答案 D
5.给出一个如图所示的算法流程图,要使输入的x值与输出的y值相等,则这样的x值的个数是( )
A.1 B.2
C.3 D.4
解析 由题可知该图表示的是求函数
y=
由x2=x,得x=0,或x=1;由2x-3=x,得x=3;
由=x,得x=±1(舍),故有3个值.
答案 C
6.如图所示的算法语句运行的结果为( )
A.1,1 B.2,2
C.1,2 D.2,1
解析 由a=b知a=2,由b=a知b=2.
答案 B
7.下面程序输出的结果为( )
A.-1 B.0
C.1 D.2
解析 第一次循环S=5,n=4,
第二次循环S=2×5+4=14,n=3
第三次循环S=2×14+3=31,n=2,
第四次循环S=2×31+2=64,n=1,
第五次循环S=64×2+1=129,n=0,跳出循环.
答案 B
8.阅读如图所示的算法流程图,运行相应的程序,输出的i值等于( )
A.2 B.3
C.4 D.5
解析 第一次循环S=2,i=2,
第二次循环S=2+2×22=10,i=3,
第三次循环S=10+3×23>11,i=4.
答案 C
9.
执行如图所示的程序框图,输出的S值为( )
A.1 B.
C. D.
解析 框图首先给变量i和S赋值0和1.
执行S==,i=0+1=1;
判断1≥2不成立,执行S==,i=1+1=2;
判断2≥2成立,算法结束,跳出循环,输出S的值为.故选C项.
答案 C
10.为了在运行下面的程序之后得到输出值y=16,键盘输入的x应该是( )
A.3或-3 B.-5
C.-5或5 D.5或-3
解析 由题意可得,该程序表示的是求函数
y=的函数值,
由(x+1)2=16,得x=3(舍),或x=-5,
由(x-1)2=16,得x=5,或x=-3(舍),故x的值为±5.
答案 C
二、填空题(本大题共5小题,每小题5分,共25分)
11.给出解决问题的算法:
12题图第一步:输入x;
第二步:若x≤3,则y=2x-1,否则y=x2-2x+4;
第三步:输出y.
(1)这个算法解决的问题是________;
(2)当输入的x值为________时,输入值与输出值相等.
解析 (1)由算法可知,该算法解决的是求
y=的函数值;
(2)由题意可得或得x=1.
答案 (1)求函数y=的函数值
(2)1
12.指出如图所示的算法流程图的运行结果.若输入-4,则输出的结果为________.
解析 -4<0.
答案 4
13.下面程序运行后输出的结果为________.
x=5
解析 ∵x=5,∴y=-20+3=-17,∴x-y=5-(-17)=22,y-x=-17-5=-22.
答案 22 -22
14.如图所示程序,退出循环时S的值为________.
解析 第一次循环S=2,i=5,
第二次循环S=2+5=7,i=8,
第三次循环S=7+8=15,i=11,
第四次循环S=15+11=26,i=14,跳出循环S=26.
答案 26
15.执行如图所示的程序框图(流程图),若输入x=4,则输出的y值为________.
解析 当x=4时,y=×4-1=1,此时|1-4|=3>1,
∴x=1,y=×1-1=-,|y-x|=|--1|=>1,
∴x=-,此时y=-,又|-+|=<1,
∴y=-.
答案 -
三、解答题(本大题共6小题,共75分)
16.(12分)求三个数324,243,135的最大公约数.
解 ∵324=243×1+81,243=81×3+0,135=81×1+54,
又81=54×1+27,54=27×2+0,
∴这三个数的最大公约数为27.
17.(12分)给出如下一个算法:
第一步,输入x;
第二步,将x与5进行比较,若x<5,则y=2x+5;否则执行第三步;
第三步,若x=5,则y=0;否则y=3x-2;
第四步,输出y.
画出该算法的流程图.
解 该算法的流程图如下:
18.(12分)为了缓解油价上涨带来的成本压力,某城市出租车公司规定在城区内搭乘出租车的收费标准为:不超过3公里收7元,超过3公里的里程每公里收1.5元,另每车次超过3公里收燃油附加费1元(其他因素不考虑).设计一个计算出租车费用的算法,画出算法流程图.
解 设x为出租车行驶的公里数,y为收取的费用,则
y=
算法步骤如下:
第一步,输入x;
第二步,判断x是否大于3,若x>3,则y=8+1.5×(x-3),否则y=7;
第三步,输出y.
算法流程图如图所示.
19.(13分)有10个互不相等的数,画出找出其中的最大数的算法流程图,并写出算法语句.
解 算法语句如下:
输入Max;
For i=1 To 9
输入x
If x>Max Then
Max=x
End If
Next
输出Max.
算法流程图如图.
20.(13分)意大利数学家斐波那契在1202年出版的一书里提出了这样的一个问题:1对兔子饲养到第二个月进入成年,第三个月生1对小兔,以后每个月生1对小兔,所生小兔能全部存活并且也是第二个月成年,第三个月生1对小兔,以后每月生1对小兔,问这样下去到年底应有多少对兔子?试画出解决问题的算法流程图,并编写相应的程序.
解 算法流程图如图所示:
程序:
S=1
Q=1
i=3
Do
F=S+Q
Q=S
S=F
i=i+1
Loop While i<=12
输出F.
21.(13分)根据下面的几个算法流程图,分析已解决的问题,书写它的程序并回答后面的问题.
(1)图①及图②所解决的问题分别是什么?写出它们的程序.
(2)研究图①,回答:
①当输入的x值为1时,输出的y值为多大?
②要使输出的y值为10,输入的x值应该为多少?
③输入的x值和输出的y值可能相等吗?若能,输入x的值为多少?若不能,说明理由.
(3)研究图②,回答:
①第一个判断框中的内容a=0改为a≠0,第二个判断框中的b≠0改为b=0可以吗?
②连接第一个判断框的流程线上的“是”或“否”能否互换,第二个判断框呢?
①
②
解 (1)图①解决的是求分段函数
y=的函数值的问题,其程序如下:
输入x;
If x<=3 Then
y=2x
Else
y=2x+2
End If
输出y.
图②解决的是求方程ax+b=0(a、b是常数)的根的问题,与算法流程图对应的程序如下:
输入a,b;
If a≠0 Then
x=-,输出“方程的根是x”
Else
If b≠0 Then
输出“方程无实根”
Else
输出“方程的根为全体实数”
End If
End If
(2)①当x=1时,∵1≤3,
∴y=2×1=2,
∴输出的y是2.
②由2x+2=10,知x=4,∵4>3,
所以要使输出的值为10,输入的x应是4.
③可能相等,当输入的x=0时,y=2x=0.输入的x值和输出的y值相等;
当2x+2=x,即x=-2时,虽然y=x,但-2<3,此时不可能.
综上,当输入的x=0时,输入值x和输出值y相等.
(3)①可以,但要将与之相连的流程线上的是和否互换.
②能互换,但必须将判断框内的内容a=0改为a≠0;
第二个判断框的也可以互换,但必须将判断框内的内容b≠0改为b=0.