中国电子学会 2022 年 12 月份青少年软件编程 Python 等级考试试卷四级真题(含答案)
一、单选题(共 25 题,共 50 分)
1. 有 n 个按名称排序的商品,使用对分查找法搜索任何一商品,最多查找次数为 5 次,则 n 的值可能为?(C)
(2 分)
A.5
B.15
C.30
D.35
答案解析:对分查找最多查找次数 m 与个数之间 n 的关系是:n 对 2 的对数的取整后加 1,现在最多查找次数是 5
次,因此 n 的取值范围在[2^4+1,2^5]即[16,31]之间,因此选 C。
2. 下列有关分治算法思想的描述不正确的是?(D)(2 分)
A.将问题分解成的子问题具有相同的模式
B.当问题足够小时,可以直接求解
C.可以将子问题的结果合并成原问题的解
D.将问题分解出的各个子问题相互包含,相互之间可以有公共子问题
答案解析:将问题分解出的各个子问题是相互独立的,即子问题之间不包含公共子子问题
3. 下列问题使用分治算法思想的是?(D)(2 分)
A.求 100 以内的素数
B.求 100 个整数之和
C.求斐波那契数列第 n 项
D.快速排序算法对 n 个数排序
答案解析:快速排序算法使用了分治算法。因此选 D。
4. 李宇同学利用 Python 语言编写了一段“根据出生年月判断生肖属相”的程序,调试运行时,程序没有报错且
顺利运行,但未能正确输出对应属相,造成这个结果的原因可能是?(C)(2 分)
A.程序语句语法错误
B.时间复杂度太高
C.求解算法逻辑错误
D.Python 环境配置不对
答案解析:程序能正常运行,排除了其他三个可能。
5. 一般来说,递归需要有边界条件、递归前进段和递归返回段。当不满足边界条件时,();当满足边界条件
时,(C)。(2 分)
A.返回,前进
B.中断,前进
C.前进,返回
D.中断,返回
答案解析:递归运行的条件,不满足边界条件前进,满足返回。
6. 以下哪一项不是递归算法的特征?(D)(2 分)
A.要实现递归必须有一个函数,并且在这个函数体内要自己调用自己。
B.递归必须要有判断条件,这个判断条件可以是判断次数。
C.到达判断的条件后必须有返回,目的是结束递归。
D.未到达判断条件时,不可以返回该函数。
答案解析:未到达判断条件时,可以返回该函数,也可以不返回。