結構化的(structured)和非結構化程序設計(unstructured programming)的區別
計算機程序是計算機執行用編程語言編寫的任務的一組指令。編程範例可以根據語言特性對編程語言進行分類。結構化編程和非結構化編程是兩種常見的編程範式。結構化和非結構化編程的關鍵區別在於,結構化編程允許程序員將整個程序劃分為模塊或函數,而在非結構化編程中,代碼是作為一個塊編寫的。
目錄
1. 概述和主要區別
2. 什麼是結構化編程
3. 什麼是非結構化編程
4. 結構化與非結構化編程的相似性
5. 並列比較-表格形式的結構化與非結構化編程
6. 摘要
什麼是結構化程序設計(structured programming)?
在結構化程序設計中,代碼被分成函數或模塊。它也被稱為模塊化編程。模塊或函數是一組執行子任務的語句。由於每個任務都是一個單獨的模塊,所以程序員很容易進行測試和調試。也很容易在不改變整個程序的情況下進行修改。當更改代碼時,程序員只需專注於特定的模塊。C語言和Pascal是一些結構化編程語言的例子。
像C這樣的編程語言可以使用用戶定義的函數。函數由主程序調用。函數中的變量稱為局部變量,全局變量可以被所有函數訪問。結構化編程語言也使用選擇(if/else)和迭代(for/do,while)。圖01中的程序顯示了使用結構化編程語言C的函數。程序是使用代碼塊開發環境編寫和執行的。
什麼是非結構化程序設計(unstructured programming)?
在非結構化編程中,代碼是作為一個整體編寫的。整個程序被視為一個單元。在程序中進行更改比較困難。這個範例在BASIC、COBOL和FORTRAN的早期版本中使用過。非結構化編程語言具有有限數量的數據類型,如數字、數組、字符串。
什麼是結構化與非結構化程序設計的相似性(the similarity between structured and unstructured programming)?
- 兩者都是編程範例。
結構化的(structured)和非結構化程序設計(unstructured programming)的區別
結構化與非結構化編程 | |
結構化編程是一種將代碼劃分為模塊或函數的編程範式。 | 非結構化編程是將代碼視為單個塊的範例。 |
可讀性 | |
基於結構化編程的程序易於閱讀。 | 基於非結構化編程的程序很難閱讀。 |
目的 | |
結構化編程是為了使代碼更高效、更易於理解。 | 非結構化程序設計正是為了解決這個問題。它不創建邏輯結構。 |
複雜性 | |
有了模塊,結構化編程更容易。 | 與結構化程序設計相比,非結構化程序設計更加困難。 |
應用 | |
結構化編程可用於中小型項目。 | 非結構化程序設計不適用於中等和複雜的項目。 |
修改 | |
在結構化編程中進行更改很容易。 | 在非結構化編程中很難進行修改。 |
數據類型 | |
結構化編程使用許多數據類型。 | 非結構化編程的數據類型有限。 |
代碼複製 | |
結構化編程避免了代碼重複。 | 非結構化編程可能會有代碼重複。 |
測試和調試 | |
在結構化編程中很容易進行測試和調試。 | 在非結構化程序設計中很難進行測試和調試。 |
總結 - 結構化的(structured) vs. 非結構化程序設計(unstructured programming)
結構化和非結構化編程是編程的兩種範式。結構化編程與非結構化編程的區別在於,結構化編程語言允許程序員將整個程序劃分為模塊或函數,而在非結構化編程中,程序是作為一個單獨的塊編寫的。結構化編程語言是現代語言,非結構化語言是最早的編程語言版本。
下載結構化與非結構化編程的pdf版本
你可以下載這篇文章的PDF版本,並按照引文說明離線使用。請在這裡下載非結構化PDF和非結構化編程的區別