主题 7 · 算法设计与问题解决
程序开发生命周期
分析、设计、编码和测试,以及分解和结构图如何把大问题拆成小问题。
第 1 课,共 5 课大纲 7.1–7.3更新于 2026年10月31日
四个阶段
程序是分阶段构建的。每个阶段都为下一阶段提供输入,测试也常常让你回头修改设计或代码。
- 1分析理解问题:抽象、分解,并列出需求。
- 2设计用结构图、流程图和伪代码规划解决方案。
- 3编码编写程序,边写边测试每个部分(迭代测试)。
- 4测试用测试数据运行完成的程序,检查它是否符合要求。
抽象与分解
抽象是指只保留重要的细节,忽略其余部分。地铁线路图只显示车站和停靠顺序,而不显示轨道的确切弯曲。
分解是指把问题拆成更容易解决的子问题,直到每个子问题都简单到可以直接编码。每个计算机系统都由子系统组成,子系统又由更小的子系统组成。
分解问题时,要找出它的输入、处理、输出和存储。
结构图
结构图把分解过程画成一棵树。整个系统位于顶端,下面的每一层把一个方框拆成更小的部分。
闹钟应用的结构图
- 闹钟
- 设置闹钟
- 输入时间
- 保存时间
- 检查时间
- 读取时钟
- 比较
- 响铃
- 播放声音
- 稍后提醒
- 设置闹钟
设计算法的方式
算法是解决问题的一系列步骤。同一个算法可以用三种方式写出来:
- 结构图:展示问题如何分解,但不展示步骤的顺序。
- 流程图:用相互连接的图形展示步骤和判断。
- 伪代码:一种结构化、与具体语言无关的书写方式,接近真正的代码。
考试提示: 下一课“流程图”会介绍所有流程图符号,“编程”主题会详细讲解伪代码。
关键术语
- 抽象
- 去掉不必要的细节,专注于重要的部分。
- 分解
- 把问题拆成更小的子问题。
- 结构图
- 展示系统如何拆分为子系统的树形图。
- 算法
- 解决问题的一系列步骤。
自我检测
说出程序开发生命周期的四个阶段。查看答案
分析、设计、编码、测试。
结构图和流程图在哪个阶段产生?查看答案
设计阶段。
抽象和分解有什么区别?查看答案
抽象去掉不必要的细节;分解把问题拆成更小的部分。