結(jié)構(gòu)化程序設(shè)計(jì)

結(jié)構(gòu)化程序設(shè)計(jì)(structured programming)是進(jìn)行以模塊功能和處理過程設(shè)計(jì)為主的詳細(xì)設(shè)計(jì)的基本原則。結(jié)構(gòu)化程序設(shè)計(jì)是過程式程序設(shè)計(jì)的一個(gè)子集,它對(duì)寫入的程序使用邏輯結(jié)構(gòu),使得理解和修改更有效更容易。

結(jié)構(gòu)化程序設(shè)計(jì)基本信息

中文名 結(jié)構(gòu)化程序設(shè)計(jì) 外文名 structured programming
提出人 E.W.Dijikstra 提出時(shí)間 1965年
目????的 使程序執(zhí)行效率提高 原????則 程序=(算法)+(數(shù)據(jù)結(jié)構(gòu))
基本結(jié)構(gòu) 順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)

結(jié)構(gòu)化程序設(shè)計(jì)順序結(jié)構(gòu)

順序結(jié)構(gòu)表示程序中的各操作是按照它們出現(xiàn)的先后順序執(zhí)行的。

結(jié)構(gòu)化程序設(shè)計(jì)選擇結(jié)構(gòu)

選擇結(jié)構(gòu)表示程序的處理步驟出現(xiàn)了分支,它需要根據(jù)某一特定的條件選擇其中的一個(gè)分支執(zhí)行。選擇結(jié)構(gòu)有單選擇、雙選擇和多選擇三種形式。

結(jié)構(gòu)化程序設(shè)計(jì)循環(huán)結(jié)構(gòu)

循環(huán)結(jié)構(gòu)表示程序反復(fù)執(zhí)行某個(gè)或某些操作,直到某條件為假(或?yàn)檎妫r(shí)才可終止循環(huán)。在循環(huán)結(jié)構(gòu)中最主要的是:什么情況下執(zhí)行循環(huán)?哪些操作需要循環(huán)執(zhí)行?循環(huán)結(jié)構(gòu)的基本形式有兩種:當(dāng)型循環(huán)和直到型循環(huán)。

當(dāng)型循環(huán):表示先判斷條件,當(dāng)滿足給定的條件時(shí)執(zhí)行循環(huán)體,并且在循環(huán)終端處流程自動(dòng)返回到循環(huán)入口;如果條件不滿足,則退出循環(huán)體直接到達(dá)流程出口處。因?yàn)槭?當(dāng)條件滿足時(shí)執(zhí)行循環(huán)",即先判斷后執(zhí)行,所以稱為當(dāng)型循環(huán)。

直到型循環(huán):表示從結(jié)構(gòu)入口處直接執(zhí)行循環(huán)體,在循環(huán)終端處判斷條件,如果條件不滿足,返回入口處繼續(xù)執(zhí)行循環(huán)體,直到條件為真時(shí)再退出循環(huán)到達(dá)流程出口處,是先執(zhí)行后判斷。因?yàn)槭?直到條件為真時(shí)為止",所以稱為直到型循環(huán)。

結(jié)構(gòu)化程序設(shè)計(jì)造價(jià)信息

市場(chǎng)價(jià) 信息價(jià) 詢價(jià)
材料名稱 規(guī)格/型號(hào) 市場(chǎng)價(jià)
(除稅)
工程建議價(jià)
(除稅)
行情 品牌 單位 稅率 供應(yīng)商 報(bào)價(jià)日期
斷開位置鑰匙鎖(程序鎖)分閘鎖 二鎖一匙cxs-2 查看價(jià)格 查看價(jià)格

南冠

臺(tái) 13% 廣東南冠電氣有限公司
斷開位置鑰匙鎖(程序鎖)分閘鎖 四鎖三匙cxs-4 查看價(jià)格 查看價(jià)格

南冠

臺(tái) 13% 廣東南冠電氣有限公司
斷開位置鑰匙鎖(程序鎖)分閘鎖 五鎖三匙cxs-5 查看價(jià)格 查看價(jià)格

南冠

臺(tái) 13% 廣東南冠電氣有限公司
斷開位置鑰匙鎖(程序鎖)分閘鎖 三鎖兩匙cxs-3 查看價(jià)格 查看價(jià)格

南冠

臺(tái) 13% 廣東南冠電氣有限公司
機(jī)械程序 品種:斷路器附件;系列:CV1-24;類型:手車式;規(guī)格:二進(jìn)一; 查看價(jià)格 查看價(jià)格

常熟開關(guān)

個(gè) 13% 上海西屋開關(guān)有限公司
機(jī)械程序 品種:斷路器附件;系列:CV2-24;規(guī)格:二進(jìn)一; 查看價(jià)格 查看價(jià)格

常熟開關(guān)

個(gè) 13% 上海西屋開關(guān)有限公司
機(jī)械程序 品種:斷路器附件;系列:CV1-40.5;規(guī)格:二鎖一鑰匙; 查看價(jià)格 查看價(jià)格

常熟開關(guān)

個(gè) 13% 上海西屋開關(guān)有限公司
機(jī)械程序 品種:斷路器附件;系列:CV1-40.5;規(guī)格:三鎖二鑰匙; 查看價(jià)格 查看價(jià)格

常熟開關(guān)

個(gè) 13% 上海西屋開關(guān)有限公司
材料名稱 規(guī)格/型號(hào) 除稅
信息價(jià)
含稅
信息價(jià)
行情 品牌 單位 稅率 地區(qū)/時(shí)間
結(jié)構(gòu) 雙組份 查看價(jià)格 查看價(jià)格

L 汕頭市2016年1季度信息價(jià)
結(jié)構(gòu) 雙組份 查看價(jià)格 查看價(jià)格

L 汕頭市澄海區(qū)2016年1季度信息價(jià)
結(jié)構(gòu) 雙組份 查看價(jià)格 查看價(jià)格

L 汕頭市2015年4季度信息價(jià)
結(jié)構(gòu) 雙組份 查看價(jià)格 查看價(jià)格

L 汕頭市2015年3季度信息價(jià)
結(jié)構(gòu) 雙組份 查看價(jià)格 查看價(jià)格

L 汕頭市澄海區(qū)2015年2季度信息價(jià)
結(jié)構(gòu) 雙組份 查看價(jià)格 查看價(jià)格

L 汕頭市南澳縣2015年2季度信息價(jià)
結(jié)構(gòu) 雙組份 查看價(jià)格 查看價(jià)格

L 汕頭市2015年1季度信息價(jià)
結(jié)構(gòu) 雙組份 查看價(jià)格 查看價(jià)格

L 汕頭市南澳縣2014年4季度信息價(jià)
材料名稱 規(guī)格/需求量 報(bào)價(jià)數(shù) 最新報(bào)價(jià)
(元)
供應(yīng)商 報(bào)價(jià)地區(qū) 最新報(bào)價(jià)時(shí)間
上位機(jī)程序設(shè)計(jì)及編寫 思特設(shè)計(jì)|1套 1 查看價(jià)格 珠海思特自動(dòng)化系統(tǒng)工程有限公司    2014-04-24
視頻結(jié)構(gòu)化軟件授權(quán) 對(duì)應(yīng)1路視頻結(jié)構(gòu)化授權(quán)許可|200路 1 查看價(jià)格 廣州帝視尼電子科技有限公司 廣東   2019-10-30
(1)名稱:精準(zhǔn)能效監(jiān)測(cè)程序設(shè)計(jì) 詳見附件|1套 1 查看價(jià)格 開利空調(diào)銷售服務(wù)(上海)有限公司 全國   2021-12-06
結(jié)構(gòu)化相機(jī) 800萬像素|1臺(tái) 1 查看價(jià)格 北京曠視科技有限公司 全國   2021-03-29
結(jié)構(gòu)化算法Licence 數(shù)據(jù)源,實(shí)現(xiàn)實(shí)時(shí)布控告警,結(jié)構(gòu)化分析.包括以下算法授權(quán):1)視頻、圖片全目標(biāo)結(jié)構(gòu)化授權(quán);2)人臉識(shí)別算法授權(quán);3)車輛識(shí)別算法授權(quán).|239路 1 查看價(jià)格 廣州市熹尚科技設(shè)備有限公司 全國   2021-05-27
下位機(jī)PLC程序設(shè)計(jì)及編程 思特設(shè)計(jì)|1套 1 查看價(jià)格 珠海思特自動(dòng)化系統(tǒng)工程有限公司    2014-04-24
結(jié)構(gòu)化槍機(jī) 臉、人體、車輛混行檢測(cè)與抓拍;支持人臉/人體/車輛多種結(jié)構(gòu)化信息同時(shí)提取;支持GB/T 28181-2016、GA/T 1400-2017等國家及行業(yè)標(biāo)準(zhǔn)支持多碼率的編碼、傳輸,其中至少1路具有108OP及以上雙碼流的輸出能力通過國家和公安部認(rèn)可的第三方檢測(cè)機(jī)構(gòu)檢測(cè)|2臺(tái) 1 查看價(jià)格 深圳市杰智通科技有限公司 全國   2022-04-08
視頻結(jié)構(gòu)化系統(tǒng) 智能分析單元,可實(shí)現(xiàn) 車輛信息以及活動(dòng)目標(biāo)特征的結(jié)構(gòu)化提取 4)需含至少6×2TB企業(yè)級(jí)3.5寸硬盤,6×4TB企業(yè)級(jí)3.5寸硬盤; 軟件要求: 1.可實(shí)現(xiàn)視頻中車輛和活動(dòng)目標(biāo)的結(jié)構(gòu)化信 息提取,提取|1項(xiàng) 3 查看價(jià)格 浙江大華技術(shù)股份有限公司成都分公司 四川  成都市 2018-03-21

結(jié)構(gòu)化程序設(shè)計(jì)自頂向下

程序設(shè)計(jì)時(shí),應(yīng)先考慮總體,后考慮細(xì)節(jié);先考慮全局目標(biāo),后考慮局部目標(biāo)。不要一開始就過多追求眾多的細(xì)節(jié),先從最上層總目標(biāo)開始設(shè)計(jì),逐步使問題具體化。

結(jié)構(gòu)化程序設(shè)計(jì)逐步細(xì)化

對(duì)復(fù)雜問題,應(yīng)設(shè)計(jì)一些子目標(biāo)作為過渡,逐步細(xì)化。

結(jié)構(gòu)化程序設(shè)計(jì)模塊化

一個(gè)復(fù)雜問題,肯定是由若干稍簡單的問題構(gòu)成。模塊化是把程序要解決的總目標(biāo)分解為子目標(biāo),再進(jìn)一步分解為具體的小目標(biāo),把每一個(gè)小目標(biāo)稱為一個(gè)模塊。

限制使用goto語句 結(jié)構(gòu)化程序設(shè)計(jì)方法的起源來自對(duì)GOTO語句的認(rèn)識(shí)和爭論??隙ǖ慕Y(jié)論是,在塊和進(jìn)程的非正常出口處往往需要用GOTO語句,使用GOTO語句會(huì)使程序執(zhí)行效率較高;在合成程序目標(biāo)時(shí),GOTO語句往往是有用的,如返回語句用GOTO。否定的結(jié)論是,GOTO語句是有害的,是造成程序混亂的禍根,程序的質(zhì)量與GOTO語句的數(shù)量呈反比,應(yīng)該在所有高級(jí)程序設(shè)計(jì)語言中取消GOTO語句。取消GOTO語句后,程序易于理解、易于排錯(cuò)、容易維護(hù),容易進(jìn)行正確性證明。作為爭論的結(jié)論,1974年Knuth發(fā)表了令人信服的總結(jié),并證實(shí)了:

(1)GOTO語句確實(shí)有害,應(yīng)當(dāng)盡量避免;

(2)完全避免使用GOTO語句也并非是個(gè)明智的方法,有些地方使用GOTO語句,會(huì)使程序流程更清楚、效率更高;

(3)爭論的焦點(diǎn)不應(yīng)該放在是否取消GOTO語句上,而應(yīng)該放在用什么樣的程序結(jié)構(gòu)上。其中最關(guān)鍵的是,應(yīng)在以提高程序清晰性為目標(biāo)的結(jié)構(gòu)化方法中限制使用GOTO語句。

結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)化編碼

所謂編碼就是把已經(jīng)設(shè)計(jì)好的算法用計(jì)算機(jī)語言表示,即根據(jù)已經(jīng)細(xì)化的算法正確寫出計(jì)算機(jī)程序。結(jié)構(gòu)化的語言(如 Pascal,C,QBASIC等)都有與三種基本結(jié)構(gòu)對(duì)應(yīng)的語句。

“面向結(jié)構(gòu)”的程序設(shè)計(jì)方法即結(jié)構(gòu)化程序設(shè)計(jì)方法, 是“面向過程”方法的改進(jìn), 結(jié)構(gòu)上將軟件系統(tǒng)劃分為若干功能模塊, 各模塊按要求單獨(dú)編程, 再由各模塊連接, 組合構(gòu)成相應(yīng)的軟件系統(tǒng)。 該方法強(qiáng)調(diào)程序的結(jié)構(gòu)性, 所以容易做到易讀, 易懂。 該方法思路清晰, 做法規(guī)范, 深受設(shè)計(jì)者青睞。

結(jié)構(gòu)化程序設(shè)計(jì)(STRUCTURED PROGRAMING,簡稱SP)思想是最早由E.W.Dijikstra在1965年提出的,結(jié)構(gòu)化程序設(shè)計(jì)思想確實(shí)使程序執(zhí)行效率提高 。程序的出錯(cuò)率和維護(hù)費(fèi)用大大減少結(jié)構(gòu)程序設(shè)計(jì)就是一種進(jìn)行程序設(shè)計(jì)的原則和方法,按照這種原則和方法可設(shè)計(jì)出結(jié)構(gòu)清晰、容易理解、容易修改、容易驗(yàn)證的程序結(jié)構(gòu)化程序設(shè)計(jì)的目標(biāo)在于使程序具有一個(gè)合理結(jié)構(gòu),以保證和驗(yàn)證程序的正確性,從而開發(fā)出正確、合理的程序。

結(jié)構(gòu)化程序設(shè)計(jì)常見問題

  • 結(jié)構(gòu)化程序設(shè)計(jì)原則

    結(jié)構(gòu)化程序設(shè)計(jì)(structured programming)是進(jìn)行以模塊功能和處理過程設(shè)計(jì)為主的詳細(xì)設(shè)計(jì)的基本原則。結(jié)構(gòu)化程序設(shè)計(jì)是過程式程序設(shè)計(jì)的一個(gè)子集,它對(duì)寫入的程序使用邏輯結(jié)構(gòu),使得理解和修...

  • 結(jié)構(gòu)化程序設(shè)計(jì) 和 面向?qū)ο蟪绦蛟O(shè)計(jì)

    我來個(gè)你舉個(gè)例子比如和樓上一樣的 蓋房子所謂結(jié)構(gòu)化的蓋法 就是把你要蓋的房子拆成房間、大廳、廁所、廚房,然后分別交給4個(gè)人去設(shè)計(jì),4個(gè)人設(shè)計(jì)好了,你在吧4個(gè)部分組合起來,成為你的房子如果是面向?qū)ο蟮?..

  • C語言中用于結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)是

    三種基本結(jié)構(gòu)為順序結(jié)構(gòu),選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。1、順序結(jié)構(gòu)順序結(jié)構(gòu)表示程序中的各操作是按照它們出現(xiàn)的先后順序執(zhí)行的。大多數(shù)C語言語句都是順序結(jié)構(gòu)的, 按照代碼的先后順序執(zhí)行。比如int?a;a=5;pr...

結(jié)構(gòu)化程序設(shè)計(jì)采用自頂向下、逐步求精的設(shè)計(jì)方法,各個(gè)模塊通過“順序、選擇、循環(huán)”的控制結(jié)構(gòu)進(jìn)行連接,并且只有一個(gè)入口、一個(gè)出口。

結(jié)構(gòu)化程序設(shè)計(jì)的原則可表示為:程序=(算法) (數(shù)據(jù)結(jié)構(gòu))。

算法是一個(gè)獨(dú)立的整體,數(shù)據(jù)結(jié)構(gòu)(包含數(shù)據(jù)類型與數(shù)據(jù))也是一個(gè)獨(dú)立的整體。兩者分開設(shè)計(jì),以算法(函數(shù)或過程)為主。

隨著計(jì)算機(jī)技術(shù)的發(fā)展,軟件工程師越來越注重于系統(tǒng)整體關(guān)系的表述,于是出現(xiàn)了數(shù)據(jù)模型技術(shù)(把數(shù)據(jù)結(jié)構(gòu)與算法看做一個(gè)獨(dú)立功能模塊),這便是面向?qū)ο蟪绦蛟O(shè)計(jì)的雛形。

1、軟件的重用性差

重用性是指同一事物不經(jīng)修改或稍加修改就可多次重復(fù)使用的性質(zhì)。軟件重用性是軟件工程追求的目標(biāo)之一。如果軟件的重用性較差那么軟件的造價(jià)就相對(duì)高。

2、軟件的可維護(hù)性差

軟件工程強(qiáng)調(diào)軟件的可維護(hù)性。強(qiáng)調(diào)文檔資料的重要性。規(guī)定最終的軟件產(chǎn)品應(yīng)該由完整、一致的配置成分組成。在軟件開發(fā)過程中。始終強(qiáng)調(diào)軟件的可讀性、可修改性和可測(cè)試性是軟件的重要的質(zhì)量指標(biāo)。實(shí)踐證明。用傳統(tǒng)方法開發(fā)出來的軟件.維護(hù)時(shí)其費(fèi)用和成本仍然很高.其原因是可修改性差.維護(hù)困難。導(dǎo)致可維護(hù)性差。

3、開發(fā)出的軟件不能真正滿足用戶需要

結(jié)構(gòu)化方法開發(fā)大型軟件系統(tǒng)涉及各種不同領(lǐng)域的知識(shí)。在開發(fā)需求模糊或需求動(dòng)態(tài)變化的系統(tǒng)時(shí).所開發(fā)出的軟件系統(tǒng)往往不能真正滿足用戶的需要。

結(jié)構(gòu)化程序設(shè)計(jì)特點(diǎn)

結(jié)構(gòu)化程序中的任意基本結(jié)構(gòu)都具有唯一入口和唯一出口,并且程序不會(huì)出現(xiàn)死循環(huán)。在程序的靜態(tài)形式與動(dòng)態(tài)執(zhí)行流程之間具有良好的對(duì)應(yīng)關(guān)系。

結(jié)構(gòu)化程序設(shè)計(jì)優(yōu)點(diǎn)

由于模塊相互獨(dú)立,因此在設(shè)計(jì)其中一個(gè)模塊時(shí),不會(huì)受到其它模塊的牽連,因而可將原來較為復(fù)雜的問題化簡為一系列簡單模塊的設(shè)計(jì)。模塊的獨(dú)立性還為擴(kuò)充已有的系統(tǒng)、建立新系統(tǒng)帶來了不少的方便,因?yàn)槲覀兛梢猿浞掷矛F(xiàn)有的模塊作積木式的擴(kuò)展。

按照結(jié)構(gòu)化程序設(shè)計(jì)的觀點(diǎn),任何算法功能都可以通過由程序模塊組成的三種基本程序結(jié)構(gòu)的組合:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)來實(shí)現(xiàn)。

結(jié)構(gòu)化程序設(shè)計(jì)的基本思想是采用"自頂向下,逐步求精"的程序設(shè)計(jì)方法和“單入口單出口”的控制結(jié)構(gòu)。自頂向下、逐步求精的程序設(shè)計(jì)方法從問題本身開始,經(jīng)過逐步細(xì)化,將解決問題的步驟分解為由基本程序結(jié)構(gòu)模塊組成的結(jié)構(gòu)化程序框圖;“單入口單出口”的思想認(rèn)為一個(gè)復(fù)雜的程序,如果它僅是由順序、選擇和循環(huán)三種基本程序結(jié)構(gòu)通過組合、嵌套構(gòu)成,那么這個(gè)新構(gòu)造的程序一定是一個(gè)單入口單出口的程序。據(jù)此就很容易編寫出結(jié)構(gòu)良好、易于調(diào)試的程序來。

①整體思路清楚,目標(biāo)明確。

②設(shè)計(jì)工作中階段性非常強(qiáng),有利于系統(tǒng)開發(fā)的總體管理和控制。

③在系統(tǒng)分析時(shí)可以診斷出原系統(tǒng)中存在的問題和結(jié)構(gòu)上的缺陷。

結(jié)構(gòu)化程序設(shè)計(jì)缺點(diǎn)

①用戶要求難以在系統(tǒng)分析階段準(zhǔn)確定義,致使系統(tǒng)在交付使用時(shí)產(chǎn)生許多問題。

②用系統(tǒng)開發(fā)每個(gè)階段的成果來進(jìn)行控制,不能適應(yīng)事物變化的要求。

③系統(tǒng)的開發(fā)周期長。2100433B

結(jié)構(gòu)化程序設(shè)計(jì)文獻(xiàn)

結(jié)構(gòu)化程序設(shè)計(jì)在挖掘機(jī)中的應(yīng)用 結(jié)構(gòu)化程序設(shè)計(jì)在挖掘機(jī)中的應(yīng)用

格式:pdf

大?。?span id="sn6gehc" class="single-tag-height">172KB

頁數(shù): 3頁

評(píng)分: 4.7

針對(duì)目前工程機(jī)械產(chǎn)品越來越豐富,控制邏輯越來越復(fù)雜的情況,需要使用結(jié)構(gòu)化程序設(shè)計(jì)。本文以24t挖掘機(jī)為例,對(duì)常用功能進(jìn)行標(biāo)準(zhǔn)化、模塊化,減少重復(fù)勞動(dòng),而且程序的可讀性更好、更容易理解,也便于程序分工管理。最后將模塊化編程實(shí)際應(yīng)用到挖掘機(jī)控制系統(tǒng)中,取得了不錯(cuò)的應(yīng)用效果。

立即下載

結(jié)構(gòu)化程序設(shè)計(jì)提出的原則可以歸納為32個(gè)字:自頂向下,逐步細(xì)化;清晰第一,效率第二;書寫規(guī)范,縮進(jìn)格式;基本結(jié)構(gòu),組合而成。

底層的結(jié)構(gòu)化程序設(shè)計(jì)

結(jié)構(gòu)化的程序是以一些簡單、有層次的程序流程架構(gòu)所組成,可分為順序(sequence)、選擇(selection)及循環(huán)(repetition)。

● 順序是指程序正常的執(zhí)行方式,執(zhí)行完一個(gè)指令后,執(zhí)行后面的指令。

● 選擇結(jié)構(gòu)顧名思義,當(dāng)程序到了一定的處理過程時(shí),遇到了很多分支,無法按直線走下去,它需要根據(jù)某一特定選擇結(jié)構(gòu)表示程序的處理步驟出現(xiàn)了分支,它需要根據(jù)某一特定的條件選擇其中的一個(gè)分支執(zhí)行,選擇結(jié)構(gòu)有單選擇、雙選擇和多選擇三種形式。

● 不斷的重復(fù),被稱作循環(huán),所以這里的循環(huán)結(jié)構(gòu)通常就是用來表示反復(fù)執(zhí)行一個(gè)程序或某些操作的過程,直到某條件為假(或?yàn)檎妫r(shí)才可終止循環(huán)。在循環(huán)結(jié)構(gòu)中最主要的是:什么時(shí)候可以執(zhí)行循環(huán)?出現(xiàn)哪些操作需要循環(huán)執(zhí)行?循環(huán)結(jié)構(gòu)的基本形式有兩種。當(dāng)型循環(huán)和直到型循環(huán)。

● 重用測(cè)試過代碼,如果重用別的程序中的部分越多,您自身的工作也越簡單。在面向?qū)ο笾校赜玫倪^程更為容易一些,因?yàn)榇a本身的可復(fù)用性更高。如果項(xiàng)目的任務(wù)不重,程序員之間的協(xié)作也更容易。

面向?qū)ο蟮念悗熘械念惡涂蚣苣軌驇椭鷾p輕編程任務(wù)。例如,如果您使用了蘋果公司提供的軟件框架,您就可以和蘋果公司的程序員合作。這些框架通常構(gòu)成了您的程序中比較基礎(chǔ)的部分,而您可以把精力放在您最擅長的方面,其它的事情讓類庫的開發(fā)人員去做。因此,您的項(xiàng)目可以更快的做出原型系統(tǒng),更快的完成,協(xié)作方面的問題也更少。

若一個(gè)編程語言的語法允許用成對(duì)的關(guān)鍵字包圍一段程序,形成一個(gè)結(jié)構(gòu),這種編程語言稱為有“區(qū)塊結(jié)構(gòu)”(block-structured),這類的結(jié)構(gòu)包括用ALGOL 68的if..fi包圍的程序,或是在PL/I中用BEGIN..END包圍的一段程序,或是在C語言中用大括號(hào){...}包圍的一段程序。

結(jié)構(gòu)化編程語言

用任何語言都可以進(jìn)行結(jié)構(gòu)化程序設(shè)計(jì),不過一般較常使用程序式的編程語言。早期的結(jié)構(gòu)化編程語言包括ALGOL、 Pascal、PL/I及Ada,不過后來大部份的程序式編程語言都鼓勵(lì)使用結(jié)構(gòu)化程序設(shè)計(jì),有時(shí)也會(huì)特意的省去一些特性(例如不支援goto指令)使得非結(jié)構(gòu)化的程序設(shè)計(jì)更加困難。

結(jié)構(gòu)化編程理論基礎(chǔ)

結(jié)構(gòu)化程序理論可做為結(jié)構(gòu)化編程的理論基礎(chǔ),結(jié)構(gòu)化程序理論中提到利用順序、選擇及重復(fù)這三種組合程序的方式,可以表示所有可計(jì)算函數(shù)。上述的三種結(jié)構(gòu)已足以表示CPU中的指令周期,也可以表示圖靈機(jī)的運(yùn)作,以此觀點(diǎn)來看,處理器所執(zhí)行的指令可視為是某種“結(jié)構(gòu)化程序”,雖然整個(gè)程序可能不是一個(gè)結(jié)構(gòu)化程序。一般都認(rèn)為結(jié)構(gòu)化程序理論是歸功于伯姆和賈可皮尼于1966年發(fā)表的論文,其中一個(gè)原因可能是戴克斯特拉引用過此論文。結(jié)構(gòu)化程序理論未提及如何撰寫結(jié)構(gòu)化程序,也沒有提到結(jié)構(gòu)化程序的分析,后來1960至1970年代時(shí),戴克斯特拉、羅伯特·弗洛伊德、東尼·霍爾等計(jì)算機(jī)科學(xué)家在此領(lǐng)域有許多的貢獻(xiàn)。

結(jié)構(gòu)化編程爭議

結(jié)構(gòu)化編程中一項(xiàng)重要的原則是減少甚至禁止goto指令的使用,不過不是所有計(jì)算機(jī)科學(xué)家都贊成禁止使用goto指令。高德納贊成程序設(shè)計(jì)時(shí)需考慮可讀性,但他不贊成禁用goto指令。在其1974年發(fā)表的論文《使用goto指令的結(jié)構(gòu)化編程》(Structured Programming with Goto Statements)中,他提出了一些程序,使用goto指令可以使得程序更清楚而有效率,也不會(huì)犧牲程序的可讀性。高德納提出了一個(gè)較松的結(jié)構(gòu)限制要求:將程序以流程圖表示,前進(jìn)的分支在流程圖的左側(cè),倒退的分支在流程圖的右側(cè),所有分支均不得交叉。

結(jié)構(gòu)化編程在1970年有很大的進(jìn)展,IBM的研究員哈倫·米爾斯(英語:Harlan Mills)將結(jié)構(gòu)化編程應(yīng)用在紐約時(shí)報(bào)研究檔案索引系統(tǒng)的開發(fā),此計(jì)劃相當(dāng)成功,因此許多公司開始使用結(jié)構(gòu)化編程,不過戴克斯特拉評(píng)論米爾斯使用的方式和一些已發(fā)表論文中的方式不同。

到1987年時(shí)在計(jì)算機(jī)科學(xué)領(lǐng)域仍有針對(duì)結(jié)構(gòu)化編程的爭論,弗蘭克·魯賓發(fā)表了一篇論文《“goto有害論”是有害的》(GOTO considered harmful' considered harmful),引發(fā)許多的反對(duì),戴克斯特拉本人也批評(píng)魯賓及其追隨者的論點(diǎn)。

結(jié)構(gòu)化編程影響

在二十世紀(jì)末時(shí)絕大多數(shù)的計(jì)算機(jī)科學(xué)學(xué)者均已同意使用結(jié)構(gòu)化程序設(shè)計(jì)的好處,原來缺乏程序結(jié)構(gòu)的高階編程語言(如FORTRAN、COBOL及BASIC)也都已加入此特性。

“測(cè)量程序設(shè)計(jì)”是繼程序設(shè)計(jì)語言之后進(jìn)一步提高程序設(shè)計(jì)能力的一門課程。

本書從實(shí)際應(yīng)用出發(fā),以軟件工程化的基本思想和結(jié)構(gòu)化、規(guī)范化的方法,結(jié)合測(cè)量工程的特點(diǎn)和實(shí)例,介紹軟件開發(fā)的全過程。全書除總論外共分為六章,內(nèi)容包括程序設(shè)計(jì)的基本原理、軟件的總體設(shè)計(jì)、軟件的 詳細(xì)設(shè)計(jì)、程序的編碼工作 程序的測(cè)試和調(diào)試,測(cè)量程序開發(fā)示例 。本書系大專院校測(cè)繪專業(yè)的“測(cè)量程序設(shè)計(jì)”課程的教材,也可作為學(xué)過一門程序設(shè)計(jì)語言的讀者的自學(xué)用書。

結(jié)構(gòu)化程序設(shè)計(jì)相關(guān)推薦
  • 相關(guān)百科
  • 相關(guān)知識(shí)
  • 相關(guān)專欄

最新詞條

安徽省政采項(xiàng)目管理咨詢有限公司 數(shù)字景楓科技發(fā)展(南京)有限公司 懷化市人民政府電子政務(wù)管理辦公室 河北省高速公路京德臨時(shí)籌建處 中石化華東石油工程有限公司工程技術(shù)分公司 手持無線POS機(jī) 廣東合正采購招標(biāo)有限公司 上海城建信息科技有限公司 甘肅鑫禾國際招標(biāo)有限公司 燒結(jié)金屬材料 齒輪計(jì)量泵 廣州采陽招標(biāo)代理有限公司河源分公司 高鋁碳化硅磚 博洛尼智能科技(青島)有限公司 燒結(jié)剛玉磚 深圳市東海國際招標(biāo)有限公司 搭建香蕉育苗大棚 SF計(jì)量單位 福建省中億通招標(biāo)咨詢有限公司 泛海三江 威海鼠尾草 Excel 數(shù)據(jù)處理與分析應(yīng)用大全 廣東國咨招標(biāo)有限公司 甘肅中泰博瑞工程項(xiàng)目管理咨詢有限公司 山東創(chuàng)盈項(xiàng)目管理有限公司 拆邊機(jī) 當(dāng)代建筑大師 廣西北纜電纜有限公司 大山檳榔 上海地鐵維護(hù)保障有限公司通號(hào)分公司 舌花雛菊 甘肅中維國際招標(biāo)有限公司 華潤燃?xì)猓ㄉ虾#┯邢薰? 湖北鑫宇陽光工程咨詢有限公司 GB8163標(biāo)準(zhǔn)無縫鋼管 中國石油煉化工程建設(shè)項(xiàng)目部 韶關(guān)市優(yōu)采招標(biāo)代理有限公司 莎草目 建設(shè)部關(guān)于開展城市規(guī)劃動(dòng)態(tài)監(jiān)測(cè)工作的通知 電梯平層準(zhǔn)確度 廣州利好來電氣有限公司 四川中澤盛世招標(biāo)代理有限公司