知名百科  > 所屬分類  >  其他科技   

順序結(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)系。

歷史進程 編輯本段

早期編程語言的使用:編程語言的發(fā)展主要經(jīng)歷了三個階段:機器語言、匯編語言和高級語言。機器語言中的每條指令只代表一個非常簡單的動作,一系列按順序排列的指令組成一個指令整體來完成要做的事情。這個指令整體稱為程序。大多數(shù)早期應(yīng)用程序都是部分或全部用匯編語言編寫的。匯編語言中的簡單程序是按照編程的順序一個接一個地執(zhí)行的,這是程序最基本的結(jié)構(gòu)。隨著內(nèi)存容量的增加和處理器速度的快速提高,程序變得越來越復(fù)雜,程序員轉(zhuǎn)向具有某些結(jié)構(gòu)能力的高級語言,如C、FORTRAN和COBOL。
順序結(jié)構(gòu)順序結(jié)構(gòu)

高級編程語言引入了控制結(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í)行,直到程序完成,并且對程序的進程沒有控制。

結(jié)構(gòu)化程序設(shè)計的提出:序列結(jié)構(gòu)是結(jié)構(gòu)化程序設(shè)計的一部分,結(jié)構(gòu)化程序設(shè)計的概念最早是由荷蘭科學(xué)家E.W.Dijikstra提出的。早在1965年,他就指出任何程序都可以由序列、選擇和循環(huán)三種基本控制結(jié)構(gòu)組成。1966年,Boehm和Jacopini證明了“任何單入口和單出口程序都可以僅通過三種基本控制結(jié)構(gòu)來實現(xiàn)”。Boehm和Jacopini的證明為結(jié)構(gòu)化程序設(shè)計技術(shù)奠定了理論基礎(chǔ)。1968年,E.W.Dijkstra給COMM.ACM雜志編輯部寫了一封信,指出了在語言中使用goto所帶來的問題,由此引發(fā)了關(guān)于是否在編程語言中使用goto的討論。1974年,D.Gries教授將結(jié)構(gòu)程序設(shè)計現(xiàn)有的不同解釋分為13種。如今,序列結(jié)構(gòu)作為編程中最簡單、最常用的基本結(jié)構(gòu),是任何程序的主要基本結(jié)構(gòu),被廣泛應(yīng)用于C語言、Java、Python等各種編程語言中。

基本原理 編輯本段

線性執(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)。

附件列表


0

詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。

如果您認為本詞條還有待完善,請 編輯

上一篇 Adobe Photoshop設(shè)計軟件    下一篇 shell計算機殼層

同義詞

暫無同義詞
主站蜘蛛池模板: 翁情难自禁无删减版电影| 久久久久999| 日韩在线一区二区三区免费视频| 和僧侣的交行之夜樱花| 99久9在线|免费| 日本簧片在线观看| 亚洲香蕉在线观看| 黄色成人在线网站| 奇米影视777me| 亚欧成人中文字幕一区| 精品久久久久久久久午夜福利| 国产精品亚洲а∨无码播放不卡| 久99久精品免费视频热77| 欧美黑人乱大交ⅹxxxxx| 国产乱子伦农村xxxx| 97精品免费视频| 日本a级片免费看| 亚洲欧美小视频| 色吊丝av中文字幕| 国产精品毛片大码女人| 中文字幕一区二区三区精彩视频 | 精品久久久久久久久久中文字幕| 国产精品久久福利网站| 一本色道无码道dvd在线观看| 欧美一级日韩一级| 免费观看亚洲人成网站| 黑人又大又硬又粗再深一点| 大香伊蕉国产av| 久久99精品久久久久久噜噜 | 中文字幕人妻偷伦在线视频| 欧美成人精品高清在线观看 | 国产V亚洲V天堂A无码| 18禁裸体动漫美女无遮挡网站| 成人国产一区二区三区精品| 亚洲av色影在线| 熟女性饥渴一区二区三区| 国产三级在线电影| 2021国产精品露脸在线| 好男人社区神马在线观看www| 久久成人免费电影| 欧美高清在线精品一区|