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

正文內(nèi)容

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

2025-09-29 21:46 上一頁面

下一頁面
 

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