(完整版)軟件工程第六章答案_第1頁
(完整版)軟件工程第六章答案_第2頁
(完整版)軟件工程第六章答案_第3頁
(完整版)軟件工程第六章答案_第4頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、作業4參考答案1 .假設只有SEQUENCE和DO_WHILE兩種控制結構,怎樣利用它們完成IF_THEN_ELSE操作?答:轉化如下:K=1DOWHILE(條件.AND.K.EQ.1)程序塊1K=K+1ENDDODOWHILE(.NOT.條件).AND.K.EQ.1)程序塊2K=K+1ENDDO2 .假設允許使用SEQUENCE和IF_THEN_ELSE兩種控制結構,怎樣利用它們完成DO_WHILE操作?答:轉化如下;label:IF(條件)THEN程序塊GOTOlabelELSE程序塊ENDIF3 .畫出下列偽碼程序的程序流程圖和盒圖:STARTIFpTHENWHILEqDOfENDDOE

2、LSEBLOCKgnENDBLOCKENDIFSTOP答:(1)流程圖如圖4-1所示:圖4-1從偽碼變成的程序流程圖(2)該程序的盒圖如圖4-2所示:圖4-2從偽碼變成的程序盒圖4 .下圖給出的程序流程圖代表一個非結構化的程序,請問:(1)為什么說它是非結構化的?(2)設計一個等價的結構化程序。(3)在(2)題的設計中你使用附加的標志變量flag嗎?若沒用,請再設計一個使用flag的程序;若用了,再設計一個不用flag的程序。答:(1)通常所說的結構化程序,是按照狹義的結構程序的定義衡量,符合定義規定的程序。圖示的程序的循環控制結構有兩個出口,顯然不符合狹義的結構程序的定義,因此是非結構化的程

3、序。(2)使用附加的標志變量flag,至少有兩種方法可以把該程序改造為等價的結構化程序,圖4-3描繪了等價的結構化程序的盒圖。flag=TRUEflag=TRUE(a)解法1(b)解法2圖4-3與該圖等價的結本化程序(用flag)(3)不使用5.研究下面的偽代碼程序:LOOP:SetIto(START+FINISH)/2IfTABLE(I)=ITEMgotoFOUNDIfTABLE(I)<ITEMSetSTARTto(I+1)IfTABLE(I)>ITEMSetFINISHto(I-1)If(FINISH-START)>1gotoLOOP(2)(4)答:IfTABLE(STA

4、RT)=ITEMgotoFOUNDIfTABLE(FINISH)=ITEMgotoFOUNDSetFLAGto0GotoDONEFOUND:SetFLAGto1DONE:Exit畫出程序流程圖。程序是結構化嗎?說明理由。若程序是非結構化的,設計一個等價的結構化程序并且畫出流程圖。此程序的功能是什么?它完成預定功能有什么隱含的前提條件。(1)該程序流程圖如下:(2)該程序不是結構化的,結構化的程序只有一個入口和一個出口,而該程序的流程途中有兩個出口。(3)等價的結構化程序的流程圖如下:6.用Ashcroft_Manna技術可以將非結構化的程序轉化為結構化程序,圖6.19是一個轉換的例子。(1)能否從這個例子總結出Ashcroft_Manna技術的一些基本方法?(2)進一步簡化6.19(b)給出的結構化設計。答:(1)從這個例子中看出,Ashcroft_Manna技術的基本方法是,當待改造的序含有嵌套的非結構化的IF語句時,改造后的程序中增加DO-CAS踣句和DO-UNTI用句,并增加一個輔助變量I,I的初始值為1。最外層的IF語句在I=1時執行,執行完這個IF語句后把I賦值為隨后應該執行的內層IF語句所對應的CAS標號值。DO-CAS踣句的最大分支數(可執行的最大標號值)等于IF語句的個數。當執行完最內層的I

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論