内容正文:
教科版(2019)必修一4.3非数值计算同步作业
一、单选题
1.某电子字典产品,假设内部采用二分算法来查找单词,每查找一个中间值并进行大小比较约需0.1秒,现有一个单词库,内有已索引好的2023个单词,在该词库中找到某个单词所需时间最多不超过( )秒。
A.0.1 B.1.4 C.1.1 D.1.2
2.19世纪末,在欧州的商店中出售一种智力玩具,在一块铜板上有三根杆,最左边的杆上自上而下、由小到大顺序串着由64个圆盘构成的塔。玩家要将最左边杆上的盘子全部移到最右边的杆子上,要求一次只能移动一个盘,且不允许大盘放在小盘的上面。如果最左边杆子上只有3个盘子,则最少需要移动( )步才能将所有的盘子移至最右边杆。
A.15 B.31 C.7 D.8
3.下列python代码运行的结果是( )
def f(m, n):
q=m%n
if q == 0:
return n
else:
return f(n,q)
print(f(14,10))
A.4 B.24 C.2 D.70
4.下面的故事与( )算法有着异曲同工之妙。
从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:“从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:‘从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事……’”
A.枚举 B.递归 C.二分 D.迭代
5.运用二分查找算法可以提高查找的效率,前提是待查找序列必须是( )排序的。
A.递增 B.递减 C.有序 D.无序
6.在序列“7,14,18,21,23,29,31,35,38,42,46,49,52”中用二分查找法查找数字“42”,一共找了( )就找到了。
A.2次 B.3次 C.4次 D.5次
7.对于下列递归式子,当n=5时,F的值是( )
F(1)=3
F(n)=F(n-1)*2
A.16 B.48 C.32 D.64
8.小红走楼梯时每次走1个台阶或2个台阶,问小红走n个台阶时,有多少种不同的走法。实现上述功能的Python代码如下:
def up(n):
if n<2:
return 1
else:
return up(n-1)+up(n-2)
n=int(input("请输入楼梯台阶数:"))
way=up(n)
print(way)
程序运行后,输入楼梯台阶数有6个,程序输出的结果是( )
A.8 B.13 C.21 D.26
9.某二分查找算法的Python程序如下:
import random
key=random.randint(0,4)*2+5
n=10;ans=0
a=[4,5,5,8,9,11,11,13,15,17]
i=0;j=n-1
while i<=j:
m=(i+j)//2
if a[m]<=key:
i=m+1
else:
j=m-1
ans+=a[m]
print(ans)
程序运行后,输出ans的值不可能是( )
A.19 B.27 C.37 D.44
10.有如下Python 程序段:
s=input("输入字符串:")
n=len(s)
i,j=0,n- 1
result=""
while i<n//2 and j>=n//2:
if s[i]>s[j]:
result+=s[i]; j-=1
elif s[i]<s[j]:
result+=s[j]; i+=1
else:
i+=1;j-=1
print(result)
执行该程序段,分别输入下列选项中的字符串,输出结果不为“555”的是( )
A."51234" B."12535" C."54321" D."55123"
11.某对分查找算法的VB程序段如下:
i=1 : j=6 : k=0
key = Val( Textl.Text)
Do Whilei<= j
k=k+ 1
m= Int((i +j)/2+0.5)
If key = a(m) Then Exit Do
If key< a(m) Then j=m-1 Else i=m+ 1
Loop
文本框Text1中输入27,执行该程序段后,k的值为2,则a(1)到a(6)各元素可能的值是( )
A.12,45,27,31,78,95 B.15,27, 56, 61,73,89
C.89,73, 61,56,35,27 D.13,31, 47,56,73,80
12.有如下Python程序段:
def trans(m,n):