/cn-ib-computer-science-paper-2-mock-2027/
/cn-ib-computer-science-paper-2-mock-2027/
简体版
2英文版
3
General Inquiry: info@TutorZone.com.hk
Office Hours: Monday to Saturday - 9:00 AM to 6:00 PM
WhatsApp Monday to Sunday - 24 hours
Hotline: +852 6828 1809
Instant Support: +852 9061 3106

IB 计算机科学刷题方法+历年试题(Paper 2):程序追踪、二元搜寻与 OOP 附答案

IB 计算机科学刷题方法+历年试题(Paper 2):程序追踪、二元搜寻与 OOP 附答案

  • 2026-10-24

TUTORZONE 原创刷题模拟卷 · IB 电脑科学(Computer Science)Paper 2(2027 新课程 · Theme B)

依 IB 2027 新课程编写:Paper 2(Theme B 运算思维与程式解难)SL 1 小时 15 分钟、50 分、35%;HL 为 2 小时、80 分、40%。Paper 2 的程式题设 Python 与 Java 两个版本,考生用自己学过的语言作答;HL 另加 OOP 与抽象资料类型(ADT)题。旧课程的 Paper 3 已取消。本卷为 Paper 2 刷题示范:6 题共 50 分,附逐步答案。

问:IB 电脑科学 Paper 2 考什么、占多少分?

直接答案:2027 课程 Theme B(运算思维与程式解难)——SL 1 小时 15 分钟、50 分、35%;HL 2 小时、80 分、40%。范围是 B1 运算思维、B2 程式、B3 OOP;HL 另加 B4 抽象资料类型。

香港学生刷题 IB 电脑科学 Paper 2,萤幕上是程式码与流程图
Paper 2(Theme B)SL 50 分/1 小时 15 分钟/35%:程式追踪、二元搜寻、OOP 类别设计。

分享这篇刷题攻略:

WhatsApp
Facebook
Telegram

01

考制速览:2027 年评核结构

部分 内容 比重 时间
Paper 2(Theme B) B1 运算思维+B2 程式+B3 OOP,SL 50 分(HL 80 分) SL 35%/HL 40% SL 1 小时 15 分/HL 2 小时
Paper 1(Theme A+个案) A1–A4 概念+个案研究,SL 50 分(HL 80 分) SL 35%/HL 40% SL 1 小时 15 分/HL 2 小时
内部评核(computational solution) 自选真实问题的电脑解难方案 SL 30%/HL 20% 35 小时

IB 电脑科学 Paper 2 刷题技巧:B1 不写码的算法思考题先做(约 22 分钟),用文字讲清步骤、输入输出与边界情况;B2 程式题要写可执行的程式码(评分看变数、循环、条件与回传),题目禁止内建排序就不要用 sort();B3 OOP 题要写齐属性、方法与封装的理由。所有程式题都有 Python 与 Java 版本,用自己学过的语言,不要临场转语言。

02

本卷设计与版权说明

本卷为 TutorZone 原创刷题模拟卷:题目按 IB 电脑科学 Paper 2(2027 课程 Theme B)的卷制自行编写,程式码与答案为自行撰写,并非 IB 历届试题、官方评卷参考或 IB 出版材料。

所有数值答案(追踪结果、比较次数、平均值、结余)已用程式复核一次。

作答前请注意:本卷不是 IB 历届试题。分数只反映你在本卷的表现,不能直接换算成 IB 等级;官方的 B1/B2/B3 分数分布以当年试卷为准,本卷的 15/15/20 分布只是按公布大纲示范。
03

时间分配

部分 分数 建议时间 先做什么
Paper 2(Theme B) SL 35%/HL 40% B1 约 20 分钟、B2 约 20 分钟、B3 约 30 分钟 B1 不写码的算法思考先做,程式与 OOP 留后
Paper 1(Theme A+个案) SL 35%/HL 40% Section A 约 55 分钟、Section B 约 20 分钟 概念+个案分析
内部评核(computational solution) SL 30%/HL 20% 与 Paper 1/2 同步做,不要留到最后 设计、开发、评估

问:Paper 2 是否需要写程式?用哪个语言?

直接答案:要。Paper 2 一定要写程式,官方为每条程式题提供 Python 与 Java 两个版本,用学校教你的那一种作答,评分标准相同。

04

Paper 2:Theme B(B1 算法思考 15 分+B2 程式 15 分+B3 OOP 20 分)

全部必答;建议 70 分钟完成、留 5 分钟复核。程式题用 Python 或 Java 作答均可。

第 1 题 (8 分)

执行程式码片段,写出输出值,并逐步列出 total 在每次循环后的数值。
values = [4, 9, 2, 7, 5]
total = 0
for i = 0 to 4
  if values[i] > 5 then
    total = total + values[i] * 2
  else
    total = total + values[i]
  end if
next i
output total

第 2 题 (7 分)

有序列表 data = [3, 8, 12, 17, 21, 26, 31, 35, 40, 44, 49, 53, 58, 62, 67]。(a) 用二元搜寻(binary search)找 53,写出每次比较的中间值,并指出共比较几次。(4 分)(b) 同一列表若用线性搜寻(linear search)找 53,最坏情况要比较几次?(3 分)

第 3 题 (8 分)

写一个函数 average_and_count(scores),回传所有分数的平均值(四舍五入至 1 个小数位),以及分数大于或等于平均值的人数。
scores = [68, 54, 91, 47, 76, 83, 59]
(a) 写出函数(4 分)。(b) 写出回传值(4 分)。

第 4 题 (7 分)

text = “Computer Science”。(a) 写一个函数,回传字串中母音(a、e、i、o、u,不分大小写)的个数(4 分)。(b) 指出同一字串中大写字母的个数,并解释为何比较时要先转成同一种大小写(3 分)。

第 5 题 (10 分)

设计一个类别 BankAccount(单一类别)。(a) 列出两个属性与三个方法,并说明哪一项属性是 private、为什么(6 分)。(b) 账户结余 500,依次执行:存入 250、提取 900、提取 180,写出每次操作后的结余,并说明提取 900 为何被拒绝(4 分)。

第 6 题 (10 分)

一个类别 Library 用列表 shelf 存放书名,方法有 add(title)、remove(title)、count()。(a) 写出 remove(title) 如何安全处理“书名不存在”的情况(4 分)。(b) 依次执行 add(“A”)、add(“B”)、add(“C”)、remove(“B”),写出 shelf 的内容与 count() 的回传值(3 分)。(c) 解释为何把 shelf 设为 private 比让外部直接修改列表更安全(3 分)。

问:Paper 2 的 B1 算法思考题要写程式码吗?

直接答案:不需要。B1 明确要求不写程式码的算法思考:用文字或流程图写出输入、步骤、输出与边界情况,再评估效率(例如线性 O(n) 与二元 O(log n) 的差别)。

05

Paper 2 答案与评分

第 1 题

逐步追踪(每步 1 分):total 依次为 4 → 22 → 24 → 38 → 43;输出 43。关键在第 2 与第 4 次循环:9 与 7 大于 5,所以乘 2 之后才累加。

第 2 题

(a) 索引 0–14:中间 index 7 = 35(53 > 35,舍左半);新范围 8–14,中间 index 11 = 53,命中——共比较 2 次(每次比较 1 分,答案 1 分)。(b) 线性搜寻最多要比较 15 次(逐个检查全部元素,最坏情况目标在最后或不存在)。

第 3 题

(a) 先算 total = sum(scores)、mean = total / len(scores),再遍历一次数 mean 以上的个数,回传 round(mean, 1) 与个数(4 分:累加、平均、比较、回传各 1 分)。(b) total = 478、mean = 68.3(68.29 四舍五入);68.3 以上的分数是 91、76、83,所以回传 (68.3, 3)。注意 68 本身低于 68.29,不计入。

第 4 题

(a) 先把字串转成小写(text.lower()),再逐字检查是否属于 “aeiou”(4 分)。(b) 大写字母有 2 个(C 与 S)。输入可能大小写混杂(例如 “COMPUTER” 或 “computer”),只比较小写集合会漏掉大写母音(A、E、I、O、U),令结果偏低,所以先统一大小写(3 分)。

第 5 题

(a) 属性:balance(结余)、owner(户名);方法:deposit(amount)、withdraw(amount)、get_balance()。balance 设为 private:只可以经 deposit/withdraw 修改,外部程式不能直接写入负数或篡改结余(封装,6 分)。(b) 500 → 存入 250 后 750;提取 900 时 900 > 750,方法应检查并拒绝,结余仍为 750,回传 False;再提取 180 → 570(4 分)。

第 6 题

(a) 先用 if title in shelf 检查,存在才移除;不存在则回传 False 或抛出例外,避免程式因找不到元素而中止(4 分)。(b) shelf = [“A”, “C”],count() 回传 2(3 分)。(c) private 令列表只可以经 add/remove 改动,类别可以在每次改动时检查重复书名、维持排序或记录日志;外部直接 append/delete 会绕过这些检查,令状态不一致(3 分)。

问:1 小时 15 分钟怎样分配?

直接答案:B1 约 20 分钟、B2 约 20 分钟、B3 约 30 分钟,留 5 分钟复核;先做 B1 不写码那题,因为它最容易在时间压力下被写成程式码。

06

最常见的失分位

失分位 表面做法 实际后果 正确做法
追踪题只写最终答案 没有列出每步数值 过程分占大部分 每次循环写一行 total
程式题用题目禁止的内建功能 直接 sort() 该题只得 0 分 自己写排序/搜寻
OOP 只写属性 没有方法或没有封装理由 封装分数全失 属性+方法+private 理由
算法题直接写码 B1 要求文字步骤 答错题型 先用文字写输入、步骤、输出
07

怎样用这份卷

第一次刷题:完整计时 1 小时 15 分钟,中途不翻资料、不开 IDE 自动完成。

对答案:追踪题逐步对,程式题只看逻辑与边界情况,不看语法风格。

第二次刷题:三至七日后重做,目标 1 小时内完成,并把程式题改用另一个语言写一次。

问:操完这份卷之后应该做什么?

直接答案:①把追踪错或漏写边界情况的题目抄入错题本;②三至七日后重做,并改另一个语言写一次;③接着操 Paper 3?不用——Paper 3 已于 2027 课程取消,改为操 Paper 1(Theme A+个案)。

08

常见问题 FAQ

这份卷同 IB 历届试题有关吗?
没有。题目、程式码与答案都是 TutorZone 原创,并非 IB 历届试题、官方评卷参考或 IB 出版材料。

IB 电脑科学 Paper 2 考什么?
2027 课程 Theme B:B1 运算思维、B2 程式、B3 OOP;SL 1 小时 15 分钟、50 分、35%,HL 2 小时、80 分、40%。HL 另考 B4 抽象资料类型。

用 Python 定 Java 作答?
两者都可以,视乎学校教哪一个;官方为每条程式题提供两个语言版本,两者的评分标准相同。

09

官方资源与延伸阅读

资源 用途
IB 电脑科学科目简介(2027 首次考核) 核对 Paper 1/2 的时间与比重
IB 电脑科学课程更新(IBO) Theme A/B 范围与 Paper 3 取消
https://www.tutorzone.com.hk/ib-computer-science-paper-1-mock-2027/ IB 电脑科学 Paper 1 刷题模拟卷

同系列:IB 电脑科学刷题攻略(两卷刷题次序、75 分钟时间分配与 12 周时间表)|IB 电脑科学 Paper 1 刷题模拟卷|备考练习题总览|IB 数字社会 Paper 1 模拟卷

10

立即行动:免费找导师/登记做导师

刷题之后最难判断的是“错在概念”还是“错在写法”。填写年级、学校与可补习时间,TutorZone 会免费为你配对熟悉考评局评核要求的导师,先试堂,满意才决定。

立即免费找导师

本科导师需求稳定,能讲清楚评分准则与得分步骤的导师尤其抢手。欢迎免费登记,配对成功才收费。

导师免费登记