跳轉至內容

計算機革命/程式設計/程式設計

來自華夏公益教科書,開放的書籍,開放的世界

程式設計與程式邏輯

[編輯 | 編輯原始碼]

當您坐在電腦前,無論是在家還是在工作,您是否曾經想過讓這臺機器為您工作需要什麼——規劃、研究、開發、除錯、實施、更新等等?

系統開發,用最簡單的術語來說,是一個六階段的過程或生命週期(SDLC),它由通常重疊的階段組成,通常可能包括

  1. 進行初步調查;
  2. 然後分析系統;
  3. 設計和
  4. 開發系統,然後
  5. 實施,最後
  6. 提供系統維護,包括更新和升級,並有可能重新開始整個過程(Williams, B.K. & S.C. Sawyer. 2007. 使用資訊科技:計算機和通訊實用指南。第 7 版。蒙特利爾:麥格勞-希爾艾利,第 498-505 頁)。

以下討論將重點放在系統開發過程中的第四階段或開發階段——即程式設計。這個特定的過程涉及建立,正如術語所暗示的那樣,一個“程式”或指令列表,使計算機能夠將資料處理成更有意義的資訊。

雖然我們大多數人都直覺地認為程式設計只是編寫程式程式碼,但這個過程遠不止這些。Reeves 很快就指出,“程式設計不是關於構建軟體;程式設計是關於設計軟體”,而且,“設計軟體是管理複雜性的練習”(http://www.bleading-edge.com/Publications/C++Journal/Cpjour2.htm 2006 年 12 月 4 日檢索)。事實上,在回顧中,以下五個步驟參與了程式設計過程

  1. 問題澄清或定義問題;
  2. 程式設計或設計解決方案,
  3. 編寫或編碼程式;
  4. 程式測試,包括 alpha 測試和 beta 測試;以及
  5. 程式文件和維護(Williams & Sawyer,第 505-516 頁)。

一旦決定繼續進行系統開發,就必須進行程式設計——無論是由外部還是內部的程式設計師完成。此外,一旦程式設計需求得到澄清,下一步就涉及設計一個“由系統分析師指定的解決方案”(Williams & Sawyer,第 507 頁)。

首先找到解決方案是建立一個“演算法”或一系列步驟或規則,這些步驟或規則是明確的,以及儘可能簡單和最小化,以實現該解決方案。毫無疑問,“軟體設計必須在所有方面都完整和正確……[但瞭解這一點也很重要]軟體設計中有一些重要的方面無法清晰地歸類為資料結構和演算法”,因此有必要使用任何“工具和符號”來幫助,並認識到“所有設計活動都是相互作用的”。因此,“初始設計在此[設計]週期中保持不變的可能性……”是(或應被認為是)不可能的。它本質上是一個“……受控的細化過程……”,需要“……所有級別的良好設計”(http://www.bleading-edge.com/Publications/C++Journal/Cpjour2.htm 2006 年 12 月 4 日檢索)。

所以,為了設計一個程式,本質上有兩個步驟,包括確定

  1. 程式邏輯和
  2. 然後是它的細節。

在當今的程式設計世界中,在第一步(即確定程式邏輯)中,使用結構圖或層次結構圖來確定程式邏輯。正如術語“層次結構”所暗示的那樣,它是一種自上而下的設計或方法,層次結構中包含程式中的模組或處理步驟,這些步驟試圖識別所有元素以及元素或模組之間可能需要實現程式目的的關係。這種後者的“模組化”概念將每個操作分解為更小、更易於管理且通常更不復雜的單個函式,從而實現開發和測試活動的隔離(Williams & Sawyer,第 507-508 頁)。Williams & Sawyer 提供了一份清單,其中包含在確定模組化時應牢記的考慮因素或規則,例如將每個模組保持在可管理的範圍內;每個模組都具有獨立於其他模組的單個功能;確保輸入和輸出函式在“獨立的模組中清晰定義”;具有單個入口和出口點;並確保控制返回到“……呼叫它的‘點’……”第一個模組(第 509 頁)。

總之,在程式設計步驟中確定程式邏輯時,“結構化程式設計採用自上而下的方法,將程式分解為模組化形式”。“稱為控制結構的標準邏輯工具”也被使用,將在下一節中更詳細地討論,下一節將探討如何確定設計細節(Williams & Sawyer,第 508 頁)。

設計細節:流程圖、頁面佈局和故事板

[編輯 | 編輯原始碼]

在設計網站時,流程圖用於描述網站中的頁面如何相互關聯。流程圖基本上是網站結構的地圖。它使用單個框來表示每個網頁,框之間的線顯示網站的一致組織。

三種控制結構

[編輯 | 編輯原始碼]

控制結構分為三組

  1. 順序控制結構
  2. 選擇控制結構
  3. 迭代控制結構

順序控制結構是最重要的結構。它的目的是按順序(一個接一個地)執行動作。在所有控制結構中都可以使用邏輯運算子,如(或、且、非)或關係(=、<、>、<=.=>,< >)。

選擇控制結構允許演算法做出決策或進行選擇。根據條件或多個條件是否滿足,執行或省略該過程。條件是一個表示式,它返回一個真值或假值,以便演算法做出決策。

結構-“If”:它由一個條件或也稱為邏輯表示式指定,該條件或邏輯表示式可以為真或假。演算法始終從兩種方式中選擇一種。

結構-“Case”:它用於解決選擇方案數量大於兩個的情況。根據表示式的值,可以取不同的 X 值,並且只能執行其中一個值。

在迭代控制結構中,有必要多次執行一條指令或一組指令,以便解決某些問題。在某些情況下,重複次數是已知的,但在其他情況下,重複次數取決於在問題解決過程中發生的變數的計算。

Do Until
在此結構中,滿足條件並在每次執行後進行評估。因此,條件至少執行一次,並且只要條件保持為假,它就會重複。已知互動次數,但始終大於 0。
Do while
此結構與 Do until 結構相反。當條件保持為真時,重複執行操作。如果條件為假,則無法生成執行或操作的執行將停止生產。

進一步閱讀

[編輯 | 編輯原始碼]
華夏公益教科書