跳转到内容

Wikijunior:儿童编程/了解你的问题

来自Wikibooks,开放世界中的开放书籍
Wikijunior:儿童编程
什么是编程? 了解你的问题 设计你的解决方案

成功的编程第一步是了解你的问题。正如一句中国谚语所说,“知己知彼,百战不殆”。

识别你的问题

[编辑 | 编辑源代码]

在没有清楚了解你想要做什么之前,你不能直接开始编程。为此,你需要对你的问题有一个精确的定义。这可以通过向自己提问(**询问**)和**头脑风暴**来完成。

假设你想制作一个软件来创建简单的矢量图形。你可能会问自己以下问题

  • 软件将创建什么类型的图形?
  • 图形将采用哪种格式(EPS、WMF、SWF、SVG…)?
  • 如果图形遵循某个标准,我应该为用户提供什么类型的模板?
  • 我的目标用户是什么样的?

在回答这些问题时,你应该从**最终用户**的角度看待问题。你是在为你的最终用户编程,所以你应该了解她的需求。以下是一些上述问题的示例答案

  • 它将为数学中的各种立体创建 3D 图形。
  • 它们将以 SVG 格式存储,因为它是一种开放且基于 XML 的格式,但也允许从 AI、CRD 和其他非开放文件格式进行转换。
  • 我将提供最常见的立体,例如球体、柏拉图立体、棱柱体和锥体。
  • 我的目标用户是计算机经验很少的人。

因此,你的问题是

  • 我想创建一个软件,该软件可以生成数学立体的 3D 矢量图形作为 SVG。由于我的目标是非技术人员,因此该软件将是一个所见即所得的图像编辑器。

分析你的问题

[编辑 | 编辑源代码]

一旦你知道了你的目标,你需要再次审视这个问题。在计算机编程中,问题分析意味着识别程序的输入、输出和过程。以俄罗斯方块为例,让我们构建一个**输入-过程-输出图表**(IPO 图表)

输入 过程 输出
  • 积木移动的方向
  • 积木旋转的方向
  • 积木是否应该更快地落下
  • 识别玩家按下的按钮
  • 相应地旋转或移动积木
  • 屏幕底部的积木

下一步是什么?

[编辑 | 编辑源代码]

在识别和分析了我们的问题之后,我们需要进入解决问题的下一个阶段:设计我们的解决方案。

华夏公益教科书