跳到正文
IGCSE·Tuition
计算机科学 · 主题

IGCSE 计算机科学:重复与数组

循环和数组让程序不再一眼看穿,开始需要追踪表。

本页内容
  1. 开始之前需要懂什么?
  2. 一个引导例子
  3. 应该按什么顺序学习各课?
  4. 学生在这个课题中容易掉进哪些陷阱?
  5. 如何使用练习

这个课题讲的是如何让程序重复执行步骤,以及如何存放一列值,让循环逐个处理。**重复(repetition)**指循环。**数组(array)**是用一个名字存放的一排值,通过下标来访问。

它接在算法设计之后,属于计算机科学学习指南,之后是验证、核实与测试。求和、查找和计数都使用你在这里学到的模式。

开始之前需要懂什么?

你需要能读懂 Total ← Total + 5 这样的赋值,以及带条件的 IF 语句,还要知道什么是变量。如果这些还不稳,先用伪代码追踪训练器逐步运行几行代码。

一个引导例子

这个循环把 1 到 4 相加。

Total ← 0
FOR i ← 1 TO 4
   Total ← Total + i
NEXT i
OUTPUT Total
i之后的 Total
11
23
36
410

输出是 10。把结束值改成 5,结果就变成 15。本模块的每一课都在这幅图上增加一个想法:循环如何停止、会在哪里出错,以及如何处理数组。

应该按什么顺序学习各课?

  1. 追踪计数控制循环:次数固定的 FOR 循环。在这里学会追踪表。
  2. 追踪条件控制循环:WHILE 与 REPEAT,由测试决定何时停止。
  3. 修复差一错误:找出多运行或少运行一轮的循环。
  4. 在给定列表中找最大值:用保存的最佳值扫描数组的标准模式。
  5. 使用数组下标,不把它与值混淆:把位置和内容分开。

然后做综合练习,并把失误记到错题记录。想检查自己的代码,可以用 Python 推理沙盒运行简短的练习。

学生在这个课题中容易掉进哪些陷阱?

  • 数间隔而不是数值。 FOR 1 TO 5 运行五次,不是四次。
  • 把 UNTIL 读成“当……时”。 REPEAT 在 UNTIL 条件为真时停止。
  • 改输出而不改循环。 把答案加一只是掩盖错误。
  • 最大值从 0 开始。 当所有值都是负数时就会出错。
  • 加了下标而不是值。 i 和 Data[i] 不同。
  • 忘记边界。 ARRAY[1:5] 没有位置 0,也没有位置 6。

如何使用练习

每题先在纸上作答,读答案之前先写好追踪表。逐行检查过程,而不是只看最后的结果。然后用练习末尾的指引清单回到对应的课。

你的考试使用哪种写法取决于考试年份,请在 Cambridge 官网的课程大纲页面确认。如果你的追踪表总在某一轮跑偏,可以请一对一线上计算机科学补习的老师看你怎么追踪,找出开始出错的那一行。

常见问题

循环需要默写,还是只要会追踪?

两者都要准备:读懂并追踪给定的循环,也要为某个任务补全或编写循环。追踪能培养检查每一轮的习惯,写代码时同样受益。请到 Cambridge 官网查看你考试年份的课程大纲,确认编程如何评估。

我会用到伪代码还是 Python?

本站使用 Cambridge 风格的伪代码,有帮助时配合 Python。你的试卷用哪种写法取决于考试年份。请先向考试中心确认年份,再阅读 Cambridge 官网上对应的课程大纲。

提高追踪能力最快的方法是什么?

每次都在纸上用表格追踪,每轮一行,先追踪再运行。然后把你的表格与工具核对。第一个不同的行,就是你推理跑偏的那一行。

为什么数组题这么容易出错?

通常是因为下标和其中存的值混在一起,或者循环边界差了一个。把下标和值分成两列写,并检查第一轮和最后一轮。

资料来源

  1. Cambridge IGCSE Computer Science 0478 syllabus page

更新于:

下一步

如果你在课堂上看得懂循环,考试时追踪表却跑偏,一对一的老师可以检查你自己的作答,找出开始出错的那一行。

一小时付费试听课,按所安排老师确认的收费,RM80 起。

补习由家长或监护人安排。用 WhatsApp 把这页发给他们,他们就可以替你咨询。

家长:在这里咨询

  • 已通过我们的服务帮助 9,000+ 名学生
  • 9+ 年帮助 IGCSE 学生