版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、5.1 程序設(shè)計(jì)語(yǔ)言5.1.1 程序設(shè)計(jì)語(yǔ)言的分類,1.機(jī)器語(yǔ)言-----第一代語(yǔ)言 2.匯編語(yǔ)言-----第二代語(yǔ)言 3.高級(jí)語(yǔ)言-----第三代語(yǔ)言 4.第四代語(yǔ)言,5.1 程序設(shè)計(jì)語(yǔ)言5.1.2 程序設(shè)計(jì)語(yǔ)言的選擇,對(duì)高級(jí)語(yǔ)言選擇需綜合考慮以下幾個(gè)方面的因素來(lái)決定。(1)系統(tǒng)的應(yīng)用領(lǐng)域(2)軟件執(zhí)行環(huán)境 (3)用戶要求 (4)程序編寫人員目前具備的知識(shí),5.2 程序設(shè)計(jì)風(fēng)格5.2.1 程序內(nèi)部的文檔,1.標(biāo)
2、識(shí)符 標(biāo)識(shí)符的選擇不僅要滿足各種程序設(shè)計(jì)語(yǔ)言的語(yǔ)法限制,更重要的是名字要有鮮明的含義,使它能正確的表達(dá)它所代表的程序?qū)ο蟮膶?shí)際意義,以便于閱讀者理解程序。,5.2 程序設(shè)計(jì)風(fēng)格5.2.1 程序內(nèi)部的文檔,2.注釋 一類是出現(xiàn)在模塊首部的序言性注釋,它簡(jiǎn)要描述了模塊的全名、模塊的功能和性能、主要算法、接口特點(diǎn)、重要的數(shù)據(jù)、調(diào)用格式、開發(fā)歷史。另一類注釋是插在整個(gè)程序的中間,在每個(gè)具有獨(dú)立功能的程序段之前的功能性注釋,它是
3、用以描述下面的這段程序的功能,也就是解釋下面所要做的工作是什么,或是執(zhí)行了下面語(yǔ)句后會(huì)產(chǎn)生怎樣的結(jié)果。,5.2 程序設(shè)計(jì)風(fēng)格5.2.1 程序內(nèi)部的文檔,3.視覺組織 (1)利用空行將自然的程序段分開(2)利用縮進(jìn)形成階梯式層次結(jié)構(gòu),5.2 程序設(shè)計(jì)風(fēng)格5.2.2 數(shù)據(jù)說(shuō)明,(1)數(shù)據(jù)說(shuō)明次序標(biāo)準(zhǔn)化。數(shù)據(jù)說(shuō)明語(yǔ)句應(yīng)集中放在每個(gè)程序或模塊的可執(zhí)行部分之前,而且為了數(shù)據(jù)屬性更容易尋找,有利于測(cè)試、糾錯(cuò)和維護(hù),應(yīng)將數(shù)據(jù)說(shuō)明的次序固定下來(lái)
4、。(2)當(dāng)多個(gè)變量名在同一個(gè)語(yǔ)句中說(shuō)明時(shí),應(yīng)該按字母順序排列這些變量。(3)對(duì)于一個(gè)復(fù)雜的數(shù)據(jù)結(jié)構(gòu),則應(yīng)加注釋,以說(shuō)明用程序設(shè)計(jì)語(yǔ)言實(shí)現(xiàn)時(shí)的方法和特點(diǎn);對(duì)容易混淆又不方便改變的變量名,也應(yīng)加注釋,說(shuō)明變量名的作用以示區(qū)別。,5.2 程序設(shè)計(jì)風(fēng)格5.2.3 語(yǔ)句構(gòu)造,(1)不要為了節(jié)省空間而把多個(gè)語(yǔ)句寫在一行上。(2)避免使用否定的邏輯條件。(3)使用括號(hào)使邏輯表達(dá)式或算術(shù)表達(dá)式的運(yùn)算次序更清晰。(4)避免使用臨時(shí)變量而使可讀
5、性下降。(5)充分利用庫(kù)函數(shù)。,5.2 程序設(shè)計(jì)風(fēng)格5.2.3 語(yǔ)句構(gòu)造,(6)避免大量使用循環(huán)嵌套和條件嵌套。(7)避免不必要的轉(zhuǎn)移和使用GOTO語(yǔ)句。(8)盡量用公用過程或子程序去代替重復(fù)的功 能代碼段。(9)按照初始化、數(shù)據(jù)處理、結(jié)果輸出順序安 排程序。,5.2 程序設(shè)計(jì)風(fēng)格5.2.4 輸入和輸出,1.輸入方面 (1)采用統(tǒng)一的輸入格式,力求輸入格式簡(jiǎn)單。 (2)對(duì)所有的輸入
6、數(shù)據(jù)進(jìn)行有效性檢驗(yàn),從而識(shí) 別錯(cuò)誤的輸入。 (3)檢查輸入項(xiàng)重要組合的合法性。 (4)使用數(shù)據(jù)結(jié)束標(biāo)志或文件結(jié)束標(biāo)志終止一批 數(shù)據(jù)的輸入。 (5)用統(tǒng)一方式對(duì)待文件結(jié)束條件。,5.2 程序設(shè)計(jì)風(fēng)格5.2.4 輸入和輸出,(6)輸入數(shù)據(jù)時(shí)允許使用自由格式輸入,也允許 使用默認(rèn)值。 (7)設(shè)計(jì)交互式輸入方式時(shí),應(yīng)明確提示輸入請(qǐng) 求,詳細(xì)說(shuō)
7、明可選擇數(shù)值類型和范圍等有關(guān) 信息。 (8)當(dāng)程序設(shè)計(jì)語(yǔ)言對(duì)輸入格式有嚴(yán)格的要求 時(shí),就保持輸入格式與輸入語(yǔ)句的一致性。2.輸出方面 (1)給所有輸出數(shù)據(jù)加標(biāo)志,并加以必要的說(shuō)明。 (2)設(shè)計(jì)具有良好格式的輸出報(bào)表。,5.2 程序設(shè)計(jì)風(fēng)格5.2.5 面向?qū)ο蟪绦蛟O(shè)計(jì)風(fēng)格,1.提高可復(fù)用性(1)提高方法的內(nèi)聚度,降低耦合度。(2)控制方法的規(guī)模。(3)保持方法的一致性。2
8、.提高可擴(kuò)充性(1)封裝實(shí)現(xiàn)策略(2)慎用公有方法(3)控制方法的規(guī)模,5.2 程序設(shè)計(jì)風(fēng)格5.2.5 面向?qū)ο蟪绦蛟O(shè)計(jì)風(fēng)格,3.提高健壯性(1)預(yù)防用戶的操作錯(cuò)誤(2)檢查參數(shù)的合法性(3)使用動(dòng)態(tài)內(nèi)存分配機(jī)制(4)先測(cè)試后優(yōu)化,5.3 程序的效率5.3.1 程序運(yùn)行時(shí)間,(1)編碼前先化簡(jiǎn)算術(shù)表達(dá)式和邏輯表達(dá)式; (2)仔細(xì)檢查算法中嵌套的循環(huán),以確定是否 有語(yǔ)句可以從內(nèi)層向外移;
9、 (3)盡量不使用多維數(shù)組; (4)盡量不使用指針和復(fù)雜的表;,5.3 程序的效率5.3.1 程序運(yùn)行時(shí)間,(5)使用執(zhí)行時(shí)間短的算術(shù)運(yùn)算; (6)在表達(dá)式中盡量避免出現(xiàn)不同的數(shù)據(jù)類型; (7)盡量使用整數(shù)算術(shù)表達(dá)式和布爾表達(dá)式; (8)選用等效的高效率算法。,5.3 程序的效率5.3.2 存儲(chǔ)器效率,要選用有緊縮存儲(chǔ)器特性的編譯程序,生成較短目標(biāo)代碼,在必要時(shí)可以使用匯編語(yǔ)言。 在大中
10、型計(jì)算機(jī)系統(tǒng)中,一般來(lái)說(shuō),使用能保持功能域結(jié)構(gòu)化的控制結(jié)構(gòu),以減少頁(yè)面調(diào)度,減少內(nèi)外存之間的交換,是提高效率的好方法。 提高程序執(zhí)行效率的技術(shù)也能提高存儲(chǔ)器效率。提高存儲(chǔ)器效率的關(guān)鍵在于程序的簡(jiǎn)單性。,5.3 程序的效率5.3.3 輸入/輸出的效率,(1)輸入/輸出的請(qǐng)求易于理解; (2)為減少通信的額外開銷,所有輸入/輸出都應(yīng)有適當(dāng)?shù)木彌_; (3)對(duì)輔存(如磁盤)的訪問應(yīng)選擇盡可能簡(jiǎn)單的方式; (4)對(duì)
11、輔存的輸入/輸出應(yīng)以塊為單位進(jìn)行;,5.3 程序的效率5.3.3 輸入/輸出的效率,(5)任何不易理解的“超高效”的輸入/輸 出,則不能采用; (6)應(yīng)考慮輸入輸出設(shè)備(如終端或打印 機(jī)等)的特性,盡量改善其輸入/輸出 質(zhì)量和速度; (7)好的輸入/輸出設(shè)計(jì)風(fēng)格對(duì)提高輸入/ 輸出效率會(huì)有明顯的效果。,5.4 程序復(fù)
12、雜性度量5.4.1 McCabe度量法,McCabe 度量法需要畫出程序圖。用這種度量方法得出的結(jié)果稱為程序的環(huán)路復(fù)雜度。具體數(shù)值可由以下公式計(jì)算出: V(G)= m - n + p 其中V(G)是有向圖G中的環(huán)數(shù); m是有向圖G中的有向弧數(shù)(包括強(qiáng)連通的輔助虛?。?5.4 程序復(fù)雜性度量5.4.1 McCabe度量法,- n是有向圖G中的節(jié)點(diǎn)數(shù); p是有向圖G中分離部分的數(shù)
13、目,對(duì)一個(gè)正常程序而言,在程序圖中從入口點(diǎn)可達(dá)任何一個(gè)節(jié)點(diǎn),因此程序圖總是連通的,則p=1。 McCabe度量法是對(duì)程序控制流復(fù)雜性的度量,而不考慮數(shù)據(jù)流。,5.4 程序復(fù)雜性度量5.4.2 Halstead方法,Halstead方法可根據(jù)其中的運(yùn)算符和操作數(shù)的總數(shù)來(lái)度量程序的復(fù)雜程度。設(shè)N1為程序中運(yùn)算符出現(xiàn)的總次數(shù),N2為操作數(shù)出現(xiàn)的總次數(shù),則程序長(zhǎng)度N為: N = N1 + N2
14、 設(shè)n1為程序中出現(xiàn)的不同操作符的個(gè)數(shù),n2為程序中出現(xiàn)的不同操作數(shù)的個(gè)數(shù),很顯然,n1,n2將隨著程序規(guī)模增大而增大,Halstead給出預(yù)測(cè)程序長(zhǎng)度H的公式: H =n1log2 n1 + n2log2 n2,5.4 程序復(fù)雜性度量5.4.2 Halstead方法,H =n1log2 n1 + n2log2 n2 經(jīng)過多次實(shí)驗(yàn)證明,預(yù)測(cè)長(zhǎng)度H與實(shí)際長(zhǎng)度N非常接近。Halstead
15、還給出了預(yù)測(cè)程序中包含錯(cuò)誤個(gè)數(shù)E的公式: E = Nlog2(n1+n2)/3000Halstead度量法只考慮程序的數(shù)據(jù)流而不考慮程序的控制流。,5.5 用戶手冊(cè)和操作手冊(cè)5.5.1用戶手冊(cè)編寫,1 引言:編寫目的,背景,定義,參考資料2 用途:功能,性能,安全保密3 運(yùn)行環(huán)境:硬設(shè)備,支持軟件,數(shù)據(jù)結(jié)構(gòu) 4 使用過程:安裝與初始化,輸入,輸出,文卷查詢,出錯(cuò)處理和恢復(fù),終端操作,5.5 用
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《程序設(shè)計(jì)語(yǔ)言c》
- 知識(shí)點(diǎn)1程序設(shè)計(jì)語(yǔ)言
- 程序設(shè)計(jì)語(yǔ)言c實(shí)驗(yàn)
- 邏輯式程序設(shè)計(jì)語(yǔ)言
- 如何學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言
- 程序設(shè)計(jì)語(yǔ)言基礎(chǔ)答案
- 程序設(shè)計(jì)語(yǔ)言的層次體系
- 程序設(shè)計(jì)語(yǔ)言(c)復(fù)習(xí)題-
- r程序設(shè)計(jì)語(yǔ)言考試試卷
- 《程序設(shè)計(jì)語(yǔ)言(c++)》課程設(shè)計(jì)
- 《c#程序設(shè)計(jì)語(yǔ)言》課程標(biāo)準(zhǔn)
- 第10章面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言
- 《程序設(shè)計(jì)語(yǔ)言(vfp)》課程教學(xué)大綱
- 程序設(shè)計(jì)語(yǔ)言基本概念與試題
- 程序設(shè)計(jì)語(yǔ)言模型的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 《程序設(shè)計(jì)語(yǔ)言(fortran)》課程教學(xué)大綱
- 《程序設(shè)計(jì)語(yǔ)言(c)》課程教學(xué)大綱
- 第2章vb程序設(shè)計(jì)語(yǔ)言基礎(chǔ)
- 《程序設(shè)計(jì)語(yǔ)言(vb)》課程教學(xué)大綱
- 關(guān)于“程序設(shè)計(jì)語(yǔ)言”課程考試通知
評(píng)論
0/150
提交評(píng)論