资源简介 五年级身边的算法期末试卷(一)一、选择题(每题3分,共30分)1. 以下不属于算法基本特征的是( )A. 有穷性 B. 确定性 C. 可行性 D. 模糊性2. 二分法查找的前提是数据必须( )A. 无序 B. 有序 C. 随机排列 D. 包含重复元素3. 冒泡排序中,每一轮会将( )元素“冒泡”到末尾A. 最小 B. 最大 C. 中间 D. 任意4. 鸡兔同笼问题中,假设全是鸡时,脚的数量会比实际( )A. 多 B. 少 C. 相等 D. 不确定5. 移位密码加密算法通过( )实现加密A. 字符移位 B. 替换字符 C. 删除字符 D. 打乱顺序6. 桶排序的关键在于确定( )A. 排序次数 B. 桶的数量和范围 C. 比较次数 D. 交换次数7. 兔子增长规律中,第n个月兔子数量与前( )个月有关A. 1 B. 2 C. 3 D. 48. 算法效率可通过( )衡量A. 代码行数 B. 执行时间和资源占用 C. 注释数量 D. 变量数量9. 选择排序每次从未排序部分选( )元素交换A. 最小(或最大) B. 第一个 C. 中间 D. 任意10. 循环结构中,控制循环是否继续的是( )A. 循环体 B. 循环变量 C. 循环条件 D. 输入输出二、填空题(每题4分,共20分)1. 算法的三种基本结构是顺序结构、______和循环结构。2. 二分法查找每次将查找范围缩小______。3. 冒泡排序的最坏时间复杂度是______。4. 鸡兔同笼问题可通过假设法、方程法和______求解。5. 兔子增长规律符合______数列。三、简答题(每题10分,共20分)1. 简述冒泡排序和选择排序的主要区别。2. 说明加密算法在信息安全中的作用,并举例说明。四、操作题(30分)1. 编写Python程序,用二分法在列表[10,20,30,40,50,60,70,80,90]中查找数字60。2. 用流程图描述鸡兔同笼问题的假设法求解过程。试卷(一)答案一、选择题1. D 2. B 3. B 4. B 5. A 6. B 7. B 8. B 9. A 10. C二、填空题1. 分支结构 2. 一半 3. O(n ) 4. 枚举法 5. 斐波那契三、简答题1. 冒泡排序:相邻元素比较交换,每轮将最大(或最小)元素移到末尾,稳定排序。选择排序:每次选未排序部分最小(或最大)元素与首元素交换,可能破坏相同元素顺序,不稳定排序。2. 加密算法将明文转为密文,隐藏真实内容,防止信息泄露。如网上银行转账时,密码通过加密传输,保护用户信息安全。四、操作题1. def binary_search(lst, target):low, high = 0, len(lst) - 1while low <= high:mid = (low + high) // 2if lst[mid] == target:return midelif lst[mid] < target:low = mid + 1else:high = mid - 1return -1lst = [10,20,30,40,50,60,70,80,90]print(binary_search(lst, 60))2. 流程图要点:开始→输入头数h和脚数f→假设全是鸡,计算脚数2h→求脚数差d=f-2h→兔数d/2→鸡数h-兔数→输出结果→结束。 展开更多...... 收起↑ 资源预览