跳转到内容

KS3 计算机/分解

来自维基教科书,开放的书籍,开放的世界

[此处插入图片]


在开发计算机系统(程序或应用程序)时,我们的目标是解决问题。问题可能是根据键盘上按钮的按下改变灯光模式,如上所示…… 了解问题的全部内容至关重要,这样才能避免错误地解决问题。为了达到这种理解,必须通过识别其各个组成部分来分析问题。换句话说:有必要将问题分解成子问题。此过程称为分解。此过程可以产生问题的图形表示,称为结构图


[此处插入图片]


每个子问题可能需要进一步分解,从而导致更复杂的结构图。结构图或结构图示例


[此处插入图片]


分解练习

[编辑 | 编辑源代码]

以下每个练习都描述了一个问题。通过识别每个问题的一些子问题来分析每个问题。

  • 在空中交通管制系统中,一个问题是防止飞机飞入彼此的航线。
  • 在电脑游戏系统中,一个问题是在玩家完成目标时增加分数。


将穿衣问题分解成至少三个组成部分。你能应用执行顺序吗?换句话说:哪个子问题需要在另一个子问题之前解决?生成一个结构图。

将烹饪晚餐问题分解成至少 10 个组成部分。你能应用执行顺序吗?换句话说:哪个子问题需要在另一个子问题之前解决?生成一个结构图。

将一个简单的银行系统分解成至少三个组成部分。该系统需要允许用户开户、销户以及跟踪账户的支出和存款。生成一个结构图。

考虑你最喜欢的游戏。确定此计算机系统需要解决的至少 5 个子问题。生成一个结构图。

你能想到你想创建的应用程序吗?描述该应用程序并确定该应用程序的至少 5 个子组件。生成一个结构图。

分解总结

[编辑 | 编辑源代码]

计算思维需要对问题进行分解:精确识别构成更大问题的组件…… 此过程可以产生结构图。每个已识别的问题都需要解决,并且解决方案必须重新组合在一起。此过程将是完整解决方案实现的一部分。

分解进阶学习

[编辑 | 编辑源代码]

了解模块化设计并总结其优缺点。瀑布模型和螺旋模型是常见的模块化设计方法。最近,快速应用程序开发 (RAD) 和极限编程(另见敏捷开发和现场开发)越来越受欢迎。研究每种方法并总结它们的使用方式以及列出它们的优缺点。

华夏公益教科书