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

正文內容

軟件工程課件:swguide4-資料下載頁

2025-08-26 10:18本頁面

【導讀】在編寫程序時,強調使用幾種基本控制結構,通過組合嵌套,形成程序的控制結構。盡可能避免使用會使程序質量受到影響的GOTO語句。在程序設計過程中,盡量采用自頂向下和逐步細化的原則,由粗到細,一步步展開。程序語句組成容易識別的塊,每塊只有一個入口和一個出口。語言中沒有的控制結構,可用一段等價的程序段模擬,但要求該程序段在整個系統(tǒng)中。造,或者在某種可以改善而不是損害程序可讀性的情況下才可以使用GOTO語句。但有時完全不用GOTO語句進行程序編碼,比用GOTO語句編出的程。據(jù)結構的合理化問題,即數(shù)據(jù)結構訪問的規(guī)范化,標準化問題。忽后,這與GOTO語句造成的混亂類似,同樣是有害的。機存取,將克服隨機存取帶來的麻煩。

  

【正文】 (a) 修改 N+1/2 循環(huán) (d) 另一個方案 U P V F T U P F V U T P T F U U P T F i = 1 i = 1? T i = 0 F V U P T F (b) 先判斷型 (c) 后判斷型 循環(huán) 循環(huán) 17 【例 5】下面是兩個程序流程圖,試分別用 NS圖和 PAD 表示之,并計算它們的 McCabe 復雜性度量。 答案:對應的 NS 圖如下。 對應 PAD 圖如下。 McCabe 復雜性度量都為 3。 四、習題 【 41】 從下列關于模塊化程序設計的敘述中選出 5 條正確的敘述 。 ① 程序設計比較方便,但比較難以維護。 ② 便于由多個人分工編制大型程序。 ③ 軟件的功能便于擴充。 ④ 程序易于理解,也便于排錯。 ⑤ 在主存儲器能夠容納得下的前提下,應使模塊盡可能大,以便減少模塊的個數(shù)。 ⑥ 模塊之間的接口叫做數(shù)據(jù)文件。 ⑦ 只要模塊之間的接口關系不變,各模塊內部實現(xiàn)細節(jié)的修改將不會影響別的模塊。 ⑧ 模塊間的單向調用關系叫做模塊的層次結構。 ⑨ 模塊越小,模塊化的優(yōu)點越明顯。一般來說,模塊的大小都在 10 行以下。 【 42】結構化程序設計有時被錯 誤地稱為“無 GOTO 語句”的程序設計。請說明為什么會START A B Q END T F START A B P Q F T END F F T T P while P A B until Q 設置 Q 的值為“真 (T)” until (not P) B T F Q A START START while P A until Q B END END 設置 Q 的值為“ T” until (not P) Q A B 18 出現(xiàn)這樣的說法,并討論環(huán)繞著這個問題的一些爭論。 【 43】從下面關于程序編制的敘述中,選出三條正確的敘述。 ① 在編制程序之前,首先必須仔細閱讀給定的程序說明書。然后,必須如實地依照說明書編寫程序。說明書中常會有含糊不清或難以理解的地方。程序員在作業(yè)時應該對這些地方作出適當?shù)慕忉尅? ② 在著手編制程序時,重要的是采用既能使程序正確地按設計說明書進行處理,又易于出錯的編寫方法。 ③ 在編制程序時,首先應該對程序的結構充分考慮,不要急于開始編碼, 而要象寫軟件文檔那樣,很好地琢磨程序具有什么樣的功能,這些功能如何安排等等。 ④ 考慮到以后的程序變更,為程序編寫完整的說明書是一項很重要的工作。只要有了完整的程序說明書,即使程序的編寫形式難以讓他人看懂也沒有什么關系。 ⑤ 編制程序時不可缺少的條件是,程序的輸入和輸出數(shù)據(jù)的格式都應確定。其他各項規(guī)定都是附帶的,無足輕重。 ⑥ 作為一個好的程序,不僅處理速度要快,而且易讀易修改等等也都是重要的條件。為了能得到這樣的程序,不僅要熟悉程序設計語言的語法,還要注意采用適當?shù)囊?guī)程和單純的表現(xiàn)方法,注意使 整個程序的結構簡潔。 【 44】從下列敘述中選出 5 條符合程序設計風格指導原則的敘述。 ① 嵌套的重數(shù)應加以限制。 ② 盡量多使用臨時變量。 ③ 不濫用語言特色。 ④ 不用可以省略的括號。 ⑤ 使用有意義的變量名。 ⑥ 應盡可能把程序編得短些。 ⑦ 把常見的局部優(yōu)化工作留給編譯程序去做。 ⑧ 注解越少越好。 ⑨ 程序的格式應有助于讀者理解程序。 ⑩ 應盡可能多用 GOTO 語句。 【 45】 從供選擇的答案中選出應該填入下面 ( ) 中的正確答案。 A. 允許用戶 建立、修改、存儲正文的計算機程序是 ( )。 ① BOOtstrap ② Editor ③ Loader ④ Textformatter B. 程序語言的編譯系統(tǒng)和解釋系統(tǒng)相比,從用戶程序的運行效率來看 ( )。 ① 前者運行效率高 ② 兩者大致相同 ③ 后者運行效率高 ④ 不能確定 C. FORTRAN 語言的源程序是 ( ) 結構。 ① 塊狀 ② 分程序嵌套 ③ 既是塊狀,又是嵌套 ④ 既不是塊狀, 又不是嵌套的 D. 國際上最廣泛使用的商用及行政管理語言是 ( )。 ① COBOL ② BASIC ③ FORTRAN ④ PL/1 E. 國際上最流行的數(shù)值計算的程序設計語言是 ( )。 ① BASIC ② ALGOL ③ FORTRAN ④ C F. 美國國防部主持開發(fā)了高級程序設計語言 Ada,在它研制開始時,經(jīng)反復比較,確定以高級語言 ( ) 作為 Ada 研究的出發(fā)點。 ① LISP ② ALGOL ③ ALGOL68 ④ PL/1 G. 在人工智能領域,目前最廣泛使用的高級語言是 ( )。 19 ① Ada ② FORTRAN ③ COBOL ④ LISP 【 46】 從供選擇的答案中選出應該填入下面 ( ) 中的正確答案。 A. 匯編程序是指 ( )。 ① 用匯編語言寫的程序 ② 符號程序 ③ 匯編語言的處理程序 B. 為了實現(xiàn)遞歸子程序的正確調用,人們必須用 ( ) 來保存 ( ) 及有關信息。 ① 堆棧 ② 線性表 ③ 隊列 ④ 樹 ⑤ 入口點 ⑥ 返回地址 ⑦ 斷點 C. UNIX 操作系統(tǒng)是 ( ) 研制的,它是用程序語言 ( ) 書寫實現(xiàn)的。 ① Bell實驗室 ② DEC 公司 ③ IBM 公司 ④ PASCAL ⑤ 并發(fā) PASCAL ⑥ MODULA ⑦ C 【 47】下面給出一個求實函數(shù)方程 F(x)在自變量區(qū)間 [a, b] 中的全部實根的算法。首先閱讀此程序,然后 (1) 畫出消去全部 goto 語句的結構化程序流程圖。 (2) 將它改成 N_S 圖。 (3) 計算該程序 的 McCabe 復雜性度量。 在算法中, a 與 b是區(qū)間 [a, b]的兩端點值; eps1 與 eps2 是用戶要求的求解精度。如果區(qū)間中點的函數(shù)值的絕對值小于 eps1 或新的小區(qū)間的長度小于 eps2,就認為這個中點為根。 float BinRoot ( float a, float b, float eps1, float eps2 ) { float low= a, high = b, mid, fmid。 float flow = Func(low), fhigh := Func(high)。 label L1, L2, L3。 //標號說明,給定某些程序地址 if ( flow * fhigh ) { BinRoot = 0。 goto L3。 } //無實根 L1: mid = (low + high) / 2。 fmid = Func(mid)。 if ( abs ( fmid ) = eps1 ) { L2: BinRoot = mid。 goto L3。 } else if ( high mid = eps2 ) goto L2。 else if ( flow * fmid ) { low = mid。 flow = fmid。 goto L1。 } else { high = mid。 goto L1 }。 L3: } 【 48】 從供選擇的答案中選出適當?shù)淖志涮钊胂旅骊P于程序生產(chǎn)率的描述中的 ( ) 內。 (1) 1960 年底 Dijkstra 提倡的 ( A ) 是一種有效的提高 程序設計效率的方法。 (2) Dijkstra為了使程序結構易于理解,把基本控制結構限于順序、 ( B )、 ( C ) 3 種,應避免使用 ( D )。 (3) ( A ) 不僅提高程序設計的生產(chǎn)率,同時也容易進行程序的 ( E )。 供選擇的答案: A. ① 標準化程序設計 ② 模塊化程序設計 ③ 多道程序設計 ④ 宏語言 ⑤ 結構化程序設計 ⑥ 匯編語言 ⑦ 表格處理語言 B, C. ① 分支 ② 選擇 ③ 重復 ④ 計算 ⑤ 輸入輸出 D. ① GOTO 語句 ② DO 語句 ③ IF 語句 ④ REPEAT 語句 E. ① 設計 ② 調試 ③ 維護 ④ 編碼 【 49】用某種軟件復雜性度量算法來度量不同類型的程序時,得出的度量值是否真正反映了 20 紛亂如麻的程序流程 它們的復雜性 ? 如果對同類型的程序進行度量,其結果是否就比較有價值 ? 【 410】軟件復雜性有哪幾類?軟件復雜性度量模型應遵循哪些基本原則? 五、習題解答 【 41】 正確的敘述有 ② 、 ③ 、 ④ 、 ⑦ 、 ⑧ 。如果程序結構的模塊化滿足評價的標準(高內聚,低耦合),這樣的結構是容易編 碼,容易測試,容易理解,容易修改,容易維護的。程序的功能也容易擴充。特別適合于大型程序編制時,多人分工合作,協(xié)同完成任務的情形。因為是采用自頂向下,逐層分解來劃分模塊結構的,所以模塊之間的調用關系是分層次的模塊結構,就叫做模塊的層次結構。模塊之間的信息傳遞叫做模塊的接口,模塊之間傳遞信息可以通過參數(shù)表、全局變量或全局數(shù)據(jù)結構、數(shù)據(jù)文件、專門的通信模塊,不是專指數(shù)據(jù)文件。劃分模塊時,模塊大小要適中。模塊太大, 控制路徑數(shù)目多、涉及的范圍廣、變量的數(shù)目多、總體復雜性高,可理解性、可修改性、可靠性就會變差。 模塊太小 ,模塊個數(shù)增大,調用的系統(tǒng)開銷就會增大。所以要有一個權衡。 【 42】早在 1963 年,針對當時流行的 ALGOL 語言, Peter Naur 指出,在程序中大量地,沒有節(jié)制地使用 GOTO 語句,會使程序結構變得非?;靵y。但是很多人還不太注意這一問題。以致許多人寫出來的程序仍然是紛亂如麻的。 1965 年, 在一次會議上提出,應當把 GOTO 語句從高級語言中取消。并指出,程序的質量與程序中包含的 GOTO語句的數(shù)量成反比。在這種思想的影響下,當時新開發(fā)的幾種高級程序設計語言,例如LISP、 ISWIM、 BLISS 等,都把 GOTO 語句取消了。 1966 年, Bohm 與 Jacopini 證明了任何單入口單出口的沒有“死循環(huán)”的程序都能由三種最基本的控制結構構造出來。這三種基本控制結構就是“順序結構”、“選擇 IF- THEN-ELSE 結構”、“重復 DO- WHILE 或 DO- UNTIL 結構”。 1968 年, Dijkstra 在寫給 ACM(美國計算機協(xié)會通訊)雜志編輯部的信中再次建議從一切高級語言中取消 GOTO 語句,只使用三種基本控制結構編寫程序。他的建議引起了激烈的爭論。爭論集中在如何看待 GOTO 語句的問題上。贊成取 消 GOTO 語句的一方認為,GOTO 語句對程序清晰性有很大破壞作用,凡是使用 GOTO 語句多的程序,其控制流時而GOTO向前,時而 GOTO向后,常使程序變得很難理解,從而增加查錯和維護的困難,降低程序的可維護性。但以 , GOTO 語句雖然存在著破壞程序清晰性的問題,但不應完全禁止。因為 GOTO 語句概念簡單,使用方便,在某些情況下,保留GOTO語句反能使寫出的程序更加簡潔,并且 GOTO語句可直接得到硬件指令的支持。經(jīng)過爭論,人們認識到,不是簡單地去掉 GOTO 語句的問題,而是要 創(chuàng)立一種新的程序設計思想、方法和風格,以顯著提高軟件生產(chǎn)率和軟件質量,降低軟件維護的成本。 70 年代初 在設計 Pascal語言時對 GOTO 語句的處理可被當做對 GOTO 語句爭論的結論。在 Pascal語言中設置了支持上述三種基本控制結構的語句;另一方面, GOTO 語句仍然保留在該語言中。不過, 解釋說,通常使用所提供的幾種基本控制結構已經(jīng)足夠,習慣于這樣做的人不會感到 GOTO 語句的必要。也就是說,在一般情況下,可以完全不使用 GOTO 語句。如果在特殊情況下,由于特定的要求,偶然使用 GOTO 語句能解決問 21 題,那也未嘗不可,只是不應大量使用罷了。 事實
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1