相关试卷
-
1、递归也可用“分”“治”“合”三个字概括。下列说法错误的是( )A、分:将原问题分解成k个子问题 B、治:对这k个子问题分别求解,如果子问题的规模仍然不够小,则将其再分解为k个子问题,如此进行下去,直到问题足够小时,就很容易求出子问题的解 C、合:将求出的小规模问题的解合并为一个更大规模问题的解自下而上涿步求出原问题的解 D、整个递归不需要终止条件,自动返回运算结果
-
2、关于“递归”,下列说法不正确的是( )A、可以利用“递归”进行具有自相似性无限重复事物的定义 B、可以利用“递归”进行具有自重复性无限重复动作的执行,即“递归计算”或“递归执行” C、可以利用“递归”进行具有自相似性无限重复规则的算法的构造 D、递归算法的关键只要给出递归关系式即可求出问题的解
-
3、下列程序是用二分法从给定的有序数中查找并打印指定数的位置的代码。
def search(x,nums):
low = 0
heigh = len(nums)-1
while low <=heigh:
mid = ①
if x == nums[mid]:
return mid
elif x > nums[mid]:
low = ②
else:
heigh = ③
return -1
nums =[2,4,8,9,10,20,30,77,88,100]
num = int(input("请输入你要查找的数:"))
print("你要找的数在数组从0开始的第",search(num,nums),"个位置")
下列说法正确的是( )
A、①的位置为(low+heigh)//2,②的位置为mid-1,③的位置为mid+1 B、①的位置为(low+heigh)//2,②的位置为mid+1,③的位置为mid-1 C、①的位置为(low+heigh)/2,②的位置为mid-1,③的位置为mid+1 D、①的位置为(low+heigh)/2, ②的位置为mid+1,③的位置为mid-1 -
4、二分查找又叫折半查找,该方法主要将数列有序排列,采用跳跃式的方式查找数据。二分搜索算法是利用( )实现的算法A、分治法 B、动态规划 C、贪心法 D、回溯法
-
5、设有n位选手参加羽毛球循环赛,循环赛共进行n-1次,每位选手要与其他n-1位选手比赛一场,且每位选手每天比赛一场,不能轮空。实现循环赛日程表利用的算法是( )A、分治法 B、动态规划 C、贪心法 D、回溯法
-
6、“大事化小、小事化了”体现出的问题求解的思想是( )A、递推法 B、穷举法 C、分治法 D、归纳法
-
7、分治的设计思想,是将一个难以直接解决的大问题,分割成一些较小的同类问题,各个击破,最终达到解决问题的目的。分治法所能解决的问题所具有的特征,以下说法错误的是( )A、该问题可以分解为若于个规模较小的相同的子问题 B、该问题的规模足够大 C、该问题的规模缩小到一定的程度就可以很容易地解决 D、将各个子问题的解可以合并为原问题的解
-
8、斐波那契在《计算之书》中提出了一个有趣的兔子问题:从第三个月开始,每个月的兔子对数是前两个月的兔子对数之和,又同时作为下一个月兔子对数的加数。这种重复反馈的过程称为迭代。迭代法也称辗转法,阅读下列程序代码。
def fib(n):
#迭代求Fibonacci数列
f2=f1=1
for i in range(①,n+1):
②
return f2
n=int(input('输入需要计算的月份数:'))
print('兔子总对数为:',fib(n))
input("运行完毕,请按回车键退出...")
下列说法错误的是( )
A、确定迭代变量, 程序中的的f1、f2 B、建立迭代关系式,②处应填写:f1,f2=f2,f1+f2 C、对迭代过程进行控制,①处应填写range(3,n+1)枚举从第三个月开始 D、f1,f2=f2,f1+f2不可以用temp=f1+f2,f1=f2,f2=temp代替 -
9、matplotlib模块是Python中最出色的绘图库,功能很完善。调用 matplotlib.pyplot时,坐标系可以根据数值范围自动生成。阅读下列程序代码。
import numpy as np #加载numpy模块并取名为np
import matplotlib.pyplot as plt
x=np.arange(0,2*np.pi,0.01)
y=np.sin(x)
plt.plot(x,y)
plt.title('sin(x)')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()
下列选择错误的是( )
A、import matplotlib.pyplot as plt ,加载matplotlib.pyplot并取名为plt B、x=np.arange(0,2*np.pi,0.01)为x轴区间 C、plt.plot(x,y),显示x轴、y轴 D、plt.show()显示图像 -
10、numpy是一个科学计算包,其中包含很多数学函数,如三角函数、矩阵计算方法等。arange函数是该模块中的函数,下列说法错误的是( )A、可以用arange函数创建一个等差数列 B、arange函数如在0~2π之间每隔0.01取个值,则可以用arange(0,2* numpy.pi,0.01)来表示,其中numpy.pi表示π C、Import numpy as np后,x=np,arange(0,2* numpy.pi,0.01),可以将x应用到y=np.sin(x)图像绘制 D、可以用arange函数创建一个等比数列
-
11、以下求1到100所有偶数之和的算法是用( )语言描述的?
1) 将1的值赋给变量i, 0的值赋给sum
2) 判断i是否能被2整除,若是,将i的值累加到sum中
3) 变量i加1,若i小于等于100, 则转去执行2)
4) 输出 sum的值
A、自然语言 B、流程图 C、伪代码 D、计算机语言 -
12、在一千多年前的《孙子算经》中,有这样一道算术题:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”。即一个数除以3余2,除以5余3,除以7余2,求这个数。
i=
while (i%3!=2 i%5!=3 or i%7!=2):
i=
print(i)
-
13、“百鸡百钱”问题是一个有名的数学问题,出自《张丘建算经》。其内容是:公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,用100文钱买100只鸡,其中公鸡、母鸡和小鸡都必须要有,问公鸡、母鸡和小鸡各多少只?
打开文件“考生文件夹\644\百鸡百钱.py”,完善程序实现以下功能并保存。
⑴请不要更改源程序的结构,删除原题里的①、②、③。填写正确的代码,使程序完善。
⑵运行程序,运行结果如图所示。
# 请不要更改源程序的结构,删除原题里的①、②、③。填写正确的代码,使程序完善
money=100 #一共100文钱
num=100 #一共100只鸡
cock_price=5 #公鸡价格5文
hen_price=3 #母鸡价格3文
threechick_price=1 #3只小鸡1文
for cock_num in range(1,money//cock_price+1): #公鸡只数可能为1-20
for hen_num in range(1, ①): #母鸡只数可能为1-33
for chick_num in range(1, ②): #(3小鸡)只数可能为1-100
money1=cock_num*cock_price+hen_num*hen_price+chick_num*threechick_price
num1=cock_num+hen_num+chick_num*3
if money1==money and num1==num:
print (cock_num,hen_num,③) #(③小鸡数)
input("运行完毕,请按回车键退出...")
-
14、以下关于算法中输入、输出的描述正确的是( )。A、算法可以没有输入,表示该算法不涉及任何数据信息 B、算法可以没有输出,表示该算法运行结果为“无解” C、算法必须要有输入,否则算法无法进行 D、算法至少要有一个输出
-
15、下列那个不是算法的常见表达方式( )A、自然语言 B、流程图 C、编语言 D、程序
-
16、关于枚举法,下列说法错误的是( )A、枚举法的基本思想就是,根据问题的部分已知条件预估解的范围,并在此范围内对所有可能的情况进行逐一验证,直到找到满足已知条件的解为止 B、枚举范围的大小直接影响着枚举法的执行效率 C、枚举法,也称蛮力法或暴力搜索法,理论上利用这种方法可破解任何一种密码 D、枚举范围中的判定条件直接影响着枚举法的执行效率
-
17、一个正确的算法因该具有5个特性,除输入项、输出项特性外,另外3个特性是( )A、确切性、可行性、有穷性 B、易读性、确切性、有效性 C、有穷性、稳定性、确切性 D、可行性、易读性、有穷性
-
18、关于算法的重要特征,下列说法错误的是( )A、有穷性:算法必须能在执行有限个步骤之后终止 B、确切性:算法中的每一次运算都有明确的定义,可具有二义性 C、输入项:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身给出了初始条件;输出项:算法一定要有输出 D、可行性:算法中执行的任何计算都可以在有限时间内完成(也称为有效性)
-
19、数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是( )A、DBS包括DB和DBMS B、DBMS包括DB和DBS C、DB包括DBS和DBMS D、DBS就是DB,也就是DBMS
-
20、在“学生选修课程信息库.mdb”中包含三个表,第1个是“学生信息表”,描述学生的学号、姓名、性别、班级等;第2个是“课程信息表”,描述课程的课程号、课程名、课时数等;第3个表是“课程选修信息表”。为了方便各表之间的联系,第3个表中应包含的最少信息是( )A、姓名、课程名 B、学号、姓名、课程号 C、学号、课程号 D、课程号、课程名、学号