版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第7講 編碼實(shí)現(xiàn),主要內(nèi)容如下: 結(jié)構(gòu)化程序設(shè)計(jì)的工具 結(jié)構(gòu)化程序設(shè)計(jì)的概念和方法,7.1 結(jié)構(gòu)化程序設(shè)計(jì)的工具,)程序框圖 )盒圖 )圖 )判定表與判定樹,1) 程序框圖又稱為程序流程圖,(a)程序注釋;(b)準(zhǔn)備;(c)預(yù)先定義的處理;(d)開始或停止; (e)輸入O出;(f)順序處理;(g)循環(huán)開始;(h)循環(huán)終止; (i)控制流;(j)并行方式;(k)選擇(分支);(l)多分支; (m)連接;(n)換頁(yè)連接;,應(yīng)用,直到現(xiàn)在,采用程序框圖的設(shè)計(jì)方法和符號(hào)體系進(jìn)行編程設(shè)計(jì)的程序員仍然十分眾多。它的主要優(yōu)點(diǎn)是對(duì)程序控制流程的直觀描述,稍做說明則易學(xué)、易懂、易用。,例子:寫一個(gè)函數(shù)計(jì)算當(dāng)參數(shù)
2、為n(n很大)時(shí)的值 1-2+3-4+5-6+7.+n,long fn(long n) long temp=0; int i,flag=1; if(n 0); exit(1); for(i=1;i=n;i+) temp=temp+flag*i; flag=(-1)*flag; return temp; ,例子:寫一個(gè)函數(shù)計(jì)算當(dāng)參數(shù)為n(n很大)時(shí)的值 1-2+3-4+5-6+7.+n,long fn(long n) if(n 0); exit(1); if(0=n%2) return (n/2)*(-1); else return (n/2)*(-1)+n; ,2)盒圖(又稱NS圖),(a)順
3、序處理; (b)IF_THEN_ELSE型選擇; (c)CASE型多分支選擇; (d)循環(huán); (e)調(diào)用子程序A,應(yīng)用,盒圖較好地表現(xiàn)了結(jié)構(gòu)化過程設(shè)計(jì)的思想: 1、特定控制結(jié)構(gòu)的作用域很明確。 2、編碼時(shí)除非故意而為,否則不可能任意轉(zhuǎn)移控制。 3、很容易確定局部和全程數(shù)據(jù)的作用域,彌補(bǔ)了程序框圖的不足。 4、通常,一個(gè)60行以下的程序,可以很直觀地表現(xiàn)為“積木”式的盒圖。,3)、PAD圖,(a)順序處理A、B、C; (b) Do While X 型循環(huán); (c)預(yù)Do Until X型循環(huán); (d)選擇(If X Then A Else B); (e)Case型多分支; (f )語句標(biāo)號(hào); (
4、g ) 定義;,應(yīng)用,PAD圖具有以下特點(diǎn): 1、PAD圖中“豎線”使得程序的結(jié)構(gòu)十分清晰。 2、使用PAD符號(hào)所設(shè)計(jì)出來的程序必然是結(jié)構(gòu)化的程序。 3、PAD圖的符號(hào)體系符合使用自頂向下、逐步求精的設(shè)計(jì)方法。對(duì)應(yīng)的文檔,也可以很好地伴隨整個(gè)工程過程,如把“定義”完全單獨(dú)編寫頁(yè)腳、替換下來的部分可以留做備忘等等。 4、自上而下,從左向右順序執(zhí)行,遍歷所有結(jié)點(diǎn)。 5、很容易將PAD圖轉(zhuǎn)換成高級(jí)語言源程序,甚至可用軟件工具自動(dòng)完成,從而可省去人工編碼的工作,有利于提高軟件可靠性和軟件生產(chǎn)率。,4) 判定表與判定樹,判定表,先選定一個(gè)條件,分成取真、假兩種邏輯值的情況下,進(jìn)一步描述其他條件取真、假兩
5、種邏輯值的情況,如此這般的遍歷所有條件,指出程序?qū)⒁獔?zhí)行的動(dòng)作。,判定樹,應(yīng)用,判定表沒有判定樹直觀,但簡(jiǎn)捷性方面可能判定表更好一些;在具體問題中,判定表或判定樹的分枝整理次序之先后,通常會(huì)對(duì)結(jié)果的簡(jiǎn)捷程度有影響很大。,程序框圖(流程圖)詳細(xì)、簡(jiǎn)約、無歧義地描述了每個(gè)模塊功能的邏輯。 在軟件開發(fā)過程中的其它階段,人們通常用界面要求、術(shù)語表、數(shù)據(jù)流圖、模塊層次圖、模塊的IPO文檔等等文檔方法來溝通目標(biāo)需求和設(shè)計(jì)思想;在詳細(xì)設(shè)計(jì)階段,這些“制品”雖然經(jīng)常被使用,但是,在“無歧義”的意義上,它們往往會(huì)因人而異;顯然,程序框圖是項(xiàng)目最后的技術(shù)性設(shè)計(jì)方案,代碼編寫將嚴(yán)格根據(jù)它來進(jìn)行。 程序框圖(與IPO
6、文檔相結(jié)合)是詳細(xì)設(shè)計(jì)階段的主要產(chǎn)品之一。,)程序設(shè)計(jì)工具的作用,6)PAD圖的一個(gè)簡(jiǎn)單應(yīng)用示例,7.2 詳細(xì)程序設(shè)計(jì)的概念,7.3 結(jié)構(gòu)化程序設(shè)計(jì)的概念和方法,面向?qū)ο?、結(jié)構(gòu)化程序設(shè)計(jì) 概念經(jīng)典的結(jié)構(gòu)化設(shè)計(jì),一個(gè)程序的代碼塊僅僅通過順序、選擇和循環(huán)這三種控制結(jié)構(gòu)進(jìn)行連接,并且每個(gè)代碼塊只有一個(gè)入口和一個(gè)出口,則稱這個(gè)程序是結(jié)構(gòu)化的。,把除使用上述三種基本控制結(jié)構(gòu)之外,還使用DO_CASE型多分支結(jié)構(gòu)和DOUNTIL型循環(huán)結(jié)構(gòu)的設(shè)計(jì)方法,稱作擴(kuò)展的結(jié)構(gòu)化設(shè)計(jì) 。 把允許使用Break(或leave)結(jié)構(gòu)的設(shè)計(jì)方法,稱為修正的結(jié)構(gòu)化設(shè)計(jì)。,取消GO TO語句;程序的質(zhì)量與程序中所包含的GO TO
7、語句的數(shù)量成反比。 1966年Bohm和Jacopini證明了只用三種基本的控制結(jié)構(gòu)就能實(shí)現(xiàn)任何單入口/單出口的程序。,編程風(fēng)格方面,7.4 詳細(xì)程序設(shè)計(jì)的應(yīng)用,由于軟件系統(tǒng)規(guī)??赡芎艽?,各類算法中含有許多常見的、慣例性的同類邏輯算法,受到工程期限、工程成本的制約,從具體的團(tuán)隊(duì)人力資源配置情況出發(fā),編碼過程中對(duì)各個(gè)部分的“詳細(xì)設(shè)計(jì)” 并不是不作分辨地、一律地進(jìn)行,而是針對(duì)較復(fù)雜的、可能有爭(zhēng)議的或有變更的算法(接口)、核心模塊進(jìn)行。,對(duì)核心模塊有所側(cè)重,對(duì)于工程管理者來說,應(yīng)該熟練掌握結(jié)構(gòu)化設(shè)計(jì)技術(shù),其重要性遠(yuǎn)遠(yuǎn)超過具體的編程技術(shù); 對(duì)于軟件團(tuán)隊(duì)成員來說,掌握規(guī)范的結(jié)構(gòu)化設(shè)計(jì)技術(shù)則成為與工程管理者和團(tuán)隊(duì)其他成員之間準(zhǔn)確溝通的基本技能,同樣十分重要; 團(tuán)隊(duì)成員之間沒
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年智能按摩控制器項(xiàng)目公司成立分析報(bào)告
- 2026年適老化家居項(xiàng)目公司成立分析報(bào)告
- 2026年上海第二工業(yè)大學(xué)單招職業(yè)技能考試備考題庫(kù)帶答案解析
- 2026年南昌交通學(xué)院?jiǎn)握新殬I(yè)技能筆試參考題庫(kù)帶答案解析
- 2026年山東旅游職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能考試模擬試題帶答案解析
- 2026年云南經(jīng)貿(mào)外事職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能筆試備考試題帶答案解析
- 2026年重慶師范大學(xué)單招職業(yè)技能筆試備考試題帶答案解析
- 2026年南京工業(yè)職業(yè)技術(shù)大學(xué)單招職業(yè)技能筆試參考題庫(kù)帶答案解析
- 2026年昆明工業(yè)職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試參考題庫(kù)帶答案解析
- 2026年山西衛(wèi)生健康職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能筆試參考題庫(kù)帶答案解析
- 主管護(hù)師聘任述職報(bào)告
- 鋼筋混凝土結(jié)構(gòu)課程設(shè)計(jì)計(jì)算書
- 內(nèi)蒙古中考數(shù)學(xué)三年(2023-2025)真題分類匯編:專題02 幾何初步、相交線與平行線、概率與統(tǒng)計(jì)(解析版)
- 云南省2025年高二上學(xué)期普通高中學(xué)業(yè)水平合格性考試《信息技術(shù)》試卷(解析版)
- 產(chǎn)品知識(shí)培訓(xùn)會(huì)議總結(jié)
- 眼科進(jìn)修結(jié)業(yè)匯報(bào)
- 專題11 圓(安徽專用)5年(2021-2025)中考1年模擬《數(shù)學(xué)》真題分類匯編
- 骨折后肢體腫脹課件
- 工程春節(jié)停復(fù)工方案(3篇)
- 社區(qū)基金使用管理辦法
- 美團(tuán)充電寶分成協(xié)議合同
評(píng)論
0/150
提交評(píng)論