第一章测试
(时间:120分钟 满分:150分)
一、选择题(本大题共12小题,每小题5分,满分60分.在每小题给出的四个选项中,有且只有一项是符合题目要求的)
1.算法共有三种逻辑结构,即顺序结构、条件结构、循环结构,下列说法正确的是( )
A.一个算法只能含有一种逻辑结构
B.一个算法最多可以包含两种逻辑结构
C.一个算法必须含有上述三种逻辑结构
D.一个算法可能含有上述三种逻辑结构
解析 通读四个选项知,答案D最为合理,应选D.
答案 D
2.下列赋值语句正确的是( )
A.M=a+1 B.a+1=M
C.M-1=a D.M-a=1
解析 根据赋值语句的功能知,A正确.
答案 A
3.学了算法你的收获有两点,一方面了解我国古代数学家的杰出成就,另一方面,数学的机械化,能做许多我们用笔和纸不敢做的有很大计算量的问题,这主要归功于算法语句的( )
A.输出语句 B.赋值语句
C.条件语句 D.循环语句
解析 由题意知,应选D.
答案 D
4.读程序
其中输入甲中i=1,乙中i=1000,输出结果判断正确的是( )
A.程序不同,结果不同
B.程序不同,结果相同
C.程序相同,结果不同
D.程序相同,结果相同
解析 图甲中用的是当型循环结构,输出结果是S=1+2+3+…+1000;
而图乙中用的是直到型循环结构,输出结果是
S=1000+999+…+3+2+1.可见这两图的程序不同,但输出结果相同,故选B.
答案 B
5.程序框图(如图所示)能判断任意输入的数x的奇偶性,其中判断框内的条件是( )
A.m=0? B.x=0?
C.x=1? D.m=1?
解析 阅读程序易知,判断框内应填m=1?,应选D.
答案 D
6.840和1764的最大公约数是( )
A.84 B.12
C.168 D.252
解析 ∵1764=840×2+84,840=84×10,∴1764与840的最大公约数是84.
答案 A
7.用秦九韶算法求多项式:f(x)=12+35x-8x2+79x3+6x4+5x5+3x6在x=-4的值时,v4的值为( )
A.-57 B.220
C.-845 D.3392
解析 f(x)=(((((3x+5)x+6)x+79)x-8)x+35)x+12
当x=-4时,v0=3;
∴v1=3×(-4)+5=-7;v2=-7×(-4)+6=34,
v3=34×(-4)+79=-57;v4=-57×(-4)-8=220.
答案 B
8.1001101(2)与下列哪个值相等( )
A.115(8) B.113(8)
C.114(8) D. 116(8)
解析 先化为十进制:
1001101(2)=1×26+23+22+20=77,再化为八进制.
∴77=115(8),
∴100110(2)=115(8).
答案 A
9.下面程序输出的结果为( )
A.17 B.19
C.21 D.23
解析 当i=9时,S=2×9+3=21,判断条件9>=8成立,跳出循环,输出S.
答案 C
10.(2010·福建)阅读如图所示的程序框图,运行相应的程序,输出的i值等于( )
A.2 B.3
C.4 D.5
解析 当i=1时,a=1×2=2,S=0+2=2,i=1+1=2;
由于2>11不成立,故a=2×22=8,S=2+8=10,i=2+1=3;
由于10>11不成立,故a=3×23=24,S=10+24=34,i=3+1=4;
由于34>11成立,故输出i=4.
答案 C
11.以下求方程x5+x3+x2-1=0在[0,1]之间近似根的算法是( )
A.辗转相除法 B.更相减损术
C.秦九韶算法 D.二分法
解析 该算法是用二分法求方程近似根的程序表示.
答案 D
12.某店一个月的收入和支出总共记录了N个数据a1,a2,…,aN,其中收入记为正数,支出记为负数.该店用下边的程序框图计算月总收入S和月净盈利V.那么在图中空白的判断框和处理框中,应分别填入下列四个选项中的( )
A.A>0?,V=S-T B.A<0?,V=S-T
C.A>0?,V=S+T D.A<0?,V=S+T
解析 月总收入S应当为本月的各项收入之和,故需满足A>0,又月净盈利应当为月总收入减去本月各项支出的和,又T<0,所以V=S+T,因此,第一空应填A>0?,处理框应填V=S+T.
答案 C
二、填空题(本大题共4小题,每小题5分,满分20分.把答案填在题中横线上)
13.将二进制数101101(2)化为十进制数,结果为________;再将结果化为8进制数,结果为________.
解析 101101(2)=1×25+0×24+1×23+1×22+0×2+1×20=45,∴化为十进制数为45;又45=8×5+5,∴45=55(8)
答案 45 55(8)
14.若输入8,则下列程序执行后输出的结果是______.
解析 这是一个利用条件结构编写的程序,当输入t=8时,执行c=0.2+0.1*(t-3), ∴c=0.7
答案 0.7
15.根据条件填空,把程序框图补充完整,求1~1000内所有偶数的和.
①________,②________
答案 S=S+i i=i+2
16.阅读下面程序,说明该算法的处理功能________________ ________________________________________________________.
答案 求S=1+2+3+…+20和t=1×2×3×…×20
三、解答题(本大题共6小题,满分70分.解答应写出必要的文字说明、证明过程或演算步骤)
17.(10分)画出函数y=的流程图.
解 流程图如图所示.
18.(12分)用“更相减损术”求(1)中两数的最大公约数;用“辗转相除法”求 (2)中两数的最大公约数.
(1)72,168;
(2)98,280.
解 (1)用“更相减损术”
168-72=96,
96-72=24,
72-24=48,
48-24=24.
∴72与168的最大公约数是24.
(2)用“辗转相除法”
280=98×2+84,
98=84×1+14,
84=14×6.
∴98与280的最大公约数是14.
19.(12分)下列语句是求S=2+3+4+…+99的一个程序,请回答问题:
(1)程序中是否有错误?请加以改正;
(2)把程序改写成另一种类型的循环语句.
解析 (1)错误有两处:
一处:语句i=1应改为i=2.
二处:语句LOOP UNIIL i>=99
应改为LOOP UNTIL i>99.
LOOP UNTIL i>99.
(2)改为当型语句为:
20.(12分)用秦九韶算法求函数f(x)=x5+x3+x2+x+1,当x=3时的函数值.
解 f(x)=x5+x3+x2+x+1
=((((x+0)x+1)x+1)x+1)x+1.
当x=3时的值:
v0=1,v1=1×3+0=3,v2=3×3+1=10,
v3=10×3+1=31,v4=31×3+1=94,
v5=94×3+1=283.
∴当x=3时,f(3)=283.
21.(12分)设计算法求+++…+的值.要求画出程序框图,并用基本语句编写的程序.
解 程序框图如下.
程序如下.
22.(12分)求函数y=的值的程序框图如图所示.
(1)指出程序框图中的错误之处并写出算法;
(2)重新绘制解决该问题的程序框图,且回答下面提出的问题:
问题1,要使输出的值为7,输入的x的值应为多少?
问题2,要使输出的值为正数,输入的x应满足什么条件?
解 (1)函数y=是分段函数,其程序框图中应该有判断框,应用条件结构,不应该是顺序结构.
正确的算法步骤如下:
第一步,输入x.
第二步,若x≥2,则y=3x-2,
否则y=-2.
第三步,输出y.
(2)根据(1)中的算法步骤,可以画出程序框图如下.
问题1,要使输出的值为7,
则3x-2=7,∴x=3.
即输入的x的值应为3.
问题2,要使输出的值为正数,则3x-2>0,
∴x>.
又x≥2,∴x≥2.故当输入的x≥2时,输出的值为正数.