蓝莓题库

中国大学mooc计算机算法与程序设计(1班)作业答案查询-k8凯发

欢迎来访!

k8凯发-凯发官网入口大学专科问答 正文

作者2022-12-05 21:58:56大学专科问答 78 ℃0 评论
第一章 绪论(4学时)

1.1 课程简介随堂测验

1、没有学习过一门程序设计语言,能不能选修本课程?

2、我学的是c/java语言,没有学习过python语言,能不能学习本课程? (判断题)

第一章 测验

1、raptor流程通过拖动顺序,选择,循环,赋值等流程图框进行算法描述,能够根据输入数据得到运行结果吗?
    a、不能
    b、可以。只要用raptor流程图正确描述了算法,就能够根据输入执行得到正确结果
    c、可以。但是有时不能得到正确结果。
    d、不知道

2、要求解一个圆柱体的体积,下面哪个流程图是正确的?
    a、
    b、
    c、
    d、

3、下面哪个是正确的
    a、python没有数据类型
    b、python有部分数据类型
    c、可以不预先定义数据类型,直接将数据存储在用户自定义的标识符当中
    d、python用空白缩进控制程序结构,缩进的个数代表了不同的层级

4、python要输入10个整数并进行存储的正确代码是
    a、for i in 10: a[i]=input()
    b、for i in range(10): a[i]=input()
    c、for i in range(10): a.append(input())
    d、a=[] for i in range(10): a.append(input())

5、下面哪一个不是用函数的原因?
    a、通过多次调用函数,可以避免代码重复书写
    b、一个函数实现一个功能,一目了然
    c、函数名称代表功能,可读性更好
    d、函数就是花里胡哨的噱头,没有什么用处

第一章 编程作业

1、判断闰年

2、为三个整数排序

3、计算n个数的阶乘之和

第二章 穷举搜索问题(2学时)

第二章 测验

1、搜索问题需要考虑哪些因素?
    a、搜索目标
    b、搜索算法
    c、搜索目标和搜索算法
    d、搜索空间,搜索目标,搜索算法,搜索性能

2、新生到从未到过的大学学校报到,学校的每一栋楼都有所在学院名称的标记。请问如果不借助外力,如何找到所在的学院大楼?
    a、这是一个穷举搜索问题,搜索空间是该大学,搜索目标是学院大楼,搜索算法就是把大学里面的每一栋楼检查一下名字,看是否是目标,如果是就找到了,如果不是就继续查找下一栋大楼。
    b、可以采用观察建筑特点,采用排除法进行目标搜索,比如食堂,宿舍楼的建筑先排除,然后在余下的大楼里面用穷举搜索目标大楼
    c、这个问题应该买校内地图,直接找到目标学院大楼
    d、直接找人问,很快可以找到目标大楼

3、已知有n个数,查找是否有x的算法流程图是:
    a、
    b、
    c、
    d、

4、下面说法错误的是
    a、每天的工作待办事项清单看成搜索空间,完成的事情看成搜索目标,搜索某事情是否完成其实是穷举搜索
    b、幼儿园放学,家长刷卡后接走自己家的小朋友,老师根据刷卡语音提示姓名寻找小朋友的过程是穷举搜索
    c、图书馆一个书架一个书架的寻找自己想借的书,是穷举搜索
    d、1年级三班按照学号排成1排,根据学号搜索对应的学生是穷举搜索

5、学生信息存储在列表当中,下面哪个代码能实现寻找成绩为x的学生姓名的功能?
    a、stus=["zhangsan",86,"lisi",72,"wangwu",91,"taoyan",62] x=int(input("x:")) for i in range(len(stus)): if stus[i]==x: print(stus[i-1] " is in class") else: print("no this score in class")
    b、stus=["zhangsan",86,"lisi",72,"wangwu",91,"taoyan",62] x=int(input("x:")) for i in len(stus): if i%2==1: if x==stus[i]: break if i    c、stus=["zhangsan",86,"lisi",72,"wangwu",91,"taoyan",62] x=int(input("x:")) for i in range(len(stus)): if i%2==1: if x==stus[i]: break if i    d、stus=["zhangsan",86,"lisi",72,"wangwu",91,"taoyan",62] x=int(input("x:")) for i in range(len(stus)): if i%2==1: if x==stus[i]: break if i
第二章 穷举搜索课堂视频及课后作业

第二章 编程作业

1、数字游戏1

2、数字游戏2

第三章 字符串与数组预习

第三章 测验

1、哪个说法是错误的
    a、字符串是一种特殊的数组。
    b、python的数组就是列表
    c、数组可以看成一层楼的一个个的房间,知道楼和房间号,可以直接进入该房间,因此访问效率很高。
    d、python可以用列表代表数组进行存储数据和操作

2、如果有n个整数数据,要找出其中的值最大的数据,下面哪种方法不一定能找到最大值?
    a、假设第一个数据是最大数据,然后依次和余下的n-1个数据比较,把大的数据放到第一个位置,最终结束的时候,第一个数据就是最大值
    b、用maxv,依次和数组的n个数据比较,如果当前数据比maxv还要大,则更新maxv为这个更大的数据,则n个数据比较结束,maxv里面就存储的最大数。
    c、将n个数均分成2分,则每一份的对应数据比较,小的扔掉,则余下的数据又分成2份,用同样的方法做,最后剩的1个数据就是最大值
    d、n个数据排1排,依次从第一个数据和后面位置比较,小的在前面,大的在后面,则比较结束后,最后位置就存储的最大值。

3、下面哪个是错误的用python实现存储n个人的姓名?
    a、names1=n*[0] for i in range(n): names1[i]=input('输入{}个人的姓名:'.format(i 1))
    b、names2=[] for i in range(n): names.append(input('输入{}个人的姓名:'.format(i 1)))
    c、names3=[] for i in range(n): name=input('输入{}个人的姓名:'.format(i 1)) names3 =name
    d、names4=[] for i in range(n): names4[i]=input('输入{}个人的姓名:'.format(i 1))
    e、names5=[] for i in range(n): name=input('输入{}个人的姓名:'.format(i 1)) names5 =[name]

4、已知有n个数据进行排序,下面能实现排序的是
    a、data=[34,5,-6,12,87,29] data.sort()
    b、data=[34,5,-6,12,87,29] n=len(data) od=[] while idata[j 1]: t=data[j] data[j]=data[j 1] data[j 1]=t j =1 i =1
    c、data=[34,5,-6,12,87,29] n=len(data) i=0 j=0 while idata[j 1]: t=data[j] data[j]=data[j 1] data[j 1]=t j =1 i =1 print(data)
    d、data=[34,5,-6,12,87,29] n=len(data) i=0 j=0 while idata[j]: t=data[i] data[i]=data[j] data[j]=t j =1 i =1

第三章 字符串与数组课后

第三章 编程作业

1、计算平均成绩

2、合并两个列表

第四章 二分搜索与递归预习部分

第四章 测验

1、能够使用二分搜索的前提条件是:
    a、数据有序
    b、数据元素有序,且能够快速定位到指定位置
    c、定位方便
    d、用列表存储数据

2、下面哪个是正确的递归函数
    a、def fun1(n): if n==1: return 1 else: return n*fun1(n-1)
    b、def fun2(n): if n==1: return 1 else: return n*fun2(n 1)
    c、def fun3(n): return n*fun3(n-1)
    d、def fun4(n): return n*fun4(n 1)

3、关于圆二分搜索正确的是
    a、有序数据围成一个圆圈,可以采用二分搜索
    b、用python模拟实现圆二分搜索,实际上可以通过列表进行二分搜索实现的。但列表的第一个数据可能是有序数据的任意位置的数据
    c、用python模拟实现圆二分搜索,实际上可以通过列表进行二分搜索实现的。但列表的第一个数据必须是有序数据的第一个数据
    d、用python模拟实现圆二分搜索,必须画一个圆才能够进行二分搜索
    e、二分搜索每次将搜索空间缩小一半,圆二分搜索不一定能够缩小一半的搜索空间

4、下面进行二分搜索的正确代码是
    a、def bsearch(data,x): low=0 high=len(data)-1 while(low<=high): mid=(low high)//2 if(data[mid]==x): return mid elif(data[mid]    b、def bsearch(data,x): low=0 high=len(data)-1 while(low<=high): mid=(low high)//2 if(data[mid]==x): break elif(data[mid]    c、def bsearch(data,x): low=0 high=len(data)-1 mid=(low high)//2 while(low<=high): if(data[mid]==x): return mid elif(data[mid]    d、def bsearch(data,x): low=0 high=len(data)-1 while(low<=high): mid=(low high)//2 if(data[mid]==x): return mid elif(data[mid]
第四章 二分搜索与递归(4学时)

第四章 编程作业(更正)

1、用二分搜索求平方根

2、递归的斐波那契数列

第五章 广度优先搜索与队列预习部分

第五章 测试

1、如图所示4个城市按照序号,写出他们用列表存储的关系(有边用1,无边用0)表示
    a、edge={{1 0 1 1},{1 0 1 1},{1 1 1 1},{1 1 1 1}}
    b、edge={{0 0 1 1},{0 0 1 1},{1 1 0 1},{1 1 1 0}}
    c、edge={{0,0,1,1},{0,0,1,1},{1, 1, 0 ,1},{1, 1, 1 ,0}}
    d、edge={{1, 0, 1, 1},{1, 0, 1, 1},{1, 1, 1, 1},{1, 1, 1, 1}}

2、写出下图vi到其他城市的最短路径长度及路径
    a、vi=1, 则vi到1的最短路径长度0,路径是:1->1 vi到2的最短路径长度是2,路径是:1->4->2或者1->3->2 vi到3的最短路径长度是1,路径是:1->3 vi到4的最短路径长度是1,路径是:1->4
    b、vi=1, 则vi到1的最短路径长度0,路径是:1->1 vi到2的最短路径长度是1,路径是:1->2 vi到3的最短路径长度是1,路径是:1->3 vi到4的最短路径长度是1,路径是:1->4
    c、vi=2, 则vi到1的最短路径长度2,路径是:2->4->1或者2->3->1 vi到2的最短路径长度是0,路径是:2->2 vi到3的最短路径长度是1,路径是:2->3 vi到4的最短路径长度是1,路径是:2->4
    d、vi=2, 则vi到1的最短路径长度1,路径是:2->1 vi到2的最短路径长度是0,路径是:2->2 vi到3的最短路径长度是1,路径是:2->3 vi到4的最短路径长度是1,路径是:2->4
    e、无论vi是什么,vi到其他城市的最短路径都是1

3、关于队列,下例错误的说法是( )
    a、队列可以得到和输入数据顺序一样的输出序列
    b、队列是一种支撑算法实现的数据结构,凡是需要进行排队操作的算法都可以用队列实现
    c、如果队列有优先级,则可以插队,让优先级高的先被服务,从而使得输出数据顺序和输入数据顺序不一致
    d、排队,满足先来先服务的需求
    e、餐厅用栈最好,比如拿盘子,用队列太不方便了。用栈就可以每次从最上面拿盘子,节约时间和力气。
    f、餐厅很多用栈操作的地方,改成队列虽然操作更加复杂,但是可以让食物或者物品能够更加均匀的使用,避免早期食物或者物品长期不用而坏掉

4、如果用数组或者列表来实现队列
    a、有空间存放排队的数据就可以了,不需要什么队头队尾指针
    b、其实我们还需要用队头和队尾指针来定位入队和出队的位置
    c、入队在队头,出队在队尾
    d、优先队列不能用队列或者数组实现目的。

5、通过高速路相连的城市中寻找罪犯
    a、实际用队列最好,可以就近搜索城市
    b、实际栈的操作更方便,避免了队列的大量的回退操作
    c、实际用栈最不好,如果初始搜索方向错误,罪犯就可能跑很远了
    d、实际高速路邻接的城市是固定的,所以最终一定能够找到罪犯。但是用队列是最快的

第五章 广度优先搜索与队列

第五章 编程作业

1、使用list实现队列

2、使用字典存储图

第六章 深度优先搜索与栈

第六章 编程作业

1、实现栈

2、通过 python 的 lifoqueue ,实现输入n个数据逆序输出的功能。

第六章预习 深度优先搜索与栈

第六章 测验

1、下面哪个说法错误
    a、我们平时就餐的餐厅,除了就餐等待使用队列,拿放盘子,放入大碗的土豆泥的使用,大桶的沙拉酱等,其实都是用的栈
    b、栈可以改变输入数据的顺序,可以是输入数据的顺序,逆序(倒序),其他任意的输出顺序
    c、栈虽然可以得到很多种输出序列,但并不是输入数据的所有输出序列都能够得到
    d、如果需要进行先进后出操作,或者需要得到输入数据相反的输出,栈是一种非常合适的数据结构来实现需要的操作或者数据序列

2、迷宫寻路采用下面哪种方法不一定能够找到入口到出口的通路?
    a、采用广度优先算法
    b、采用深度优先算法
    c、采用沿着一个方向,比如顺时针方向
    d、看到门就出去,总会找到出口

3、关于递归函数,错误的说法是
    a、其实是通过栈来实现形参与实参的数据传递的
    b、其实函数调用的时候,是通过栈保存入口地址,函数返回的时候,通过栈保存的入口地址返回调用函数的
    c、大部分递归函数可以通过栈转换为非递归函数
    d、递归函数通过循环操作就能够实现非递归函数

4、已知5个数据依次入栈:1,2,3,4,5,请问不可能的输出序列是:
    a、12345
    b、54321
    c、51234
    d、42315
    e、43215
    f、32145

5、下图从1出发,假设按照1234的顺序存储边关系,则得到的搜索结果序列是
    a、用深度优先搜索,得到的输出序列是:1324
    b、用深度优先搜索,得到的输出序列是:1423
    c、用深度优先搜索,得到的输出序列是:1432
    d、用广度优先搜索,得到的输出序列是:1342
    e、用广度优先搜索,得到的输出序列是:1234
    f、用广度优先搜索,得到的输出序列是:1432

猜你喜欢

  • 2022-12-05 21:30
  • 2022-12-05 21:21
  • 2022-12-05 21:17
  • 2022-12-05 21:15
  • 2022-12-05 20:52
  • 2022-12-05 20:16
  • 2022-12-05 19:54
  • 2022-12-05 19:32
  • 2022-12-05 19:27
  • 2022-12-05 19:25
网站分类
最新发表
标签列表
网站地图