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

正文內(nèi)容

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

2025-09-11 21:46本頁面
  

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