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

正文內容

軟件工程—第8章編碼和語言lyh-資料下載頁

2025-09-11 21:46本頁面
  

【正文】 CONTINUE RETURN END 運算符 計數 運算對象 計數 可執(zhí)行語句結束 7 X 6 數組下標 6 I 5 = 5 J 4 IF ( ) 2 N 2 DO 2 2 2 , 2 SA VE 2 程序結束 1 1 1 .L T . 1 N 1 = 7 N 2 = 22 .GE. 1 GO T O 10 1 n 1=10 n 2 = 28? 程序量 程序量 V 可用下式得到 V = N ? log2n 它表明了程序在 詞匯上的復雜性 。其最小值為 V* = (2+n2*) ? log2(2+n2*)V 這里, 2表明程序中至少有兩個運算符:賦值符 = 和函數調用符 f ( ) , n2*表示輸入/輸出變量個數。 ? 對于上面的例子,利用 n1, N1, n2, N2,可以計算得 H = 10 ? log210+7 ? log27 = N = 28+22 = 50 V = (28+22) ? log2(10+7) = 204 ? 等效的匯編語言程序的 V= 328。這說明匯編語言比 FORTRAN語言需要更多的信息量 (以bit表示 )。 ? 程序量比率 (語言的抽象級別 ) L = V* / V 或 L = (2 / n1)?(n2 / N2) 它表明了一個程序的最緊湊形式的程序量與實際程序量之比,反映了程序的效率。其倒數 D = 1 / L 表明了實現(xiàn)算法的困難程度。 ? 程序員工作量 E = V / L ? 程序的潛在錯誤 Halstead度量可以用來預測程序中的錯誤。預測公式為 B = (N1+N2)?log2(n1+n2) / 3000 B為該程序的錯誤數。它表明程序中可能存在的差錯 B 應與程序量 V成正比。 ? 例如,一個程序對 75個數據庫項共訪問 1300次,對 150個運算符共使用了 1200次,那么預測該程序的錯誤數: B = (1200+1300)?log2(75+150)/3000 ? 即預測該程序中可能包含 6~ 7個錯誤 ? Halstead的重要結論 ? 程序的實際 Halstead長度 N可以由詞匯表 n算出。即使程序還未編制完成,也能預先算出程序的實際 Halstead長度 N, 雖然它沒有明確指出程序中到底有多少個語句。 這個結論非常有用。經過多次驗證,預測的Halstead長度與實際的 Halstead長度是非常接近的。 Halstead度量的缺點 ? 沒有區(qū)別自己編的程序與別人編的程序。 這是與實際經驗相違背的。這時應將外部調用乘上一個大于 1的的常數 Kf (應在 1~ 5之間,它與文檔資料的清晰度有關 )。 ? 沒有考慮非執(zhí)行語句。 補救辦法:在統(tǒng)計 nn N N2時,可以把非執(zhí)行語句中出現(xiàn)的運算對象,運算符統(tǒng)計在內。 ? 在允許混合運算的語言中,每種運算符與它的運算對象相關。 ? 如果一種語言有整型、實型、雙精度型三種不同類型的運算對象,則任何一種基本算術運算符 (+、-、 、/ )實際上代表了 = 6 種運算符。 在計算時應考慮這種因數據類型而引起差異的情況。 A32? 沒有注意調用的深度。 Halstead 公式應當對調用子程序的不同深度區(qū)別對待。在計算嵌套調用的運算符和運算對象時,應乘上一個調用深度因子。這樣可以增大嵌套調用時的錯誤預測率。 ? 沒有把不同類型的運算對象,運算符與不同的錯誤發(fā)生率聯(lián)系起來,而是把它們同等看待。 例如,對 簡單 if語句 與 while語句 就沒有區(qū)別。 ? 忽視了嵌套結構 (嵌套的循環(huán)語句、嵌套 IF語句、括號結構等 )。 一般地,運算符的嵌套序列,總比具有相同數量的運算符和運算對象的非嵌套序列要復雜得多。解決的辦法是對嵌套結果乘上一個嵌套因子。 167。 編碼使用的語言 大體上 , 程序設計語言分為以下幾類: ( 1) 面向機器的語言 機器語言 ( 第一代 ) 、 匯編語言 ( 第二代 ) ( 2) 高級語言 ( 第三代 ) 基礎語言 、 結構化語言 、 面向對象語言 ( 3) 甚高級語言 第四代語言 由于高級語言種類繁多 , 我們可以從應用特點 、語言內在特點和對客觀系統(tǒng)的描述三個不同的角度來對高級語言進行分類 。 ( 1)基礎語言(例: FORTRAN, BASIC,COBOL和 ALGOL) ( 2)結構化語言(例: ALGOL, PL/1,PASCAL, C, Ada) ( 3)專用語言(例: APL, LISP, PROLOG,BLISS, FORTH) ① 從應用特點的角度來分 ( 1)系統(tǒng)實現(xiàn)語言(例: C語言) ( 2)靜態(tài)高級語言(例: FORTRAN、 COBOL) ( 3)塊結構高級語言(例: PASCAL、 ALGOL) ( 4)動態(tài)高級語言 ② 從語言內在特點的角度來分 ( 2)面向對象語言 對象 +消息 ( 1)面向過程語言 數據結構 +算法 ③ 從描述客觀系統(tǒng)的角度來分 例: Delphi、 Visual Basic、JAVA、 C++。 程序設計語言:人與計算機通信的基本工具,指揮計算機按人的意志工作。 1946— 1954:機器語言和匯編語言,與計算機硬件操作一一對應。 1954: 第一個高級語言 FORTRAN 語言。 高級語言的種類 : 基礎語言 Fortran、 Cobol、 Basic 結構化語言 Pascal、 C、 Ada 面向對象語言 C++語言、 Java語言 ? 名字說明 ? 類型說明 ? 選擇控制結構 ? 循環(huán)控制結構 ? 程序對象的局部性 ? 變量的局部共享 ? 異常處理 ? 獨立編譯 程序設計語言的特點 一般情況下,我們采用高級語言來編程。 選擇具體高級語言類型的原則: ( 1)系統(tǒng)的應用領域 ( 2)用戶的要求 ( 3)軟件的執(zhí)行環(huán)境 ( 4)目標系統(tǒng)的性能要求 ( 5)程序員的知識水平 ( 6)軟件的可移植性要求 ( 7)算法和計算復雜性 ( 8)數據結構的復雜性 ( 9)效率的考慮 ? 爭議:有最好的軟件工程方法,最好的編程語言嗎? 觀點:在軟件領域永遠沒有最好的,只有更好的。能解決問題的都是好方法或是好語言。程序員在最初學習 Basic、 Fortran、 Pascal、 C、 C++等語言時會感覺一個比一個好,不免有喜新厭舊之舉。而如今的 Visual Basic、 Delphi、 Visual C++、 Java等語言各有所長,真的難分優(yōu)劣。開發(fā)人員應該根據客觀條件,選擇自己熟悉的方法和語言,才能保證合格的質量與生產率。 程序設計是自由與快樂的事情,不要發(fā)誓忠于某某主義而自尋煩惱。 ? 爭議:編程時是否應該多使用技巧? 觀點:就軟件開發(fā)而言,技巧的優(yōu)點在于能另辟蹊徑地解決一些問題,缺點是技巧并不為人熟知。若在程序中用太多的技巧,可能會留下隱患,別人也難以理解程序。鑒于一個局部的優(yōu)點對整個系統(tǒng)而言是微不足道的,而一個錯誤則可能是致命的。作者建議用自然的方式編程,少用技巧。 《 狼三則 》 的故事告訴我們“失敗的技巧通常是技倆”。當我們在編程時無法判斷是用了技巧還是用了技倆,那就少用。 《 賣油翁 》 的故事又告訴我們“熟能生巧”,表明技巧是自然而然產生的,而不是賣弄出來的。賣油翁的絕技是可到中央電視臺表演的,而他老人家卻謙虛地說:“沒啥沒啥,用熟了而已”。
點擊復制文檔內容
物理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1