编程基础
CIE A-Level 计算机科学· 第11单元:编程· 20 分钟阅读
1. 核心翻译器术语★☆☆☆☆⏱ 5 min
所有高级语言代码都必须转换为计算机可以执行的机器码。CIE 9618考试中最常考察的两种翻译器是编译器和解释器,二者的区别是高频考点。
编译器
一次性处理完整源程序,生成可独立后续运行的独立可执行机器码文件的翻译器。
例:
用于构建桌面生产软件的C语言编译器。
解释器
在执行过程中逐行处理源代码,一次转换一行,不会生成永久可执行文件的翻译器。
例:
一边输入一边运行代码的在线Python编辑器。
说明对于商业软件,使用编译器比解释器的一个优势。
- 1
记住编译器在任何执行开始前就一次性完成了转换。
- 2
编译器生成的可执行文件可以直接在CPU上运行,不需要额外转换。
- 3
写出答案:编译后的软件比解释型软件运行更快,因为转换只发生一次,而不是每次启动程序都要转换。
2. 核心结构化编程结构★☆☆☆☆⏱ 6 min
所有结构化程序都仅由三种核心控制结构构建,无论使用哪种编程语言。结构化编程避免了混乱的非结构化跳转(如goto语句),让代码更易阅读和调试。
顺序结构: 代码严格按照编写顺序逐行执行。
选择结构: 程序根据布尔条件在不同代码块之间做出选择(例如
if/else、switch语句)。迭代(循环): 一个代码块被重复执行多次(也称为循环,例如
for和while循环)。
以下伪代码展示了哪种核心结构?
FOR count FROM 1 TO 10
OUTPUT count * count
NEXT count
- 1
检查代码是否逐行运行,没有选择或重复:那是顺序结构,所以本题不是这种情况。
- 2
检查代码是否根据条件选择代码路径:那是选择结构,本题没有这种情况。
- 3
检查代码是否多次重复一个代码块:
FOR循环将输出行重复了10次。 - 4
结论:这是迭代的例子。
3. 语法错误 vs 语义(逻辑)错误★★☆☆☆⏱ 7 min
考试中非常常见的问题要求你区分代码中两大类错误。二者的区别在选择题和简答题中反复考察。
语法错误
违反编程语言语法规则的错误。翻译器无法处理该代码,因此程序根本无法运行。
逻辑(语义)错误
代码遵循所有语言规则(因此没有语法错误)可以运行,但因为程序底层逻辑错误,产生了错误输出的错误。
以下代码的目的是如果输入数字大于零则输出Positive,否则输出Non-positive。代码包含哪种类型的错误?
INPUT number
IF number < 0 THEN
OUTPUT "Positive"
ELSE
OUTPUT "Non-positive"
ENDIF
- 1
首先检查是否违反语法:所有关键字拼写正确,
IF块格式正确,因此代码可以运行。 - 2
用样例输入测试:输入
5(正数),条件5 < 0为假,因此代码输出Non-positive,这是错误的。 - 3
代码可以运行,但产生错误结果,因此这是逻辑(语义)错误。
4. 编程范式简介★★☆☆☆⏱ 6 min
编程范式是编程的风格或方法。CIE 9618要求你区分两种最常见的范式:命令式(过程式)和声明式。
命令式: 代码描述如何解决问题,是一系列改变程序状态的步骤。Python、Java、C等大多数通用语言都是命令式的。
声明式: 代码描述你想要什么结果,而不是如何得到结果。解释器会推导出生成结果的步骤。SQL和HTML是声明式语言的常见例子。
将以下代码分类为命令式还是声明式:SELECT product FROM stock WHERE price > 100;
- 1
检查代码描述的内容:它说明我们想要价格超过100的产品名称,没有解释如何在库存表中搜索这些产品。
- 2
记住声明式代码描述需要什么结果,而不是如何得到结果。
- 3
结论:这是声明式代码的例子。
5. 常见陷阱
错误做法:
认为解释器会生成可执行机器码文件。
原因:
这是本知识点最常见的错误,阅卷官明确考察这个区分点。
正确做法:
只有编译器会生成独立的可执行机器码;解释器在执行过程中逐行转换,不会保存永久可执行文件。
错误做法:
将固定命名值称为变量。
原因:
变量的定义要求它能够在执行过程中改变值,固定值是常量。
正确做法:
仅将变量这个术语用于可变命名存储;固定值称为常量。
错误做法:
认为所有运行时错误都是语法错误。
原因:
学生经常将所有终止执行的错误归为一类,但CIE按错误原因区分类型。
正确做法:
语法错误由违反语言规则导致;运行时错误(如除以零)发生在符合语法的代码执行过程中。
错误做法:
在分类题中混淆选择结构和迭代结构。
原因:
学生经常在简答题回答中混淆这两种结构。
正确做法:
选择结构 = 在路径之间选择,迭代 = 重复执行代码块。
错误做法:
认为一种语言只能属于一种范式。
原因:
许多现代语言支持多种范式,因此分类取决于代码的编写方式。
正确做法:
根据给出的代码示例分类:逐步执行的Python程序是命令式的,即使Python支持其他范式。
6. 速查表
术语 | 核心定义 |
|---|---|
编译器 | 一次性转换完整源代码,生成可执行文件 |
解释器 | 执行过程中逐行转换 |
变量 | 已命名的可变内存存储 |
常量 | 已命名的固定内存存储 |
语法错误 | 违反规则,阻止程序运行 |
逻辑错误 | 程序可运行,输出错误结果 |
顺序结构 | 代码按编写顺序执行 |
选择结构 | 根据条件选择代码块 |
迭代 | 多次重复执行代码块 |
命令式 | 告诉计算机如何解决问题 |
声明式 | 告诉计算机需要什么结果 |
真题中的出现
AI 根据考纲规律估算的考点位置,请对照官方真题核实准确性。仅作复习重点参考。
- 2022 · 1
编译器与解释器的区分
- 2023 · 1
语法错误与逻辑错误的识别
- 2021 · 2
核心结构分类
深入阅读
下一步
编程基础是CIE 9618所有编程工作的基石。你在这里学到的每个概念都会在你编写代码、调试问题和解答考试题时反复应用。编译器vs解释器、语法vs逻辑错误这些核心区分点是试卷1选择题的常规考点,因此在继续学习前请务必记住这些定义。接下来,你将在这些基础之上学习数据类型、更高级的控制结构和调试技术,这些都会用于你的实践编程工作。
