freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

軟件工程—第8章編碼和語(yǔ)言lyh(文件)

 

【正文】 。 FOR I:=1 TO N1 DO //改進(jìn)布局 BEGIN T:=I; FOR J:=I+ 1 TO N DO IF A[J]< A[T] THEN T:=J; IF T≠I THEN BEGIN WORK:=A[T]; A[T]:=A[I]; A[I]:=WORK; END END; ?程序編寫首先應(yīng)當(dāng)考慮清晰性 ? 程序編寫首先應(yīng)當(dāng)考慮清晰性,不要刻意追求技巧性,使程序編寫得過(guò)于緊湊。如果改一下: WORK = A[T]; A[T] = A[I]; A[I] = WORK; 就能讓讀者一目了然了。 i++ ) for ( j = 1。 ? 寫成以下的形式,就能讓讀者直接了解程序編寫者的意圖。 j = n。 不要為了追求效率而喪失了清晰性。 ?避免 使用臨時(shí)變量 而使可讀性下降。 這樣將一句分成兩句寫,會(huì)產(chǎn)生意想不到的問(wèn)題。 ? 例如,有一個(gè)求三個(gè)數(shù)中最小值的程序: IF ( X< Y ) GOTO 30 IF (Y< Z) GOTO 50 SMALL= Z GOTO 70 30 IF ( X < Z) GOTO 60 SMALL= Z GOTO 70 50 SMALL= Y GOTO 70 60 SMALL= X 70 CONTINUE 程序只需編寫成: small= x。 ?盡量只采用 三種基本的控制結(jié)構(gòu) 來(lái)編寫程序。例如, if ( char = 39?!?。 例如,如果在程序中出現(xiàn) if ( !( char<‘ 0’ || char >‘ 9’ ) ) …… 改成 if ( char = 39。9’ ) …… 不要讓讀者繞彎子想。 ?利用 信息隱蔽 ,確保每一個(gè)模塊的獨(dú)立性。 ? 對(duì)太大的程序,要分塊編寫、測(cè)試,然后再集成。一定要避免因設(shè)計(jì)不當(dāng)給用戶帶來(lái)的麻煩。同時(shí),在數(shù)據(jù)輸入的過(guò)程中和輸入結(jié)束時(shí),也要在屏幕上給出狀態(tài)信息; ?當(dāng)程序設(shè)計(jì)語(yǔ)言對(duì)輸入/輸出格式有嚴(yán)格要求時(shí),應(yīng)保持輸入格式與輸入語(yǔ)句的要求的一致性; ?給所有的輸出加注解,并設(shè)計(jì)輸出報(bào)表格式。程序編碼是最后提高運(yùn)行速度和節(jié)省存儲(chǔ)的機(jī)會(huì),因此在此階段不能不考慮程序的效率。 – 程序的 效率與程序的簡(jiǎn)單性 相關(guān)。 ? 設(shè)計(jì)向程序轉(zhuǎn)換過(guò)程中的指導(dǎo)原則: ① 在編程序前,盡可能化簡(jiǎn)有關(guān)的算術(shù)表達(dá)式和邏輯表達(dá)式; ② 仔細(xì)檢查算法中的嵌套的循環(huán),盡可能將某些語(yǔ)句或表達(dá)式移到循環(huán)外面; ③ 盡量避免使用多維數(shù)組; ④ 盡量避免使用指針和復(fù)雜的表; ⑤ 采用“快速”的算術(shù)運(yùn)算; ⑥ 不要混淆數(shù)據(jù)類型,避免在表達(dá)式中出現(xiàn)類型混雜; ⑦ 盡量采用整數(shù)算術(shù)表達(dá)式和布爾表達(dá)式; ⑧ 選用等效的高效率算法; ? 許多編譯程序具有“優(yōu)化”功能,可以自動(dòng)生成高效率的目標(biāo)代碼。 ? 采用結(jié)構(gòu)化程序設(shè)計(jì), 將程序功能合理分塊 ,使每個(gè)模塊或一組密切相關(guān)模塊的程序體積大小與每頁(yè)的容量相匹配 ,可減少頁(yè)面調(diào)度,減少內(nèi)外存交換,提高存儲(chǔ)效率。 影響輸入/輸出的因素 ? 輸入/輸出可分為兩種類型: – 面向人 (操作員 )的輸入/輸出 – 面向設(shè)備的輸入/輸出 ? 如果操作員能夠十分方便、簡(jiǎn)單地錄入輸入數(shù)據(jù),或者能夠十分直觀、一目了然地了解輸出信息,則可以說(shuō)面向人的輸入/輸出是高效的。 ? 減少程序復(fù)雜性,可提高軟件的簡(jiǎn)單性和可理解性,并使軟件開發(fā)費(fèi)用減少,開發(fā)周期縮短,軟件內(nèi)部潛藏錯(cuò)誤減少。 ? 方法的基本考慮是 統(tǒng)計(jì)一個(gè)程序模塊的源代碼行數(shù)目,并以源代碼行數(shù)做為程序復(fù)雜性的度量。 ? Lipow指出,對(duì)于 小程序 ,每行代碼出錯(cuò)率為%~ % ;對(duì)于 大程序 ,每行代碼的出錯(cuò)率增加到 %~ % 之間,這只是考慮了程序的可執(zhí)行部分,沒(méi)有包括程序中的說(shuō)明部分。 ? 它 基于一個(gè)程序模塊的程序圖中環(huán)路的個(gè)數(shù) ,因此計(jì)算它先要畫出程序圖。 ? 計(jì)算環(huán)路復(fù)雜性的方法: 根據(jù)圖論,在一個(gè)強(qiáng)連通的有向圖 G中,環(huán)的個(gè)數(shù)由以下公式給出: V(G)= m- n+ p 其中, V(G)是有向圖 G中環(huán)路個(gè)數(shù), m是圖 G中弧數(shù), n是圖 G中結(jié)點(diǎn)數(shù), p是圖 G中的強(qiáng)連通分量個(gè)數(shù)。 ? 在例示中,結(jié)點(diǎn)數(shù) n= 11,弧數(shù) m= 13, p= 1,則有 V(G)= m- n+ p= 13- 11+ 1= 3. ? 等于程序圖中弧所封閉的區(qū)域數(shù)。 ? 環(huán)路復(fù)雜度是可加的。在McCabe復(fù)雜度為 10的附近,存在出錯(cuò)率的間斷躍變。 ? 這些度量值通常在程序產(chǎn)生之后得出,或者在設(shè)計(jì)完成之后估算出。 ? 運(yùn)算對(duì)象包括變量名和常數(shù)。 ? 對(duì)于上面的例子,利用 n1, N1, n2, N2,可以計(jì)算得 H = 10 ? log210+7 ? log27 = N = 28+22 = 50 V = (28+22) ? log2(10+7) = 204 ? 等效的匯編語(yǔ)言程序的 V= 328。 ? 程序員工作量 E = V / L ? 程序的潛在錯(cuò)誤 Halstead度量可以用來(lái)預(yù)測(cè)程序中的錯(cuò)誤。即使程序還未編制完成,也能預(yù)先算出程序的實(shí)際 Halstead長(zhǎng)度 N, 雖然它沒(méi)有明確指出程序中到底有多少個(gè)語(yǔ)句。 這是與實(shí)際經(jīng)驗(yàn)相違背的。 ? 在允許混合運(yùn)算的語(yǔ)言中,每種運(yùn)算符與它的運(yùn)算對(duì)象相關(guān)。 Halstead 公式應(yīng)當(dāng)對(duì)調(diào)用子程序的不同深度區(qū)別對(duì)待。 例如,對(duì) 簡(jiǎn)單 if語(yǔ)句 與 while語(yǔ)句 就沒(méi)有區(qū)別。 167。 1946— 1954:機(jī)器語(yǔ)言和匯編語(yǔ)言,與計(jì)算機(jī)硬件操作一一對(duì)應(yīng)。能解決問(wèn)題的都是好方法或是好語(yǔ)言。 程序設(shè)計(jì)是自由與快樂(lè)的事情,不要發(fā)誓忠于某某主義而自尋煩惱。作者建議用自然的方式編程,少用技巧。賣油翁的絕技是可到中央電視臺(tái)表演的,而他老人家卻謙虛地說(shuō):“沒(méi)啥沒(méi)啥,用熟了而已”。當(dāng)我們?cè)诰幊虝r(shí)無(wú)法判斷是用了技巧還是用了技倆,那就少用。若在程序中用太多的技巧,可能會(huì)留下隱患,別人也難以理解程序。而如今的 Visual Basic、 Delphi、 Visual C++、 Java等語(yǔ)言各有所長(zhǎng),真的難分優(yōu)劣。 高級(jí)語(yǔ)言的種類 : 基礎(chǔ)語(yǔ)言 Fortran、 Cobol、 Basic 結(jié)構(gòu)化語(yǔ)言 Pascal、 C、 Ada 面向?qū)ο笳Z(yǔ)言 C++語(yǔ)言、 Java語(yǔ)言 ? 名字說(shuō)明 ? 類型說(shuō)明 ? 選擇控制結(jié)構(gòu) ? 循環(huán)控制結(jié)構(gòu) ? 程序?qū)ο蟮木植啃? ? 變量的局部共享 ? 異常處理 ? 獨(dú)立編譯 程序設(shè)計(jì)語(yǔ)言的特點(diǎn) 一般情況下,我們采用高級(jí)語(yǔ)言來(lái)編程。 ( 1)基礎(chǔ)語(yǔ)言(例: FORTRAN, BASIC,COBOL和 ALGOL) ( 2)結(jié)構(gòu)化語(yǔ)言(例: ALGOL, PL/1,PASCAL, C, Ada) ( 3)專用語(yǔ)言(例: APL, LISP, PROLOG,BLISS, FORTH) ① 從應(yīng)用特點(diǎn)的角度來(lái)分 ( 1)系統(tǒng)實(shí)現(xiàn)語(yǔ)言(例: C語(yǔ)言) ( 2)靜態(tài)高級(jí)語(yǔ)言(例: FORTRAN、 COBOL) ( 3)塊結(jié)構(gòu)高級(jí)語(yǔ)言(例: PASCAL、 ALGOL) ( 4)動(dòng)態(tài)高級(jí)語(yǔ)言 ② 從語(yǔ)言內(nèi)在特點(diǎn)的角度來(lái)分 ( 2)面向?qū)ο笳Z(yǔ)言 對(duì)象 +消息 ( 1)面向過(guò)程語(yǔ)言 數(shù)據(jù)結(jié)構(gòu) +算法 ③ 從描述客觀系統(tǒng)的角度來(lái)分 例: Delphi、 Visual Basic、JAVA、 C++。 一般地,運(yùn)算符的嵌套序列,總比具有相同數(shù)量的運(yùn)算符和運(yùn)算對(duì)象的非嵌套序列要復(fù)雜得多。這樣可以增大嵌套調(diào)用時(shí)的錯(cuò)誤預(yù)測(cè)率。 在計(jì)算時(shí)應(yīng)考慮這種因數(shù)據(jù)類型而引起差異的情況。 ? 沒(méi)有考慮非執(zhí)行語(yǔ)句。經(jīng)過(guò)多次驗(yàn)證,預(yù)測(cè)的Halstead長(zhǎng)度與實(shí)際的 Halstead長(zhǎng)度是非常
點(diǎn)擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1