結構化的(structured)和非結構化程式設計(unstructured programming)的區別

計算機程式是計算機執行用程式語言編寫的任務的一組指令。程式設計範例可以根據語言特性對程式語言進行分類。結構化程式設計和非結構化程式設計是兩種常見的程式設計正規化。結構化和非結構化程式設計的關鍵區別在於,結構化程式設計允許程式設計師將整個程式劃分為模組或函式,而在非結構化程式設計中,程式碼是作為一個塊編寫的。...

結構化的(structured)和非結構化程序設計(unstructured programming)的區別

計算機程序是計算機執行用編程語言編寫的任務的一組指令。編程範例可以根據語言特性對編程語言進行分類。結構化編程和非結構化編程是兩種常見的編程範式。結構化和非結構化編程的關鍵區別在於,結構化編程允許程序員將整個程序劃分為模塊或函數,而在非結構化編程中,代碼是作為一個塊編寫的。

目錄

1. 概述和主要區別
2. 什麼是結構化編程
3. 什麼是非結構化編程
4. 結構化與非結構化編程的相似性
5. 並列比較-表格形式的結構化與非結構化編程
6. 摘要

什麼是結構化程序設計(structured programming)?

在結構化程序設計中,代碼被分成函數或模塊。它也被稱為模塊化編程。模塊或函數是一組執行子任務的語句。由於每個任務都是一個單獨的模塊,所以程序員很容易進行測試和調試。也很容易在不改變整個程序的情況下進行修改。當更改代碼時,程序員只需專注於特定的模塊。C語言和Pascal是一些結構化編程語言的例子。

結構化的(structured)和非結構化編程(unstructured programming)的區別

圖01:使用C程序的函數

像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和非結構化編程的區別

引用
  • 發表於 2020-10-24 05:09
  • 閱讀 ( 75 )
  • 分類:科技

你可能感興趣的文章

異構化(isomerization)和氫化異構化(hydroisomerization)的區別

...與加氫異構化的關鍵區別在於,異構化是指一種化合物的結構轉化為其異構結構,而加氫異構化是透過烯烴中間體將一種異構體轉化為另一種烷烴異構體 異構體是具有相同化學式但化學結構不同的化合物。有幾種不同形式的異...

  • 發佈於 2020-09-25 23:35
  • 閲讀 ( 47 )

大資料(big data)和物聯網(internet of things)的區別

...、裝置和連通性。 大資料是大量複雜的資料。它可以是結構化、半結構化或非結構化資料。分析大資料有幾個優點,因為它們可以做出更好的決策、降低成本、提高運營效率和降低業務風險。另一方面,物聯網是一種新興的技...

  • 發佈於 2020-10-18 11:27
  • 閲讀 ( 81 )

關係資料庫管理系統(rdbms)和hadoop公司(hadoop)的區別

RDBMS和Hadoop的關鍵區別在於RDBMS儲存結構化資料,而Hadoop儲存結構化、半結構化和非結構化資料。 關係資料庫管理系統是一個基於關係模型的資料庫管理系統。Hadoop是一種用於在商品硬體叢集上儲存資料和執行應用程式的軟體...

  • 發佈於 2020-10-18 19:15
  • 閲讀 ( 50 )

實證主義(positivism)和解釋主義(interpretivism)的區別

...的一種方法。在研究中,實證主義者更喜歡定量方法,如結構化問卷調查、社會調查和官方統計。此外,實證主義者認為社會科學和自然科學一樣科學。他們在研究中使用的科學方法包括產生理論和假設,然後使用直接觀察或實...

  • 發佈於 2020-10-25 02:30
  • 閲讀 ( 760 )

敘事科學讓機器人作家開始創作非結構化的故事

...等資料集自動生成故事的科學,它已經將目光轉向了“非結構化”資料,如推特訊息列表。在最新的專案中,它將工具設定為捕捉和標記總統候選人的資訊,然後根據結果自動生成一個故事。下麵是這篇文章的一個例子,題為“...

  • 發佈於 2021-04-21 09:01
  • 閲讀 ( 31 )

水晶報告(crystal reports)和網路智慧(web intelligence)的區別

...視現有報告的使用者等等。 Crystal Reports的功能支援高度結構化的報告,這些報告是畫素完美的,通常需要列印或匯出為PDF文件。有一些工具可以從多個源中提取資料,並根據已定義的引數返回結果。Crystal Reports透過SDK允許將這...

  • 發佈於 2021-06-23 05:27
  • 閲讀 ( 53 )

大資料(big data)和雲端計算(cloud computing)的區別

大資料 大資料只是表示大量的資料集,無論是結構化的還是非結構化的,都可以進一步處理以提取資訊。網際網路上每秒都會產生大量的資料,一臺機器不足以處理各種格式的資料。它為潛在的企業主提供了敏銳的洞察力,然...

  • 發佈於 2021-06-25 02:58
  • 閲讀 ( 51 )

物聯網(iot)和大資料(big data)的區別

...稱為大資料。使用傳統的軟體技術分析和處理如此龐大的結構化和非結構化資料幾乎是不可能的。這不僅僅是一個大小問題;大資料是一個在新的和新興的資料和內容型別中發現見解的機會,這些資料和內容可以導致更好的決策...

  • 發佈於 2021-06-26 10:04
  • 閲讀 ( 32 )

hadoop軟體(hadoop)和火花(spark)的區別

...adoop檔案系統(HDFS)是一種經濟高效的方法,可以將大量結構化和非結構化資料儲存在一個地方,以便進行深入分析。Hadoop的每TB成本遠低於其他廣泛用於維護企業資料倉儲的資料管理技術的成本。另一方面,Spark在成本效率方...

  • 發佈於 2021-06-26 10:55
  • 閲讀 ( 43 )

hadoop軟體(hadoop)和資料庫(mongodb)的區別

...力是巨大的。為瞭解決這個問題,需要專門為處理大型非結構化資料而設計的新的和改進的大資料解決方案。在眾多技術中,在儲存和處理大資料方面,Hadoop和MongoDB是兩種流行的選擇。雖然兩者在基本上是相似的,但他們的方...

  • 發佈於 2021-06-26 10:56
  • 閲讀 ( 49 )