这个工具一次运行一条伪代码语句,并把结果记录成追踪表(trace table)。每一行显示该步骤之后每个变量的值,每个判断都用文字解释。
你可以先手动追踪,再运行工具,把你的表和它的表对比。
怎么使用?
- 选择算法,或直接修改文本框里的代码。内置六个算法:1 到 5 的总和、三个数中的最大值、不断除以二直到小于 1、嵌套 IF 评级、REPEAT UNTIL 翻倍,以及一个永远不会结束的错误循环。
- **先预测。**在纸上把变量写成列标题,自己填表。
- 按开始追踪。重置会回到第一个算法。
- 逐行对比。如果你的表不同,请读那一行的“发生了什么”说明。
支持的语句有赋值(← 或 <-)、OUTPUT、IF/THEN/ELSE/ENDIF、WHILE/DO/ENDWHILE、REPEAT/UNTIL 和 FOR/TO/STEP/NEXT。它能识别 + - * / DIV MOD、AND OR NOT 以及比较运算。
怎么看结果?
标题会说明程序是否正常结束以及共几步。下面是追踪表,每个变量一列,另有一个“输出”列。
循环头每次检查都会记录一次。WHILE 行出现的次数比循环体执行的次数多一次,因为最后一次检查的结果是假。REPEAT UNTIL 的条件在每一轮循环体之后出现。
例子演示
选择1 到 5 的总和。它把 total 设为 0,然后用 FOR 循环让 i 从 1 到 5,每次加上 i。
预计共十二步。第 1 步把 total 设为 0。之后每个 i 值产生两行:一行是 FOR 行(i = 1、2、3、4、5),一行是加法。
total 列依次是 1、3、6、10、15。最后一行是输出 15。
再选嵌套 IF 评级。分数是 67。第一个判断 mark >= 80 为假,所以执行 ELSE 部分。
内层判断 mark >= 60 为真,所以 grade 变为 2。追踪表显示两个判断,以及输出 2。
最后选有错误的循环(不会结束)。x 为 0,循环在 x < 5 时运行,但循环内没有任何语句改变 x。工具会一遍又一遍输出 0,在安全上限处停止并解释原因。
在循环内加一行 x <- x + 1 再运行,输出就变成 0、1、2、3、4。
有哪些假设和限制?
- 它只支持受限的记法。真实考试的伪代码可能用到本工具无法识别的写法。
- 2026 到 2028 年的记法需要核对来源,对已改为只用 Python 的试卷,本工具不是默认工具。请向你的考试中心和 Cambridge 大纲确认考试年份。
- 程序在 300 步时停止,只显示前 100 行。
- 变量必须先有值才能使用,否则工具会提示。
- 请使用原创的练习算法。它不是考试工具,也不会检查需要评分的课业。
哪些课程解释了这些结果?
追踪的基本概念请读用状态表追踪一个步骤序列。循环见追踪计数控制的循环和追踪条件控制的循环。如果追踪结果差了一步,请看修正差一错误(off-by-one)。
记法与年份的问题在使用已核实的 2026-2028 记法和选择记法前先确认考试年份中。对于不会结束的循环,请读修正伪代码循环的结束条件。
完整单元见适用大纲的伪代码。如果你想让老师看着你做追踪,请看线上一对一 Computer Science 补习。更多工具见学习工具目录。