算法初步
章末检测
一、选择题:在每小题给出的四个选项中,只有一项是符合题目要求的.
1.下列各式中S的值不可以用算法求解的是
A.S=1+2+3+4 B.S=1+2+3+4+…
C.S=1+++…+ D.S=12+22+32+…+1002
2.下列所给的运算结果正确的是
A.SQR(4)=±2 B.5/2=2.5
C.52=2.5 D.5MOD2=2.5
3.算法框图中表示判断的是
A. B.
C. D.
4.下列关于算法的说法中,正确的是
A.算法是某个问题的解决过程
B.算法执行后可以不产生确定的结果
C.解决某类问题的算法不是唯一的
D.算法可以无限的操作下去不停止
5.算法的三种基本结构是
A.顺序结构、模块结构、条件分支结构
B.顺序结构、模块结构、循环结构
C.模块结构、条件分支结构、循环结构
D.顺序结构、条件结构、循环结构
6.将数30012(4)转化为十进制数为
A.256 B.260 C.524 D.774
7.二进制数1101(2)化为五进制数为
A.32(5) B.23(5) C.21(5) D.12(5)
8.如框为某程序语言,则该程序语言执行的是函数的功能.
A.y=x B.y=–x C.y=|x| D.y=–|x|
9.阅读下列算法:
(1)输入x.(2)判断x>2是否成立,若是,y=x;否则,y=–2x+6.(3)输出y.
当输入的x∈[0,7]时,输出的y的取值范围是
A.[2,7] B.[2,6] C.[6,7] D.[0,7]
10.如图,是计算函数y=的值的程序框图,则在①、②、③处应分别填入的是
A.y=–x,y=0,y=x2 B.y=–x,y=x2,y=0
C.y=0,y=x2,y=–x D.y=0,y=–x,y=x2
11.某程序框图如图所示,若输出的S=26,则判断框内应填
A.k>3? B.k>4? C.k>5? D.k>6?
12.计算机是将信息转换成二进制进行处理的.二进制即“逢二进一”,如1101(2)表示二进制数,将它转化成十进制形式是1×23+1×22+0×21+1×20=13,那么将二进制数1010(2)转化成十进制形式是
A.13 B.10 C.15 D.18
二、填空题:请将答案填在题中横线上.
13.用秦九韶算法求多项式f(x)=x6+2x5+3x4+4x3+5x2+6x,当x=2时多项式的值为___________.
14.如图,该程序运行后输出的结果为___________.
15.当前的计算机系统多数使用的是二进制系统,数据在计算机中主要以补码的形式存储,计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0.则将十进制下的数168转成二进制的数是___________.
16.下列关于算法的说法,正确的是___________.
①求解某一类问题的算法是唯一的;②算法必须在有限步操作之后停止;③算法的每一步操作必须是明确的,不能有歧义或模糊;④算法执行后一定产生确定的结果.
三、解答题:解答应写出文字说明、证明过程或演算步骤.
17.已知一个5次多项式为f(x)=4x5–3x3+2x2+5x+1,用秦九韶算法求这个多项式当x=2时的值.
18.已知函数f(x)=,设计一个算法,求函数的任一函数值.
19.(1)试把三进制10212(3)转化为十进制.
(2)试把十进制1234转化为七进制.
20.(1)用辗转相除法求840与1764的最大公约数;
(2)用更相减损术求440与556的最大公约数.
21.用当型循环结构写求和S=22+42+62+…+1002的算法,并画出算法流程图.
22.以下是甲、乙两个程序,请读程序回答问题:
甲:
i=1
S=0
WHILE i<=200
S=S+i
i=i+1
WEND
PRINT S
END
乙:
i=200
S=1
DO
S=S+i
i=i–1
LOOP UNTIL i<2
PRINT S
END
(1)比较两个程序执行后输出的S(S甲和S乙)的大小;
(2)在程序乙中将语句“S=S+i”改为“S=S+(–1)i*i”(–1的i次方再乘以i),求输出S的值.
参考答案
1
2
3
4
5
6
7
8
9
10
11
12
B
B
D
C
D
D
B
C
A
B
A
B
1.【答案】B
2.【答案】B
【解析】A,SQR(4)表示4的算术平方根,应该是2,A错;B,5/2表示5除以2,是2.5,B对;C,52表示2除以5,应该是0.4,C错;D,5MOD2表示5除以2的余数,应该是1,D错.故选B.
3.【答案】D
【解析】∵在算法框图中,表示判断的是菱形,故选D.
4.【答案】C
【解析】对于A,算法通常指按照一定规则解决某一类问题的明确和有限的步骤.故错误;对于B,算法中的每一个步骤都是确切的,能有效地执行且得到确定的结果,不能模棱两可,即算法具有明确性,故错误;对于C,求解某一个问题的解法不一定是唯一的,对于同一个问题可以有不同的解法,但算法有优劣之分,好的算法是我们追求的目标,及算法具有不唯一性,故正确;对于D,算法要有明确的开始和结束,应由有限步组成,必须在有限操作之后停止,并给出计算结果,即算法具有有穷性,故错误.故选C.
5.【答案】D
【解析】算法的三种基本结构是顺序结构、条件结构、循环结构,考查四个选项,应该选D.
6.【答案】D
【解析】∵30012(4)=2+1×4+3×44=2+4+32+768=774.故选D.
7.【答案】B
8.【答案】C
【解析】根据如图所示的程序语言知,该程序语言执行的是函数y=,即y=|x|的功能.故选C.
9.【答案】A
【解析】由题意,y=,x∈(2,7],y=x∈(2,7];x∈[0,2],y=–2x+6∈[2,6],∴输入的x∈[0,7]时,输出的y的取值范围是[2,7],故选A.
10.【答案】B
【解析】由题意及框图,在①应填y=–x;在②应填y=x2;在③应填y=0,故选B.
11.【答案】A
【解析】程序在运行过程中,各变量的值变化如下表:
K
S
是否继续
循环前
1
1
/
第一圈
2
4
是
第二圈
3
11
是
第三圈
4
26
否
可得,当k=4时,S=26.此时应该结束循环体并输出S的值为26,所以判断框应该填入的条件为:k>3?.故选A.
12.【答案】B
【解析】根据题意得:1×23+0×22+1×21+0×20=8+0+2+0=10,故选B.
13.【答案】240
【解析】由于函数f(x)=x6+2x5+3x4+4x3+5x2+6x=(((((x+2)x+3)x+4)x+5)x+6)x,当x=2时,可得f(2)=(((((2+2)2+3)2+4)2+5)2+6)2=240,故答案为:240.
14.【答案】45
15.【答案】10101000(2)
【解析】168÷2=84…0;
84÷2=42…0;
42÷2=21…0;
21÷2=10…1;
10÷2=5…0;
5÷2=2…1;
2÷2=1…0;
1÷2=0…1;
∴168(10)=10101000(2).
故答案为:10101000(2).
16.【答案】②③④
【解析】由算法的概念可知:求解某一类问题的算法不是唯一的,所以①不正确.②③④是正确的.
故答案为:②③④.
17.【答案】123.
【解析】由f(x)=((((4x+0)x–3)x+2)x+5)x+1,
∴v0=4,
v1=4×2+0=8,
v2=8×2–3=13,
v3=13×2+2=28,
v4=28×2+5=61,
v5=61×2+1=123.
故这个多项式当x=2时的值为123.
18.【答案】详见解析.
19.【答案】(1)104(10);(2)3412(7).
【解析】(1)10212(3)=1×34+2×32+1×31+2=81+18+3+2=104(10);
(2)∵1234÷7=176…2;176÷7=25…1;25÷7=3…4;3÷7=0…3;
故1234(10)=3412(7).
20.【答案】(1)84;(2)4.
【解析】(1)用辗转相除法求840与1764的最大公约数.
1764=840×2+84,840=84×10+0,
所以840与1764的最大公约数就是84.
(2)用更相减损术求440与556的最大公约数.
556–440=116,440–116=324,324–116=208,208–116=92,116–92=24,92–24=68,
68–24=44,44–24=20,24–20=4,20–4=16,16–4=12,12–4=8,8–4=4.
∴440与556的最大公约数是4.
21.【答案】详见解析.
【解析】算法如下:
第1步:S=0,i=2;
第2步:判断i<101,若是,执行下一步,否则输出S,程序结束.
第3步:S=S+i^2,i=i+2.
算法流程图,如下:
22.【答案】详见解析.