#p3jiqh007. Python3级考前强化练习7—算法基础
Python3级考前强化练习7—算法基础
一、选择题(共12题,每题10分,共120分)
1.关于算法描述的三种基本结构,下列哪项正确?( )
{{ select(1) }}
- 顺序结构、选择结构、循环结构。
- if选择结构、for循环、while循环。
- 处理框、判断框、流程线。
- 自然语言、流程图、程序设计语言。
2.以下关于算法以及算法的描述,错误的是?( )
{{ select(2) }}
- 算法必须要在有限的步骤内完成
- 算法每个步骤的含义必须是确切的
- 算法必须有输入,但可以没有输出
- 算法可以没有输入,但必须要有输出
3.“韩信点兵”是一个古老的数学问题,可以应用中国剩余定理进行求解。以下是使用计算机解决“韩信点兵”问题的几个步骤:
①编写Python程序,用计算机进行处理。
②设计“韩信点兵”求解算法。
③验证算法的功能和性能。
④分析问题,确定解题任务。
使用计算机解决“韩信点兵”问题,正确的步骤是下列哪一项?( )
{{ select(3) }}
- ②④①③
- ④①②③
- ④②③①
- ④②①③
4.用冒泡排序算法对6个数进行排序,进行比较的次数为?( )
{{ select(4) }}
- 4
- 5
- 10
- 15
5.有如下列表l=[10,1,9,6,3,4],采用冒泡排序进行升序排序,请问第一趟排序之后的结果是?( )
{{ select(5) }}
- [1,3,9,6,10,4]
- [1,9,6,3,4,10]
- [1,6,3,4,9,10]
- [1,3,4,6,9,10]
6.现在一组初始记录无序的数据'8,9,5,2,1',使用冒泡算法,按从小到大的顺序排列,则第三轮排序的结果为?( )
{{ select(6) }}
- [8,5,2,1,9]
- [2,1,5,8,9]
- [5,2,1,8,9]
- [1,2,8,9,5]
7.有如下列表a=[3,5,35,74,1,28,7],采用选择排序算法进行升序排序,请问第三轮排序之后的结果是?( )
{{ select(7) }}
- [1,3,5,35,74,28,7]
- [1,3,5,7,28,35,74]
- [1,3,5,74,35,28,7]
- [1,3,5,7,35,74,28]
8.猜一个2022以内的随机数,用计算机解决该问题,比较合适的算法?( )
{{ select(8) }}
- 二分查找算法
- 解析算法
- 枚举算法
- 冒泡排序算法
9.小明使用Python编程模拟绘制了物体在自由落体运动过程中产生的抛物线轨迹。小明设计的这一算法属于下列哪一种?( )
{{ select(9) }}
- 枚举算法
- 解析算法
- 排序算法
- 对分查找算法
10.求既是3的倍数且各个位上的数的和是8的倍数的三位数,适合的算法是?( )
{{ select(10) }}
- 解析算法
- 枚举算法
- 排序算法
- 对分查找法
11.关于查找的说法,下列说法正确的是?( )
{{ select(11) }}
- 顺序查找属于无序查找
- 对分查找一定能找到数据
- 对分查找是一种低效的查找方法
- 顺序查找次数一定比对分查找次数多
12.小明想对列表arr = [5, 33, 21, 67, 39, 73, 7, 43 ]中的数值进行升序排序,于是他编写了“选择排序”程序,在调试程序的过程,他故意将循环的次数改成了固定值,如下图所示。
请问,现在这个程序执行之后print(arr)打印出的结果应该是?( )
{{ select(12) }}
- [5, 7, 21, 33, 39, 43, 67, 73]
- [5, 7, 21, 33, 39, 73, 43, 67]
- [5, 7, 21, 67, 39, 73, 33, 43]
- [5, 7, 21, 33, 39, 73, 67, 43]