非結構化程式設計

非結構化程式設計是歷史上最早的能夠創造圖靈完備算法的程式設計模式。在它之後,歷史上又出現了結構化(過程化)程式設計、面向對象程式設計。

基本信息

非結構化程式設計是歷史上最早的能夠創造圖靈完備算法的程式設計模式。 在它之後,歷史上又出現了結構化(過程化)程式設計、面向對象程式設計。
非結構化程式設計被批評最嚴重的方面就是會產生很難讀懂的代碼(戲稱“意大利麵條”),在創建大型工程方面有時會被認為是很差的,不過,因為賦予程式設計者很大的自由,被人稱讚為如同莫扎特在譜曲。
非結構化程式設計語言既有高級語言,也有低級語言。 其中包括早期版本的BASIC(比如MSX BASIC和GW-BASIC),JOSS、FOCAL、mumps、TELCOMP、COBOL、機器語言、早期的彙編系統(不包括過程化的metaoperators)、彙編調試器和一些腳本語言(比如MS-DOS batch檔案語言)。

特點和典型概念

基本概念

一個使用非結構化語言的程式經常包含按順序排列的命令或聲明,通常每個都占用一行。 每一行都有編號或者標籤: 這樣程式中的任意行都可以被執行。
非結構化程式設計引入了基本控制流的概念,比如循環、分支和跳轉。 儘管在非結構化模式中不存在過程,不過子程式還是可以使用的。 和過程不同,子程式可能有多個入口和出口。 子程式中是允許直接跳轉入或跳轉出的。 這種靈活性可以實現協同程式,而這在過程化程式設計中是相當困難以至於不可能的。
非結構化程式設計中是沒有本地變數的概念的,不過標籤和變數可以在有限的區域中起作用,比如,線組。 這意味著在調用子程式時不需要上下文刷新,而所有的變數保持它們之前被調用後的值。 這樣,遞歸就很容易實現了。 而嵌套的深度被限制在1或2級。

數據類型

非結構化語言只允許基本的數據類型,比如數字、字元串和數組(編號的同類型的變數集合)。 儘管非結構化數據類型是被允許使用的,但是在將流數據處理前要注意先對數組定義進行聲明。

相關詞條

相關搜尋

熱門詞條

聯絡我們