算法案例单元检测题(修改稿)

更新时间:2023-04-09 23:24:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《算法案例》单元检测题

广东省深圳外国语学校 骆魁敏

一、选择题(每小题5分,共40分)

1、“更相减损术”(等值算法)的理论依据是( )

A .每次操作所得的两数和前两数具有相同的最小公倍数;

B .每次操作所得的两数和前两数具有相同的最大公约数;

C .每次操作所得的两数和前两数的最小公倍数不同;

D .每次操作所得的两数和前两数的最大公约数不同

2. “辗转相除法”(欧几里得算法)用语言描述为( )

A .用较大的数除以较小的数,所得的余数和较小的数与原来两数有相同的约数;

B .用较大的数除以较小的数,所得的商和较小的数与原来两数有相同的约数;

C .用较大的数除以较小的数,所得的余数和较大的数与原来两数有相同的约数;

D .用较大的数除以较小的数,所得的商和较大的数与原来两数有相同的约数。

3.我国古代数学发展一直处于世界领先水平,特别是宋、元时期的“算法”,其中可以同欧几里得“辗转相除法”相媲美的是( )

A .割圆术

B .更相减损术

C .孙子剩余定理

D .大衍求一术

4.用“辗转相除法”求6731与2809的最大公约数时,下列哪个余数用不到( )

A .1113

B .583

C .53

D .48

5.int(-3.2)=( )

A .-4

B .-3

C .-2

D .0

6. mod(1121,9) =( )

A .1121

B .9

C .124

D .5

7. 计算机是将信息转换成二进制进行处理的,所谓二进制即“逢二进一”,如(2)1101表示二进制的数,将它转换成十进制数的形式是32101212021213?+?+?+?=,那么将二进制数(2)161111位

转换成十进制数是( )

A .1722-

B .1621-

C .1622-

D .1521-

8.如下左图中的流程图,能判断任意输入的数x 的奇偶性,其中判断框内的条件是( )

A .m =0

B .x =0

C .x =1

D . m =1

二、填空题(每小题5分,共20分)

9、右边伪代码的功能是 .

10、用符号表示语句“11668被m除后余1”为或.

11、

19

int()mod(51,16)

3

的值是.

12、325,243,270三数的最大公约数.

三、解答题(13题8分,14、15题各10分,16题12分,共40分)

13、设计判断正整数m是否是正整数n的约数的一个算法,并写出伪代码。

14、一个数被3除余2,被7除余4,被9除余5,求满足条件的正整数m。画出求解该问题的流程图,并写出相应的伪代码。

15、写出由二分法求方程在区间[-3,-2]内的一个近似解(误差不超过0.001)的一个算法,用伪代码表示。

16、分别用“更相减损术”与“辗转相除法”求63和98的最大公约数。

四、选做题

17、猴子吃桃问题:

猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又吃了一个;第二天早上又将剩下的桃子吃掉了一半,又多吃了一个;以后每天早上都吃了前一天剩下的一半零一个,到第十天早上想再吃时,就只剩下一个桃子了。求第一天共摘下多少个桃子?画出流程图,并写出伪代码。

18、求出两个正整数m与n的最小公倍数的一个算法,画出流程图,并写出伪代码。

《算法案例》单元检测题参考答案一、选择题

1.B 2. A 3. B 4. D 5.A 6.D 7. B 8.A

二、填空题

9、求,x y的最大公约数

10、

11668

11668int()1mod(11668,)1

m m

m

-?==

11、9

12、27

三、解答题(13题8分,14、15题各10分,16题12分,共40分)

13、解:算法如下:

S1 输入,m n

S2 如果m除n的余数0,

r=则输出“m是n的约数”,

否则输出“m不是n的约数”。

S3 结束

伪代码如右图所示。

14、解: 求解该问题的流程图如左图所示:

伪代码如右图所示:

15.解:

033000000

103

202

300.001

40()/2

50()67

60()67

70()0()()090110130Pr int a b c x a b f a a a f x x x If f x then goto If f a f x then

b x Else

a x End If

If a b c then goto x ←-←-←←+←-+←-+=<←←-≥ 140

80 100 120 40

140 543210(6)135021636656062621611846,2161184612710. 4.m m m m m =?+?+?+?+?+?=+∴+=∴=

16.解: ⑴用“更相减损术”求63和98的最大公约数。

因为63不是偶数,故把98和63中的大数减取小数,并用辗转相减,如下所示:

所以63和98的最大公约数是7。

⑵用“辗转相除法”求63和98 因为98=63×1+35 , 63=35×所以63和98的最大公约数是7。

四、选做题

17、解: 伪代码如下左表所示 1

1

19

(1)2

Pr int i x For i from to x x Next i

x

←←←+?

18、解:算法如下:

S1 输入两个正整数 ,();m n m n > S2 ;S m n ←? S3 mod(,);r m n ←

S4 ,0,m n n r r ←←≠如果转S3,否则执行S5; S5 ;S T m

S6 输出T.

伪代码如下:

流程图如右图所示。

本文来源:https://www.bwwdw.com/article/azal.html

Top