GCSE伪代码:考试风格实用指南
学习考试委员会要求的确切伪代码约定,包括涵盖变量、循环、数组和函数的实际例题。
伪代码失分每年都在发生,原因都很低级:赋值符号错误、缺少冒号、缩进不规范。本指南涵盖GCSE计算机科学考试中使用的约定(这种风格与OCR和AQA的参考表最接近),展示如何编写伪代码才能真正赢得分数,而不是因为格式问题而失分。
赋值、比较和输出
最常见的错误是混淆赋值和相等。伪代码根据考试委员会的不同使用<-或=进行赋值,所以要查看你的规范说明,但逻辑两种方式都是一样的。
score = 0
score = score + 10
OUTPUT score
输入和输出时,用大写的INPUT和OUTPUT — 考官在找这些确切的关键字,不是print()或console.log()。如果在伪代码题目中写Python风格的语法,某些评分标准在逻辑正确的情况下仍会接受,但不要冒这个险。坚持所教的约定。
比较在大多数考试委员会伪代码中使用==表示相等,!=、<、>、<=、>=按预期使用。在比较时不要使用单个= — 这是经典的C风格错误,在IF语句中会失分。
选择:IF、ELSE IF、ELSE
IF age < 13 THEN
OUTPUT "Child"
ELSE IF age < 18 THEN
OUTPUT "Teenager"
ELSE
OUTPUT "Adult"
ENDIF
每个IF都需要匹配的ENDIF(或ENDIF/END IF,取决于规范 — AQA在某些版本中往往仅通过缩进来结束,没有显式的结束标记,所以考试前要查看你的考试委员会参考表)。保持缩进一致:两个或四个空格,哪个都可以,但整个答案都要选一种并坚持使用。考官通过缩进和关键字来阅读结构。
迭代:三种循环类型、三种用途
GCSE伪代码要求你知道何时使用每种循环,不只是如何编写它。
计数控制 — 当你知道确切的重复次数时使用FOR:
FOR i = 1 TO 10
OUTPUT i * i
NEXT i
条件控制、先检查 — 当循环可能根本不运行时使用WHILE:
WHILE total < 100
total = total + 10
ENDWHILE
条件控制、后检查 — 当循环必须至少运行一次时使用REPEAT...UNTIL,例如验证输入:
REPEAT
INPUT password
UNTIL LEN(password) >= 8
常见考试陷阱:考官让你找出为什么WHILE循环从不运行,或为什么REPEAT循环多运行一次。在纸上用实际数值追踪一遍再回答 — 不要只是读代码。
数组和二维数组
数组在考试伪代码中几乎总是从零开始索引的,与随之教授的Python约定相符。
names = ["Alex", "Sam", "Jo"]
OUTPUT names[0]
FOR i = 0 TO LEN(names) - 1
OUTPUT names[i]
NEXT i
对于二维数组,你会看到grid[row][col]表示法和嵌套FOR循环:
FOR row = 0 TO 2
FOR col = 0 TO 2
OUTPUT grid[row][col]
NEXT col
NEXT row
循环顺序要正确 — 行在外层、列在内层是标准的,但仔细阅读题目因为某些评分标准会故意交换来测试你是否真的在追踪逻辑。
过程和函数
知道区别:过程做某事且不返回值,函数返回一个值。
PROCEDURE greet(name)
OUTPUT "Hello " + name
ENDPROCEDURE
FUNCTION square(n)
RETURN n * n
ENDFUNCTION
result = square(5)
greet("Priya")
参数按值传递,除非题目另外说明。如果要求你编写函数,一定要包含RETURN — 没有返回语句的函数即使内部计算正确也会失分。
追踪表:你最好的考试武器
当题目给你伪代码并要求输出时,不要猜 — 建立追踪表。为每个变量建立列,每个循环迭代一行,填入值的变化。它比在脑子里读代码要慢,但更可靠,特别是对于嵌套循环或数组边界的偏差一错误。
正确练习
手写伪代码再打字 — 考试没有自动完成。然后把你自己的几个答案转换成真实的Python并运行;如果输出与你预测的相符,你的理解是稳固的。如果不符,你已经找到逻辑的确切破裂点。
要获得循环、数组和函数在真实代码中的更多结构化练习,查看Korra Studio的Python和计算机科学部分。
本文由人工智能协助撰写,经 Michal Pilch(CISSP)审核并发布,Korra Studio。
这是来自 Korra Studio 知识库的笔记之一——该平台将每个主题与一对一指导相结合。
免费开始arrow_forward