文档

主题 7 · 算法设计与问题解决

程序开发生命周期

分析、设计、编码和测试,以及分解和结构图如何把大问题拆成小问题。

第 1 课,共 5 课大纲 7.1–7.3更新于 2026年10月31日

四个阶段

程序是分阶段构建的。每个阶段都为下一阶段提供输入,测试也常常让你回头修改设计或代码。

  1. 1
    分析
    理解问题:抽象、分解,并列出需求。
  2. 2
    设计
    用结构图、流程图和伪代码规划解决方案。
  3. 3
    编码
    编写程序,边写边测试每个部分(迭代测试)。
  4. 4
    测试
    用测试数据运行完成的程序,检查它是否符合要求。

抽象与分解

抽象是指只保留重要的细节,忽略其余部分。地铁线路图只显示车站和停靠顺序,而不显示轨道的确切弯曲。

分解是指把问题拆成更容易解决的子问题,直到每个子问题都简单到可以直接编码。每个计算机系统都由子系统组成,子系统又由更小的子系统组成。

分解问题时,要找出它的输入、处理、输出和存储。

结构图

结构图把分解过程画成一棵树。整个系统位于顶端,下面的每一层把一个方框拆成更小的部分。

闹钟应用的结构图
  • 闹钟
    • 设置闹钟
      • 输入时间
      • 保存时间
    • 检查时间
      • 读取时钟
      • 比较
    • 响铃
      • 播放声音
      • 稍后提醒

设计算法的方式

算法是解决问题的一系列步骤。同一个算法可以用三种方式写出来:

  • 结构图:展示问题如何分解,但不展示步骤的顺序。
  • 流程图:用相互连接的图形展示步骤和判断。
  • 伪代码:一种结构化、与具体语言无关的书写方式,接近真正的代码。

考试提示: 下一课“流程图”会介绍所有流程图符号,“编程”主题会详细讲解伪代码。

关键术语

抽象
去掉不必要的细节,专注于重要的部分。
分解
把问题拆成更小的子问题。
结构图
展示系统如何拆分为子系统的树形图。
算法
解决问题的一系列步骤。

自我检测

说出程序开发生命周期的四个阶段。查看答案

分析、设计、编码、测试。

结构图和流程图在哪个阶段产生?查看答案

设计阶段。

抽象和分解有什么区别?查看答案

抽象去掉不必要的细节;分解把问题拆成更小的部分。