这个模块讲程序如何组织:每个值的类型、每个变量在哪里可见、怎样把代码打包成带参数的子程序、函数返回什么,以及为什么要把计算与输入输出分开。这些想法在每一道算法题背后都在起作用。
请阅读剑桥 IGCSE Computer Science 大纲页面,了解你考试年份的范围和写法。2029 年变化页面说明了怎样确认哪个版本适用于你。本模块属于更大的计算机科学学习指南。
我应该先具备哪些基础?
你需要能读简单的伪代码:赋值、IF 和 FOR 循环。如果追踪循环对你还很陌生,请先多做几次短的追踪。没有哪个前置模块是硬性要求,不过硬件与处理模块有助于理解程序为什么要写成处理器逐步执行的样子。
示范例子:一个函数,四个概念
下面是一个短函数。读它时请看结构,而不只是输出。
FUNCTION TotalWithTax(Price : REAL) RETURNS REAL
RETURN Price * 1.08
ENDFUNCTION
OUTPUT TotalWithTax(50.00)
- 数据类型:
Price是 REAL,因为金额带小数部分。 - **参数:**函数通过
Price接收输入。实参是 50.00。 - **返回值:**RETURN 把 50.00 × 1.08 = 54.00 送回给调用者。
- **分离:**函数里没有 INPUT 或 OUTPUT。答案由主程序显示,所以输出是 54.00。
这个函数也没有用到全局变量,所以作用域很简单。这五课就是要教你写出并解释这样的小设计。
这几课应该按什么顺序学?
- 选择合适的数据类型:每个变量和参数都需要类型。
- 解释局部与全局作用域:变量在哪里存在,谁能使用它。
- 构建参数清晰的子程序:把任务打包,方便重复使用。
- 追踪返回值:跟着函数调用走到它送回的值。
- 把逻辑与输入输出分开:把这些习惯合成一个干净的设计。
然后做综合练习题。受限伪代码追踪训练器和安全 Python 推理沙盒都适合本模块,错题记录与重测队列可以帮你记录反复出现的失误。
学生最常掉进哪些陷阱?
- **凭外表选类型。**由数字组成的编码是文字,不是数。
- **把局部变量当成全局变量。**局部变量在子程序结束时就消失了。
- **实参顺序弄反。**实参按位置对应形参,顺序弄反会得到错误答案,却没有任何报错。
- **过早返回。**循环里的 RETURN 会在第一圈就结束函数。
- **在负责计算的函数里放 INPUT 和 OUTPUT。**除非题目另有说明,否则把它们留在主程序里。
怎样使用练习题?
先学完各课,再不看笔记做练习题,并把每张追踪表都写出来。把你的解答和答案逐行比对。练习题最后有一张对照表,所以每道做错的题都会把你送回某一课,而不是整个模块。
如果之后这个主题仍然让你觉得抓不住,我们的一对一线上 Computer Science 补习可以和你一起过你自己的代码。