9.1 Computational Thinking Skills 计算思维简答
Review the exact wording students need for this knowledge point, then open a filtered question list when ready to practise.
Find questions for 9618-AS-09-01Scope 本页范围
本页只整理 Chapter 9.1 的简答题:abstraction、abstract model、decomposition、modules 及 modular approach 的好处。要求编写 pseudocode、procedure 或 function 的题目将在代码专项中整理。
Syllabus learning goals 考纲要求
- 理解 abstraction 的需要和好处。
- 描述 abstraction 的目的。
- 只保留 essential details,建立系统的 abstract model。
- 描述并使用 decomposition,把问题分成 sub-problems,并形成 modules、procedures 或 functions。
1 Abstraction 抽象
Abstraction 是在解决特定问题时:
- Filtering out unnecessary information/details.
- Keeping only the essential information required to solve the problem.
它不是简单地“删除数据”,而是先明确当前 module 的目的,再判断哪些数据会影响结果。对于另一个 module,同一项数据可能重新变得必要。
Mark-scheme definition
Abstraction is the process of filtering out unnecessary information and retaining only the essential information needed to solve the problem.
若题目只给 1 mark,写出其中一条完整表述即可。不要只写 “make the problem simpler”,因为这是 benefit,不是 abstraction 本身的过程。
2 Purpose and benefits of abstraction
Purpose
Abstraction 的直接目的,是建立一个只包含当前任务所需数据与操作的 model,使设计者专注于 relevant details。
Benefits
- The solution/model is simplified.
- It is easier or quicker to understand, design and implement。
- It reduces irrelevant data that would otherwise distract the designer or increase complexity。
- The system/module can be tailored to the user's actual requirements。
- Testing and maintenance can focus on the required behaviour。
Two-mark answer pattern
The technique is abstraction. It filters out unnecessary information, making the solution simpler and easier to design and implement.
第一分通常是 technique/process,第二分才是 benefit。不要把两分都写成 “easier” 和 “quicker” 这类相近结果。
3 Producing an abstract model 建立抽象模型
建立 abstract model 时:
- 明确新 system/module 必须完成的 output 或 action。
- 找出产生该结果所需的 inputs/data。
- 保留会改变判断或输出的 essential information。
- 排除与当前任务无关的数据。
- 说明每项保留或排除数据的理由。
Required information
得分形式通常是 item + matching justification。
例如,module 要向对某项 exercise 感兴趣的会员发送 personalised text message:
- Mobile phone number:required to send the text message。
- Name:required to personalise the message。
- Exercise interest:required to select members interested in that class。
Information not required
一项信息“不需要”,不是因为它永远没有用途,而是因为它 does not affect the current module's task/output。
例如同一短信 module 通常不需要 home address,因为短信通过 mobile phone number 发送;date of birth 也可能不影响是否对某类 exercise 感兴趣。
Answer rule
不要只列数据名称。每个 item 后面必须说明:
item -> how it is used by this module
或:
item not required -> why it does not affect this module's output
4 Abstraction in a system scenario
题目可能要求说明一个业务系统应保留什么。先把场景转换成三类信息:
| Category | Question to ask |
|---|---|
| Inputs | What data must enter the system? |
| Processing | What decisions/calculations must be made? |
| Outputs | What result/action must the system produce? |
Car-hire example 可保留 car identifier、customer identifier、start date、return date/number of days 和 cost,因为这些信息用于记录 vehicle、hirer、duration 与 payment。与一次 hire 无关的资料应被排除。
5 Decomposition 分解
Decomposition 是:
- Breaking down a complex problem into smaller sub-problems.
- Each sub-problem performs a clear, manageable task。
- The sub-problems lead to program modules, procedures or functions。
- The modules are combined to solve the original problem。
Mark-scheme definition
Decomposition breaks a problem into smaller sub-problems, which can be implemented as separate modules/procedures/functions.
只写 “split the program” 不够精确;应写 problem/sub-problems,并说明与 modules 的联系。
6 Benefits of decomposition and modularity
- Each smaller problem is easier to understand and design。
- Different modules can be developed by different programmers/team members。
- A module can be tested and debugged independently。
- A module can be designed/tested once and then reused/called repeatedly。
- A change may need to be made in one module only, making the program easier to maintain or modify。
- Modules provide clear responsibilities and reduce repeated code。
Four-mark modular approach pattern
- The function can be called repeatedly whenever it is required。
- It is designed and tested once, then reused。
- A later change is made once in the function, so maintenance is easier。
选择两个真正不同的 advantages。Reused repeatedly 与 called repeatedly 通常可能被视为相近,不要依靠同义重复拿两分。
7 Identifying suitable modules
题目要求 identify sub-modules and describe their use 时,每个得分单元应包含:
meaningful module name + one clearly bounded task
例如 loyalty-card system:
ScanCard:read the barcode and obtain the customer's unique ID。GetPoints:retrieve the customer's current points balance。CalculateDiscount:calculate the discount available from the points exchanged。UpdatePoints:deduct exchanged points or add points from the new purchase。
不要使用 ProcessData、DoTask 这类无法说明用途的名字,也不要让一个 module 同时完成整个系统。
8 Function interface as a short-answer concept
本页不写 function code,但简答题可能要求描述 interface。Interface 说明 module 与外部如何交换数据:
- Parameters:what values/data types are passed into the module。
- Return value:what result/data type is returned。
例:检查一个 number 的 digits 是否达到 required total:
- Takes two INTEGER parameters:the number and required total。
- Returns a BOOLEAN indicating whether the condition is met。
9 Abstraction vs decomposition
| Skill | Main question |
|---|---|
| Abstraction | Which details are essential, and which can be ignored? |
| Decomposition | Which smaller sub-problems/modules make up the whole problem? |
Abstraction 减少当前 model 中不相关的 detail;decomposition 改变问题的组织方式,把整体分成 manageable parts。一个系统设计通常会同时使用两者。
10 Exam-answer checklist
- Definition 是否写了 unnecessary information 与 essential information?
- Benefit 是否与 definition 分开?
- Required/not-required item 是否带 matching justification?
- Justification 是否明确联系当前 scenario?
- Decomposition 是否写到 sub-problems 和 modules/procedures/functions?
- 每个 module 是否只有一个清晰职责?
- Modular advantages 是否包含 testing、reuse 或 maintenance 的具体结果?
- Interface 是否分别说明 parameters 与 return value?
本页只使用 Chapter 9.1 的理解型与简答型 past-paper evidence。需要编写 module、procedure 或 function 的题目保留给后续代码专项。
Practice This Knowledge Point
Open the question bank with this knowledge code already filled in. The filtered list will show matching questions for this note.
Open filtered practice