跳轉到內容

Wikijunior:兒童程式設計/瞭解你的問題

來自Wikibooks,開放世界中的開放書籍
Wikijunior:兒童程式設計
什麼是程式設計? 瞭解你的問題 設計你的解決方案

成功的程式設計第一步是瞭解你的問題。正如一句中國諺語所說,“知己知彼,百戰不殆”。

識別你的問題

[編輯 | 編輯原始碼]

在沒有清楚瞭解你想要做什麼之前,你不能直接開始程式設計。為此,你需要對你的問題有一個精確的定義。這可以透過向自己提問(**詢問**)和**頭腦風暴**來完成。

假設你想製作一個軟體來建立簡單的向量圖形。你可能會問自己以下問題

  • 軟體將建立什麼型別的圖形?
  • 圖形將採用哪種格式(EPS、WMF、SWF、SVG…)?
  • 如果圖形遵循某個標準,我應該為使用者提供什麼型別的模板?
  • 我的目標使用者是什麼樣的?

在回答這些問題時,你應該從**終端使用者**的角度看待問題。你是在為你的終端使用者程式設計,所以你應該瞭解她的需求。以下是一些上述問題的示例答案

  • 它將為數學中的各種立體建立 3D 圖形。
  • 它們將以 SVG 格式儲存,因為它是一種開放且基於 XML 的格式,但也允許從 AI、CRD 和其他非開放檔案格式進行轉換。
  • 我將提供最常見的立體,例如球體、柏拉圖立體、稜柱體和錐體。
  • 我的目標使用者是計算機經驗很少的人。

因此,你的問題是

  • 我想建立一個軟體,該軟體可以生成數學立體的 3D 向量圖形作為 SVG。由於我的目標是非技術人員,因此該軟體將是一個所見即所得的影像編輯器。

分析你的問題

[編輯 | 編輯原始碼]

一旦你知道了你的目標,你需要再次審視這個問題。在計算機程式設計中,問題分析意味著識別程式的輸入、輸出和過程。以俄羅斯方塊為例,讓我們構建一個**輸入-過程-輸出圖表**(IPO 圖表)

輸入 過程 輸出
  • 積木移動的方向
  • 積木旋轉的方向
  • 積木是否應該更快地落下
  • 識別玩家按下的按鈕
  • 相應地旋轉或移動積木
  • 螢幕底部的積木

下一步是什麼?

[編輯 | 編輯原始碼]

在識別和分析了我們的問題之後,我們需要進入解決問題的下一個階段:設計我們的解決方案。

華夏公益教科書