学习指南

编程基础

CIE A-Level 计算机科学· 第11单元:编程· 20 分钟阅读

1. 核心翻译器术语★☆☆☆☆⏱ 5 min

所有高级语言代码都必须转换为计算机可以执行的机器码。CIE 9618考试中最常考察的两种翻译器是编译器和解释器,二者的区别是高频考点。

📘 定义

编译器

一次性处理完整源程序,生成可独立后续运行的独立可执行机器码文件的翻译器。

例:

用于构建桌面生产软件的C语言编译器。

📘 定义

解释器

在执行过程中逐行处理源代码,一次转换一行,不会生成永久可执行文件的翻译器。

例:

一边输入一边运行代码的在线Python编辑器。

📐 例题

说明对于商业软件,使用编译器比解释器的一个优势。

  1. 1

    记住编译器在任何执行开始前就一次性完成了转换。

  2. 2

    编译器生成的可执行文件可以直接在CPU上运行,不需要额外转换。

  3. 3

    写出答案:编译后的软件比解释型软件运行更快,因为转换只发生一次,而不是每次启动程序都要转换。

2. 核心结构化编程结构★☆☆☆☆⏱ 6 min

所有结构化程序都仅由三种核心控制结构构建,无论使用哪种编程语言。结构化编程避免了混乱的非结构化跳转(如goto语句),让代码更易阅读和调试。

  1. 顺序结构: 代码严格按照编写顺序逐行执行。

  2. 选择结构: 程序根据布尔条件在不同代码块之间做出选择(例如if/elseswitch语句)。

  3. 迭代(循环): 一个代码块被重复执行多次(也称为循环,例如forwhile循环)。

📐 例题

以下伪代码展示了哪种核心结构?

FOR count FROM 1 TO 10
  OUTPUT count * count
NEXT count
  1. 1

    检查代码是否逐行运行,没有选择或重复:那是顺序结构,所以本题不是这种情况。

  2. 2

    检查代码是否根据条件选择代码路径:那是选择结构,本题没有这种情况。

  3. 3

    检查代码是否多次重复一个代码块:FOR循环将输出行重复了10次。

  4. 4

    结论:这是迭代的例子。

3. 语法错误 vs 语义(逻辑)错误★★☆☆☆⏱ 7 min

考试中非常常见的问题要求你区分代码中两大类错误。二者的区别在选择题和简答题中反复考察。

📘 定义

语法错误

违反编程语言语法规则的错误。翻译器无法处理该代码,因此程序根本无法运行。

📘 定义

逻辑(语义)错误

代码遵循所有语言规则(因此没有语法错误)可以运行,但因为程序底层逻辑错误,产生了错误输出的错误。

📐 例题

以下代码的目的是如果输入数字大于零则输出Positive,否则输出Non-positive。代码包含哪种类型的错误?

INPUT number
IF number < 0 THEN
  OUTPUT "Positive"
ELSE
  OUTPUT "Non-positive"
ENDIF
  1. 1

    首先检查是否违反语法:所有关键字拼写正确,IF块格式正确,因此代码可以运行。

  2. 2

    用样例输入测试:输入5(正数),条件5 < 0为假,因此代码输出Non-positive,这是错误的。

  3. 3

    代码可以运行,但产生错误结果,因此这是逻辑(语义)错误。

4. 编程范式简介★★☆☆☆⏱ 6 min

编程范式是编程的风格或方法。CIE 9618要求你区分两种最常见的范式:命令式(过程式)和声明式。

  • 命令式: 代码描述如何解决问题,是一系列改变程序状态的步骤。Python、Java、C等大多数通用语言都是命令式的。

  • 声明式: 代码描述你想要什么结果,而不是如何得到结果。解释器会推导出生成结果的步骤。SQL和HTML是声明式语言的常见例子。

📐 例题

将以下代码分类为命令式还是声明式:SELECT product FROM stock WHERE price > 100;

  1. 1

    检查代码描述的内容:它说明我们想要价格超过100的产品名称,没有解释如何在库存表中搜索这些产品。

  2. 2

    记住声明式代码描述需要什么结果,而不是如何得到结果。

  3. 3

    结论:这是声明式代码的例子。

5. 常见陷阱

错误做法:

认为解释器会生成可执行机器码文件。

原因:

这是本知识点最常见的错误,阅卷官明确考察这个区分点。

正确做法:

只有编译器会生成独立的可执行机器码;解释器在执行过程中逐行转换,不会保存永久可执行文件。

错误做法:

将固定命名值称为变量。

原因:

变量的定义要求它能够在执行过程中改变值,固定值是常量。

正确做法:

仅将变量这个术语用于可变命名存储;固定值称为常量。

错误做法:

认为所有运行时错误都是语法错误。

原因:

学生经常将所有终止执行的错误归为一类,但CIE按错误原因区分类型。

正确做法:

语法错误由违反语言规则导致;运行时错误(如除以零)发生在符合语法的代码执行过程中。

错误做法:

在分类题中混淆选择结构和迭代结构。

原因:

学生经常在简答题回答中混淆这两种结构。

正确做法:

选择结构 = 在路径之间选择,迭代 = 重复执行代码块。

错误做法:

认为一种语言只能属于一种范式。

原因:

许多现代语言支持多种范式,因此分类取决于代码的编写方式。

正确做法:

根据给出的代码示例分类:逐步执行的Python程序是命令式的,即使Python支持其他范式。

6. 速查表

术语

核心定义

编译器

一次性转换完整源代码,生成可执行文件

解释器

执行过程中逐行转换

变量

已命名的可变内存存储

常量

已命名的固定内存存储

语法错误

违反规则,阻止程序运行

逻辑错误

程序可运行,输出错误结果

顺序结构

代码按编写顺序执行

选择结构

根据条件选择代码块

迭代

多次重复执行代码块

命令式

告诉计算机如何解决问题

声明式

告诉计算机需要什么结果

真题中的出现

AI 根据考纲规律估算的考点位置,请对照官方真题核实准确性。仅作复习重点参考。

  • 2022 · 1

    编译器与解释器的区分

  • 2023 · 1

    语法错误与逻辑错误的识别

  • 2021 · 2

    核心结构分类

深入阅读

下一步

编程基础是CIE 9618所有编程工作的基石。你在这里学到的每个概念都会在你编写代码、调试问题和解答考试题时反复应用。编译器vs解释器、语法vs逻辑错误这些核心区分点是试卷1选择题的常规考点,因此在继续学习前请务必记住这些定义。接下来,你将在这些基础之上学习数据类型、更高级的控制结构和调试技术,这些都会用于你的实践编程工作。