FIP 第一次月考题目归档

真题
智能程序设计基础课程第一次小测的真题归档以及个人答案
作者

个人笔记

发布于

2026年10月8日

智能程序设计基础·第一次月考(M1)

项目 内容
时间 15分钟(W4研讨课开头)
形式 闭卷、纸笔、禁止AI / 禁止联网 / 禁止计算器
范围 W1-W4(计算、枚举与减治、迭代与模拟、序列与查找;含当周阅读材料)
题量 4题,每题25分,满分100
题型 第1、3题写输出;第2、4题程序填空

教室________ 学号________ 姓名________


答题说明

  • 写输出:按程序实际打印的格式作答(含空格与换行)。
  • 程序填空:每空只填代码片段,不要重写整段程序。

1. 写输出(25分)

从键盘输入 12 时,写出下列程序的全部输出。

num = int(input())
while True:
    if num == 0:
        break
    if num % 2 == 0:
        print(num, end=' ')
    num -= 1
print()

答:________


2. 程序填空(25分)

两班分别有 a 人和 b 人,要排成人数相同的若干队,每队人数必须是两班人数的公约数。用从小到大枚举求最大可分队人数(即最大公约数)。

a, b = map(int, input().split())
r = 1
for k in range(1, __①__):
    if __②__:
        r = k
print(r)

输入样例 18 12 时应输出 6。 ①________ ②________


3. 写输出(25分)

快递柜隔口编号记在列表里。函数 first_ge 返回第一个不小于 limit 的编号的下标,没有则返回 -1。写出程序的全部输出(三行)。

def first_ge(nums: list, limit: int) -> int:
    for i in range(len(nums)):
        if nums[i] >= limit:
            return i
    return -1

xs = [3, 8, 5, 12]
print(first_ge(xs, 8))
print(first_ge(xs, limit=10))
print(first_ge(nums=xs, limit=20))

答: 第一行:________ 第二行:________ 第三行:________


4. 程序填空(25分)

考古队连续五天测得陶片厚度(毫米),记在列表 thick 中。按注释填空。

thick = [4, 9, 1, 6, 8]
print(thick[__①__])   # 从下标 0 起每隔一个取一个,结果为 [4, 1, 8]
print(thick[__②__])   # 反转得到新列表 [8, 6, 1, 9, 4]
last = thick[__③__]   # 取最后一个元素
label = "厚" if last >= 8 else "薄"
print(label)

①________ ②________ ③________

参考答案

  1. 12 10 8 6 4 2(理论上最后还有一个空行)
  2. ① min(a, b) + 1 ②a % k == 0 and b % k == 0
  3. 第一行:1 第二行:3 第三行:-1
  4. ①::2 ②::-1 ③-1

评论

评论暂未开放。