順序結(jié)構(gòu)
順序結(jié)構(gòu)(英語:Sequential structure)是指表明程序中所有操作都按其出現(xiàn)的順序執(zhí)行的結(jié)構(gòu)。它是三種類型的控制結(jié)構(gòu)之一。這種結(jié)構(gòu)的特點是程序從入口點開始,按順序執(zhí)行所有操作,直到出口點結(jié)束。在順序結(jié)構(gòu)中,無論程序中包含哪種結(jié)構(gòu),程序的整體過程都是順序結(jié)構(gòu),是自上而下執(zhí)行的。序列結(jié)構(gòu)是編程中最簡單、最常用的基本結(jié)構(gòu)。它是任何程序的主要基本結(jié)構(gòu),甚至在選擇結(jié)構(gòu)或循環(huán)結(jié)構(gòu)中,序列結(jié)構(gòu)也經(jīng)常被用作其子結(jié)構(gòu)。
序列結(jié)構(gòu)的程序功能有限,在處理實際問題時會遇到復(fù)雜的問題,應(yīng)用序列結(jié)構(gòu)的程序無法完全解決這些問題。例如,有時需要根據(jù)某些條件是否成立進行判斷,然后根據(jù)判斷結(jié)果執(zhí)行不同的處理程序,以確定程序的執(zhí)行方向;有時需要多次重復(fù)執(zhí)行一個程序。在某些情況下,有必要使用選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。有了順序結(jié)構(gòu),程序可以按順序執(zhí)行每個動作。一個序列結(jié)構(gòu)包含幾個事件,但它們不能分支和轉(zhuǎn)移。一旦程序按順序執(zhí)行了事件,程序?qū)⒁徊揭徊降貓?zhí)行直到結(jié)束。
概念定義 編輯本段
順序結(jié)構(gòu)意味著程序中的操作是按照它們出現(xiàn)的順序執(zhí)行的。無論程序中包含哪種結(jié)構(gòu),程序的整體過程都是順序結(jié)構(gòu),自上而下執(zhí)行。序列結(jié)構(gòu)在不同編程語言中的不同表現(xiàn)如下:
C語言中的序列結(jié)構(gòu)是C語句到C程序轉(zhuǎn)換的起點。一個C程序從主入口開始,從前到后依次執(zhí)行,直到main()函數(shù)體中的語句執(zhí)行完畢,程序結(jié)束。
Java的序列結(jié)構(gòu)Java是默認的Java程序結(jié)構(gòu)。默認情況下,Java程序?qū)⒏鶕?jù)序列結(jié)構(gòu)逐步執(zhí)行程序。在Java中,序列結(jié)構(gòu)中的語句可以分為三類:表達式語句、空語句和復(fù)合語句。
Python在Python中,縮進的代碼表示它屬于上一行代碼,而縮進的代碼表示它與上一行代碼是順序關(guān)系。
歷史進程 編輯本段
高級編程語言引入了控制結(jié)構(gòu):世界上最早的高級編程語言Fortran于1954年問世,并于1957年由IBM正式推出。它的缺點是不方便設(shè)計和編寫結(jié)構(gòu)化程序。在隨后的十年中,針對不同的應(yīng)用領(lǐng)域出現(xiàn)了ALGOL60、COBOL和LISP等高級語言。直到20世紀60年代末N. Wirth教授在瑞士蘇黎世聯(lián)邦理工大學(xué)創(chuàng)立Pascal編程語言之前,Pascal是第一個系統(tǒng)體現(xiàn)結(jié)構(gòu)化編程思想的語言,其結(jié)構(gòu)控制和數(shù)據(jù)類型非常豐富。在此期間,軟件工作者追求的主要目標是設(shè)計和實現(xiàn)一種在控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)方面具有強大性能的高級語言。為了提高程序的可靠性,首先要使程序具有簡明的控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu),因此必須對程序結(jié)構(gòu)和風格施加必要的限制,并由此提出了結(jié)構(gòu)化程序設(shè)計的思想。它將程序結(jié)構(gòu)限制為三種基本結(jié)構(gòu):序列、選擇和循環(huán)。在高級語言的編程中,順序編程是編程的基礎(chǔ)。Sequence structure的程序按照程序的順序一個接一個地執(zhí)行,直到程序完成,并且對程序的進程沒有控制。
基本原理 編輯本段
線性執(zhí)行
線性執(zhí)行通常稱為順序執(zhí)行,這意味著每個程序腳本中的命令都是按照程序中列出的順序執(zhí)行的。一個應(yīng)用程序可以分成幾個程序段,每個程序段必須按一定的順序執(zhí)行。只有在執(zhí)行了前一個程序段(操作)后,才能執(zhí)行后一個程序段(操作)。例如,當計算機計算時,它總是需要先輸入用戶程序和數(shù)據(jù),然后才能計算并最終打印出結(jié)果。
無條件跳轉(zhuǎn)
無條件轉(zhuǎn)移意味著程序可以在沒有任何前提條件的情況下更改執(zhí)行順序。只要處理器執(zhí)行無條件分支指令,它就可以使程序轉(zhuǎn)到指定的目的地址,并從目的地址開始執(zhí)行指令。程序從上到下依次執(zhí)行每個可執(zhí)行語句指定的任務(wù)。這種程序結(jié)構(gòu)被稱為序列結(jié)構(gòu),但大多數(shù)實際問題不能單獨使用這種結(jié)構(gòu)來解決。在FORTRAN語句中,無條件分支語句可用于在程序執(zhí)行過程中跳過程序段。
自上而下設(shè)計
自頂向下設(shè)計技術(shù)將一個算法分解成幾個函數(shù)。自上而下的設(shè)計過程如下:將程序的整個任務(wù)分解為一系列子任務(wù);檢查每個子任務(wù),以確定是否可以進一步分解為更多的子任務(wù);重復(fù)此步驟,直到不再有子任務(wù);一旦確定了所有子任務(wù),就可以將它們寫入代碼。這個過程稱為自頂向下的設(shè)計方法。結(jié)構(gòu)化程序設(shè)計采用“自上而下,逐步細化”的設(shè)計方法。順序結(jié)構(gòu)是程序的基本結(jié)構(gòu)之一,其特點是幾個程序步驟由順序結(jié)構(gòu)組成,從上到下依次執(zhí)行。
結(jié)構(gòu)化程序設(shè)計
結(jié)構(gòu)化程序設(shè)計也稱為結(jié)構(gòu)化程序設(shè)計,包括三種重要的控制結(jié)構(gòu):序列結(jié)構(gòu)、選擇結(jié)構(gòu)(也稱為分支結(jié)構(gòu))和循環(huán)結(jié)構(gòu)。其中,序列結(jié)構(gòu)是在程序語句序列中執(zhí)行以完成相應(yīng)的功能。序列結(jié)構(gòu)是最簡單、最基本的程序結(jié)構(gòu),是所有復(fù)雜程序設(shè)計的基礎(chǔ)和組成部分。通常,實際應(yīng)用的結(jié)構(gòu)要比序列結(jié)構(gòu)復(fù)雜得多,但序列結(jié)構(gòu)是復(fù)雜程序的基礎(chǔ)和支柱。
控制結(jié)構(gòu) 編輯本段
選擇結(jié)構(gòu)
選擇結(jié)構(gòu)可以根據(jù)表達式的值選擇并執(zhí)行程序中的一組語句。換句話說,選擇結(jié)構(gòu)可以控制程序中的語句在滿足某些條件時執(zhí)行,而在不滿足條件時不執(zhí)行。
循環(huán)結(jié)構(gòu)
循環(huán)結(jié)構(gòu)是指只要滿足某些條件,程序就會重復(fù)執(zhí)行,直到不再滿足這些條件。重復(fù)執(zhí)行的程序段稱為循環(huán)體。如果不希望循環(huán)體連續(xù)循環(huán),循環(huán)體中應(yīng)該有更改循環(huán)條件的語句。
循環(huán)體中有兩種循環(huán)結(jié)構(gòu):一種是當前循環(huán)結(jié)構(gòu),先判斷條件表達式的值,只要值為yes就重復(fù)執(zhí)行循環(huán)體;另一種是until循環(huán)結(jié)構(gòu),循環(huán)體執(zhí)行一次,然后判斷條件表達式的值是否為真。如果為真,循環(huán)體將重復(fù)執(zhí)行,直到條件表達式的值為假。
主要應(yīng)用 編輯本段
LabVIEW程序的應(yīng)用
LabVIEW程序的運行依賴于程序中的順序數(shù)據(jù)流,而其他文本編程語言(如C語言)是根據(jù)代碼的順序進行編譯和執(zhí)行的。利用數(shù)據(jù)節(jié)點之間的數(shù)據(jù)流連接來實現(xiàn)程序的順序操作。此外,LabVIEW提供了圖形化的序列結(jié)構(gòu)來實現(xiàn)模塊代碼的順序執(zhí)行,包括兩種序列結(jié)構(gòu):平鋪序列結(jié)構(gòu)和級聯(lián)序列結(jié)構(gòu)。
在VBA的應(yīng)用
順序結(jié)構(gòu)是每個句子按照出現(xiàn)的順序執(zhí)行。在一般程序設(shè)計語言中,序列結(jié)構(gòu)的語句主要是賦值語句、輸入/輸出語句等。在VBA中,有用于人機交互的輸入函數(shù)InputBox()和輸出函數(shù)MsgBox()。
計算機應(yīng)用場景中的應(yīng)用
序列結(jié)構(gòu)是計算機程序執(zhí)行控制流的三種基本結(jié)構(gòu)之一。在編程中,序列結(jié)構(gòu)還用于需要以線性方式執(zhí)行語句的各種場景。例如計算一系列數(shù)字的總和、從文件或用戶讀取輸入數(shù)據(jù)、將輸出數(shù)據(jù)寫入文件或控制臺以及執(zhí)行數(shù)學(xué)計算。序列結(jié)構(gòu)是常用的文件物理組織形式之一。文件的物理結(jié)構(gòu)決定了如何將記錄或字節(jié)保存到存儲設(shè)備的物理塊中。使用序列結(jié)構(gòu)的優(yōu)點是訪問速度快。序列結(jié)構(gòu)是最簡單、最基本的程序控制結(jié)構(gòu),但它是程序框架的基本組成部分,任何程序文件都必須包含序列結(jié)構(gòu)。
附件列表
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。
如果您認為本詞條還有待完善,請 編輯
上一篇 Adobe Photoshop設(shè)計軟件 下一篇 shell計算機殼層