中央電大《程序設(shè)計(jì)基礎(chǔ)》形成性考核冊(cè)答案_第1頁
中央電大《程序設(shè)計(jì)基礎(chǔ)》形成性考核冊(cè)答案_第2頁
中央電大《程序設(shè)計(jì)基礎(chǔ)》形成性考核冊(cè)答案_第3頁
中央電大《程序設(shè)計(jì)基礎(chǔ)》形成性考核冊(cè)答案_第4頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、程序設(shè)計(jì)基礎(chǔ)復(fù)習(xí)題參考答案一、單項(xiàng)選擇題1.A2.D 3.A 4.A 5.A6.C7.A8.A9.D 10.A11.A12.C 13.D 14.D15.A16.D17.A18.A 19.D20.B21.C22.C 23.C 24.B25.A26.B27.A28.A29.A30.A二、填空題1、ENIAC (即電子數(shù)字積分計(jì)算機(jī)的英文縮寫)。2、電子管,晶體管,半導(dǎo)體中小規(guī)模集成電路,大規(guī)模集成電路3、FORTRAN4、數(shù)字計(jì)算機(jī),模擬計(jì)算機(jī)5、采用馮·諾依曼的“存儲(chǔ)程序原理”6、主存儲(chǔ)器(簡(jiǎn)稱主存,又稱內(nèi)存)和外存儲(chǔ)器(簡(jiǎn)稱外存,又稱輔存)7、所有程序,及相關(guān)的文檔8、存儲(chǔ)器、運(yùn)算器

2、、控制器、輸入設(shè)備和輸出設(shè)備9、機(jī)器語言、匯編語言和高級(jí)語言10、解釋方式,編譯方式11、面向過程的程序設(shè)計(jì)語言、面向問題的程序設(shè)計(jì)語言和面向?qū)ο蟮某绦蛟O(shè)計(jì)語言12、編程階段、編譯階段和執(zhí)行階段13、順序執(zhí)行、分支控制和循環(huán)控制14、if ,switch15、while , for 和 do-while16、+,%17、break, continue 和 goto18、邏輯結(jié)構(gòu),存儲(chǔ)結(jié)構(gòu)19、順序存儲(chǔ)方式,鏈?zhǔn)酱鎯?chǔ)方式20、線性結(jié)構(gòu),非線性結(jié)構(gòu)21、線性表,棧,隊(duì)列22、樹,圖型23、一對(duì)多,多對(duì)多24、空25、隊(duì)空:front=rear ,隊(duì)滿:(rear +1)%maxsize= fron

3、t ,入隊(duì)時(shí):rear=(rear+1)%maxsize ,出隊(duì)時(shí): front=(front+1)%maxsize 。26、3, 2,0, A , E, B, 4。27、偽碼、流程圖和N-S 圖28、時(shí)間復(fù)雜度和空間復(fù)雜度29、結(jié)構(gòu)化程序設(shè)計(jì)和面對(duì)對(duì)象程序設(shè)計(jì)30、以軟件需求完全確定,只能提供基本需求31、正確性可靠性32、深度優(yōu)先搜索廣度優(yōu)先搜索三、簡(jiǎn)答題1、名詞解釋: CAD , CAM , CAI , CPU , CASE 。CAD :計(jì)算機(jī)輔助設(shè)計(jì)(Computer Aided Design )CAM :計(jì)算機(jī)輔助制造(Computer Aided Manufacturing)CAI

4、 :計(jì)算機(jī)輔助教學(xué)(Computer Aided Instruction )CPU:中央處理器CASE:計(jì)算機(jī)輔助軟件工程2、簡(jiǎn)述計(jì)算機(jī)硬件與軟件的關(guān)系。計(jì)算機(jī)硬件與軟件的關(guān)系主要體現(xiàn)在以下三個(gè)方面:(1) 互相依存。計(jì)算機(jī)硬件與軟件的產(chǎn)生與發(fā)展本身就是相輔相成、互相促進(jìn)的,二者密不可分。 硬件是軟件的基礎(chǔ)和依托,軟件是發(fā)揮硬件功能的關(guān)鍵,是計(jì)算機(jī)的靈魂。在實(shí)際應(yīng)用中更是缺一不可,硬件與軟件,缺少哪一部分,計(jì)算機(jī)都是無法使用的。(2) 無嚴(yán)格界面。雖然計(jì)算機(jī)的硬件與軟件各有分工,但是在很多情況下軟硬件之間的界面是浮動(dòng)的。 計(jì)算機(jī)某些功能既可由硬件實(shí)現(xiàn), 也可以由軟件實(shí)現(xiàn)。 隨著計(jì)算機(jī)技術(shù)的發(fā)展

5、,一些過去只能用軟件實(shí)現(xiàn)的功能, 現(xiàn)在可以用硬件來實(shí)現(xiàn), 而且速度和可靠性都大為提高。(3) 相互促進(jìn)。無論從實(shí)際應(yīng)用還是從計(jì)算機(jī)技術(shù)的發(fā)展看,計(jì)算機(jī)的硬件與軟件之間都是相互依賴、 相互影響、相互促進(jìn)的。 硬件技術(shù)的發(fā)展會(huì)對(duì)軟件提出新的要求, 促進(jìn)軟件的發(fā)展;反之,軟件的發(fā)展又對(duì)硬件提出新的課題。3、簡(jiǎn)述計(jì)算機(jī)程序設(shè)計(jì)語言的分類和各類的特點(diǎn)。一般分為三類:機(jī)器語言(也稱機(jī)器指令集),匯編語言和高級(jí)語言。機(jī)器語言是每臺(tái)計(jì)算機(jī)出廠時(shí),廠家都為它配備一套機(jī)器語言,不同的計(jì)算機(jī), 其機(jī)器語言通常是不同的。由于機(jī)器語言是面向具體機(jī)器的,所以其程序缺乏通用性,編寫程序的過程繁瑣復(fù)雜,易出錯(cuò),錯(cuò)了又不易查找

6、和修改,編出的程序可讀性極差。匯編語言是機(jī)器語言的符號(hào)化形式。用匯編語言編寫的程序(又稱源程序) 經(jīng)匯編器加工處理后, 就轉(zhuǎn)換成可由計(jì)算機(jī)直接執(zhí)行的目標(biāo)程序。匯編語言提高了程序設(shè)計(jì)效率和計(jì)算機(jī)利用率。匯編語言仍屬面向機(jī)器的一種低級(jí)語言,其程序的通用性和可讀性較差。高級(jí)程序設(shè)計(jì)語言是指通用性好,不必對(duì)計(jì)算機(jī)的指令系統(tǒng)有深入的了解就可以編寫程序。采用高級(jí)語言編寫的程序在不同型號(hào)的計(jì)算機(jī)上只需做某些微小的改動(dòng)便可運(yùn)行,只要采用這些計(jì)算機(jī)上的編譯程序重新編譯即可。高級(jí)語言具有通用性,與具體的機(jī)器無關(guān)。4、馮·諾伊曼原理的主要思想是什么?有什么意義?馮·諾伊曼機(jī)的結(jié)構(gòu)是什么?“馮&#

7、183;諾伊曼原理”的主要思想就是“存儲(chǔ)程序控制”原理?!按鎯?chǔ)程序控制”原理的基本內(nèi)容是:用二進(jìn)制形式表示數(shù)據(jù)和指令;將程序(數(shù)據(jù)和指令序列) 預(yù)先存放在主存儲(chǔ)器中, 使計(jì)算機(jī)在工作時(shí)能夠自動(dòng)高速地從存儲(chǔ)器中取出指令,并加以執(zhí)行,這是“存儲(chǔ)程序控制”的基本特點(diǎn);確立了計(jì)算機(jī)系統(tǒng)的 5 大基本部件: 存儲(chǔ)器、 控制器、運(yùn)算器、輸入設(shè)備和輸出設(shè)備,同時(shí)也規(guī)定了 5 大部件的基本功能。馮·諾依曼型計(jì)算機(jī)的兩大特征是“程序存儲(chǔ)”和“采用二進(jìn)制”。馮·諾伊曼思想實(shí)際上是電子計(jì)算機(jī)設(shè)計(jì)的基本思想, 奠定了現(xiàn)代電子計(jì)算機(jī)的基本結(jié)構(gòu),開創(chuàng)了程序設(shè)計(jì)的時(shí)代。5、請(qǐng)簡(jiǎn)述程序設(shè)計(jì)的一般步驟。程序

8、設(shè)計(jì)的基本過程一般由分析所求解的問題、抽象數(shù)學(xué)模型、 選擇合適算法、 編寫程序、調(diào)試通過直至得到正確結(jié)果等幾個(gè)階段所組成。其設(shè)計(jì)步驟可以分為:(1)確定要解決的問題。(2)分析問題,建立數(shù)學(xué)模型。(3)選擇計(jì)算方法。(4)確定數(shù)據(jù)結(jié)構(gòu)和算法。(5)繪制流程圖。(6)編寫程序。(7)調(diào)試程序。(8)整理資料,交付使用。6、何謂算法?算法有什么性質(zhì)?算法就是為解決一個(gè)特定問題而采取的特定的有限的步驟。 一個(gè)完整的計(jì)算機(jī)算法必須滿足下述 5 個(gè)準(zhǔn)則或標(biāo)準(zhǔn):有窮性,確定性,可行性,輸入性,輸出性。具有上述 5 個(gè)特性才能稱為算法, 而其中最重要的是算法的有窮性, 如果不具備有窮性的性質(zhì),僅具有另外 4

9、 種性質(zhì),只能稱為計(jì)算過程或計(jì)算方法,而不是算法。7、執(zhí)行高級(jí)語言編寫的程序一般要經(jīng)過怎樣的編譯過程?高級(jí)語言源程序經(jīng)編譯后得到目標(biāo)碼程序,但它還不能立即裝入機(jī)器執(zhí)行,編譯后得到的目標(biāo)模塊還需進(jìn)行連接。 連接程序找出需要連接的外部模塊并到模塊庫中找出被調(diào)用的模塊,調(diào)入內(nèi)存并連接到目標(biāo)模塊上, 形成可執(zhí)行程序。執(zhí)行時(shí),把可執(zhí)行程序加載到內(nèi)存中合適的位置(此時(shí)得到的是內(nèi)存中的絕對(duì)地址)就可執(zhí)行產(chǎn)生運(yùn)行結(jié)果。源程序目標(biāo)程序可執(zhí)行程序結(jié)果編譯連接執(zhí)行8、高級(jí)語言解釋執(zhí)行的一般步驟是什么?解釋執(zhí)行有什么缺點(diǎn)?解釋執(zhí)行需要有一個(gè)解釋程序,它將源代碼程序逐句讀入,然后直接分析語句的含義,立刻給出執(zhí)行結(jié)果。由

10、于解釋執(zhí)行時(shí)只看到一個(gè)語句,難于優(yōu)化、執(zhí)行效率較低。9、請(qǐng)簡(jiǎn)要介紹面向過程式語言中的三種程序設(shè)計(jì)的基本結(jié)構(gòu)。順序結(jié)構(gòu)是指按先后順序從前到后執(zhí)行的語句序列。這些語句邏輯上可能有明確的順序關(guān)系,即后一個(gè)程序語句依賴于前一個(gè)語句,也可能它們之間沒有明確的順序關(guān)系,即某些語句的先后順序并不重要,一個(gè)語句邏輯上并不從屬于另一些語句。選擇結(jié)構(gòu)是指根據(jù)判定條件控制一些語句是否執(zhí)行的語句。選擇結(jié)構(gòu)可用 if-then 、 if-then-else 或 case(或 switch )等語句進(jìn)行描述。當(dāng)判定條件成立時(shí)需要執(zhí)行一組語句,且不成立時(shí)不需要執(zhí)行這些語句,那么應(yīng)當(dāng)采用if-then 語句。當(dāng)判定條件成立時(shí)

11、需要執(zhí)行一組語句,否則需要執(zhí)行另一組語句時(shí),可采用if-then-else 語句。當(dāng)根據(jù)表達(dá)式的取值情況在多個(gè)動(dòng)作中選取其一執(zhí)行時(shí),可采用case語句。循環(huán)結(jié)構(gòu)是指可重復(fù)執(zhí)行一組語句(稱為循環(huán)體 )的程序語句。根據(jù)重復(fù)方式的不同,循環(huán)結(jié)構(gòu)可分為while 型循環(huán)、 until 型循環(huán)和for 型循環(huán)。 while 型循環(huán)是在指定的條件(稱為循環(huán)條件) 成立時(shí), 重復(fù)執(zhí)行循環(huán)體,其特點(diǎn)是執(zhí)行循環(huán)體前先判定循環(huán)條件,因此可能一次也不執(zhí)行循環(huán)體。until型循環(huán)將重復(fù)執(zhí)行循環(huán)體,直到循環(huán)條件成立才結(jié)束該重復(fù),其特點(diǎn)是每執(zhí)行一次循環(huán)體后判定循環(huán)條件,因此至少執(zhí)行一次循環(huán)體。for型循環(huán)將循環(huán)體重復(fù)執(zhí)行

12、給定次數(shù),其特點(diǎn)是循環(huán)開始前可確定循環(huán)次數(shù)。10、什么是面向過程式語言?有什么特點(diǎn)?面向過程式語言, 也叫命令式語言或強(qiáng)制式語言, 它是通過指明一列可執(zhí)行的運(yùn)算及運(yùn)算的次序來描述計(jì)算過程的語言。命令式語言以馮· 諾依曼式計(jì)算機(jī)體系結(jié)構(gòu)為背景。 機(jī)器語言與匯編語言是最早問世的命令式語言。 FORTRAN , ALGOL , COBOL ,PASCAL ,C,Ada 等高級(jí)語言也屬過程式語言,其變量對(duì)應(yīng)于存儲(chǔ)單元, 對(duì)變量的訪問就是對(duì)相應(yīng)存儲(chǔ)單元的訪問。 各個(gè)語句在程序中的順序以及轉(zhuǎn)向語句等控制語句則明確規(guī)定了機(jī)器的執(zhí)行步驟,這就是馮·諾依曼式體系結(jié)構(gòu)的思維方式在程序設(shè)計(jì)中的反

13、映。過程式語言程序的本質(zhì)是重復(fù)地、按步地計(jì)算低級(jí)(非抽象)值并將之賦給變量(對(duì)象),這就迫使程序人員去關(guān)心比較低級(jí)的細(xì)節(jié),而這不適用于設(shè)計(jì)復(fù)雜算法。因此,幾十年來過程式語言一直向著隱蔽低級(jí)機(jī)器屬性、提高程序?qū)哟闻c抽象性的方向發(fā)展。11、結(jié)構(gòu)化程序設(shè)計(jì)方法的主要技術(shù)是什么?結(jié)構(gòu)化程序設(shè)計(jì)方法的主要技術(shù)是自頂向下、 逐步求精。 具體地說, 就是在接受一個(gè)任務(wù)之后,縱觀全局, 先設(shè)想好整個(gè)任務(wù)分為幾個(gè)子任務(wù), 每一個(gè)子任務(wù)又可以進(jìn)行細(xì)分,直到不需要細(xì)分為止。這種方法就叫做“自頂向下、逐步求精”。采用這種方法考慮問題比較周全, 結(jié)構(gòu)清晰, 層次分明。 用這種方法也便于驗(yàn)證算法的正確性。 在向下一層細(xì)分

14、之前應(yīng)檢查本層設(shè)計(jì)是否正確, 只有上一層是正確的才可以繼續(xù)細(xì)分。如果每一層設(shè)計(jì)都沒有問題, 則整個(gè)算法就是正確的。 由于每一層向下細(xì)分時(shí)都不太復(fù)雜,因此容易保證整個(gè)算法的正確性。檢查時(shí)也是由上而下逐層檢查, 這樣做思路清晰,可以有條不紊地一步一步地進(jìn)行,既嚴(yán)謹(jǐn)又方便。12、結(jié)構(gòu)化程序設(shè)計(jì)的主要特征與風(fēng)格是什么?結(jié)構(gòu)化程序設(shè)計(jì)的主要特征與風(fēng)格如下所述。(1) 一個(gè)程序按結(jié)構(gòu)化程序設(shè)計(jì)方式構(gòu)造時(shí),由三種基本控制結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)構(gòu)成。(2)有限制地使用goto 語句。鑒于 goto 語句的存在使程序的靜態(tài)書寫順序與動(dòng)態(tài)執(zhí)行順序十分不一致, 導(dǎo)致程序難讀難理解,容易存在潛在的錯(cuò)誤,

15、難于證明正確性,有人主張程序中禁止使用 goto 語句,但有人則認(rèn)為 goto 語句是一種有效設(shè)施, 不應(yīng)全盤否定而完全禁止使用。結(jié)構(gòu)程序設(shè)計(jì)并不在于是否使用 goto 語句,因此作為一種折衷,允許在程序中有限制地使用 goto 語句。(3) 往往藉助于體現(xiàn)結(jié)構(gòu)化程序設(shè)計(jì)思想的所謂結(jié)構(gòu)化程序設(shè)計(jì)語言來書寫結(jié)構(gòu)化程序,并采用一定的書寫格式以提高程序結(jié)構(gòu)的清晰性,增進(jìn)程序的易讀性。(4) 它強(qiáng)調(diào)了程序設(shè)計(jì)過程中人的思維方式與規(guī)律,是一種自頂向下的程序設(shè)計(jì)策略,它通過一組規(guī)則、 規(guī)律與特有的風(fēng)格對(duì)程序設(shè)計(jì)細(xì)分和組織。 對(duì)于小規(guī)模程序設(shè)計(jì), 它與逐步精化的設(shè)計(jì)策略相聯(lián)系, 即采用自頂向下、 逐步求精的

16、方法對(duì)其進(jìn)行分析和設(shè)計(jì); 對(duì)于大規(guī)模程序設(shè)計(jì), 它則與模塊化程序設(shè)計(jì)策略相結(jié)合, 即將一個(gè)大規(guī)模的問題劃分為幾個(gè)模塊,每一個(gè)模塊完成一定的功能。13、什么是軟件?什么是軟件工程?計(jì)算機(jī)系統(tǒng)中的程序及其文檔稱為軟件。其中,程序是計(jì)算機(jī)任務(wù)的處理對(duì)象和處理規(guī)則的描述; 文檔是為了理解程序所需的闡述性資料。細(xì)言之,軟件一詞具有三層含義。一為個(gè)體含義, 即指計(jì)算機(jī)系統(tǒng)中的程序及其文檔;二為整體含義, 即指在特定計(jì)算機(jī)系統(tǒng)中所有上述個(gè)體含義下的軟件的總稱,亦即計(jì)算機(jī)系統(tǒng)中硬件除外的所有成分;三為學(xué)科含義,即指在研究、開發(fā)、維護(hù)以及使用前述含義下的軟件所涉及的理論、方法、技術(shù)所構(gòu)成的學(xué)科。軟件工程是應(yīng)用計(jì)

17、算機(jī)科學(xué)、 數(shù)學(xué)及管理科學(xué)等原理, 開發(fā)軟件的工程。 它借鑒了傳統(tǒng)工程的原則、方法,以提高軟件質(zhì)量,降低開發(fā)成本為目的。其中,計(jì)算機(jī)科學(xué)、數(shù)學(xué)用于構(gòu)造模型和算法,工程科學(xué)用于制訂規(guī)范、設(shè)計(jì)范型、評(píng)估成本等,管理科學(xué)用于計(jì)劃、資源、質(zhì)量、成本等管理。軟件工程是一門交叉性學(xué)科, 迄今為止, 軟件工程的研究與應(yīng)用已取得很大成就, 大大緩解了軟件危機(jī), 但是軟件的開發(fā)還是一項(xiàng)艱巨的任務(wù), 對(duì)于軟件的如何組織和開發(fā)還在不斷地發(fā)展之中。14、在軟件工程過程中圍繞著工程設(shè)計(jì)、工程支持和工程管理應(yīng)當(dāng)遵循什么基本原則?圍繞工程設(shè)計(jì)、工程支持以及工程管理,提出了以下四條基本原則:第一條原則是選取適宜的開發(fā)模型。該

18、原則與系統(tǒng)設(shè)計(jì)有關(guān)。在系統(tǒng)設(shè)計(jì)中, 軟件需求、硬件需求以及其它因素之間是相互制約、 相互影響的,經(jīng)常需要權(quán)衡。 因此, 必須認(rèn)識(shí)需求定義的易變性,采用適宜的開發(fā)模型予以控制,以保證軟件產(chǎn)品滿足用戶的要求。第二條原則是采用合適的設(shè)計(jì)方法。在軟件設(shè)計(jì)中, 通常要考慮軟件的模塊化、抽象與信息隱蔽、 局部化、 一致性以及適應(yīng)性等特征。合適的設(shè)計(jì)方法有助于這些特征的實(shí)現(xiàn),以達(dá)到軟件工程的目標(biāo)。第三條原則是提供高質(zhì)量的工程支持。 在軟件工程中, 軟件工具與環(huán)境對(duì)軟件過程的支持頗為重要。軟件工程項(xiàng)目的質(zhì)量與開銷直接取決于對(duì)軟件工程所提供的支撐質(zhì)量和效用。第四條原則是重視開發(fā)過程的管理。軟件工程的管理,直接影

19、響可用資源的有效利用,生產(chǎn)滿足目標(biāo)的軟件產(chǎn)品, 提高軟件組織的生產(chǎn)能力等問題。 因此,僅當(dāng)軟件過程予以有效管理時(shí),才能實(shí)現(xiàn)有效的軟件工程。15、什么是軟件的生存周期?如何劃分軟件的生存周期?軟件產(chǎn)品從形成概念開始, 經(jīng)過開發(fā)、 使用和維護(hù), 直至最后退役的全過程稱為軟件生存周期。根據(jù)軟件所處的狀態(tài)、 特征以及軟件開發(fā)活動(dòng)的目的、 任務(wù)可以將生存周期劃分為若干階段。一般說來,軟件生存周期包括軟件定義、軟件開發(fā)、軟件使用與維護(hù)三個(gè)部分,并可進(jìn)一步細(xì)分為可行性研究、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、實(shí)現(xiàn)、組裝測(cè)試、確認(rèn)測(cè)試、使用、維護(hù)和退役十個(gè)階段。16、瀑布模型的主要思想和特點(diǎn)是什么?瀑布模型也稱軟件

20、生存周期模型。 根據(jù)軟件生存周期各個(gè)階段的任務(wù), 瀑布模型從可行性研究 (或稱系統(tǒng)需求分析)開始, 逐步進(jìn)行階段性變換,直至通過確認(rèn)測(cè)試并得到用戶確認(rèn)的軟件產(chǎn)品為止。 瀑布模型上一階段的變換結(jié)果是下一階段變換的輸入, 相鄰的兩個(gè)階段具有因果關(guān)系,緊密相聯(lián)。一個(gè)階段工作的失誤將蔓延到以后的各個(gè)階段。為了保證軟件開發(fā)的正確性,每一階段任務(wù)完成后,都必須對(duì)它的階段性產(chǎn)品進(jìn)行評(píng)審,確認(rèn)之后再轉(zhuǎn)入下一階段的工作。評(píng)審過程發(fā)現(xiàn)錯(cuò)誤和疏漏后,應(yīng)該反饋到前面的有關(guān)階段修正錯(cuò)誤、彌補(bǔ)疏漏,然后再重復(fù)前面的工作,直至某一階段通過評(píng)審后再進(jìn)入下一階段,這種形式的瀑布模型是帶有反饋的瀑布模型。瀑布模型在軟件工程中占有

21、重要的地位,它提供了軟件開發(fā)的基本框架,這比依靠 “個(gè)人技藝” 開發(fā)軟件好得多。它有利于大型軟件開發(fā)過程中人員的組織和管理,有利于軟件開發(fā)方法和工具的研究與使用,從而提高了大型軟件項(xiàng)目開發(fā)的質(zhì)量和效率。瀑布模型的主要特點(diǎn)是:階段間的順序性和依賴性,開發(fā)過程是一個(gè)嚴(yán)格的下導(dǎo)式過程,即前一階段的輸出是后一階段的輸入,每一階段工作的完成需要確認(rèn),而確認(rèn)過程是嚴(yán)格的追溯式過程, 后一階段出現(xiàn)了問題要通過前一階段的重新確認(rèn)來解決。因此, 問題發(fā)現(xiàn)得越晚解決問題的代價(jià)就越高。瀑布模型的主要缺點(diǎn)是:( 1) 在軟件開發(fā)的初始階段指明軟件系統(tǒng)的全部需求是困難的,有時(shí)甚至是不現(xiàn)實(shí)的。( 2)軟件開發(fā)是個(gè)知識(shí)密集

22、型的開發(fā)活動(dòng),需要人們合作交流才能完成,但在瀑布模型中沒有這方面的體現(xiàn)。 隨著軟件開發(fā)項(xiàng)目規(guī)模的日益龐大, 由此引發(fā)的問題顯得更為嚴(yán)重。17、快速原型法的主要思想和特點(diǎn)是什么?快速原型法是針對(duì)瀑布模型(即傳統(tǒng)的生存周期法)提出來的一種方法。它的基本思想是回避 (或暫時(shí)回避 )傳統(tǒng)的生存周期法中的一些難點(diǎn),順從用戶需求出發(fā),快速建立一個(gè)原型。使用戶通過這個(gè)原型初步表達(dá)出自己的要求,在征求用戶對(duì)原型意見的過程中,進(jìn)一步修改、 完善、確認(rèn)軟件系統(tǒng)的需求并達(dá)到一致的理解,這就大大避免了在瀑布模型冗長的開發(fā)過程中, 看不見最終軟件產(chǎn)品雛形的現(xiàn)象。通過反復(fù)修改、完善,逐步靠近用戶的全部需求,最終形成一個(gè)完

23、全滿足用戶要求的新體系。因此,快速原型法的最大特點(diǎn)是快捷,且避免了許多由于不同理解而造成的錯(cuò)誤??焖匍_發(fā)原型的途徑有三種:( 1)利用計(jì)算機(jī)模擬軟件系統(tǒng)的人機(jī)界面和人機(jī)交互方式。( 2 )開發(fā)一個(gè)工作原型,實(shí)現(xiàn)軟件系統(tǒng)的部分功能,而這部分功能是重要的,也可能是容易產(chǎn)生誤解的。( 3)利用類似軟件向客戶展示軟件需求中的部分或全部功能。為了快速開發(fā)原型,要盡量采用軟件重用技術(shù),在算法時(shí) / 空開銷方面也可以讓步,以便爭(zhēng)取時(shí)間,盡快向用戶提供原型。原型應(yīng)充分展示軟件的可見部分,如數(shù)據(jù)的輸入方式、人機(jī)界面、數(shù)據(jù)的輸出格式等。原型模型在各個(gè)階段用戶反饋活動(dòng)的基礎(chǔ)上, 突出了快速的改進(jìn)過程, 它改變了瀑布

24、模型的線性結(jié)構(gòu), 采用逐步求精方法使原型逐步完善, 以滿足用戶的要求, 是一種在新的高層次上不斷反復(fù)推進(jìn)的過程。由于原型是用戶和軟件開發(fā)人員共同設(shè)計(jì)和評(píng)審的, 因此利用原型能統(tǒng)一用戶和軟件開發(fā)人員對(duì)軟件項(xiàng)目需求的理解, 有助于需求的定義和確認(rèn)。 利用原型定義和確認(rèn)軟件需求之后,就可以對(duì)軟件系統(tǒng)進(jìn)行設(shè)計(jì)、編碼、測(cè)試和維護(hù)。原型系統(tǒng)的不足之處有以下兩點(diǎn):( 1)為了使系統(tǒng)盡快運(yùn)行起來,系統(tǒng)開發(fā)人員在初期往往考慮得不周全,有可能使原型不能成為最終軟件產(chǎn)品的一部分, 只是一個(gè)示例而已。 這樣,在實(shí)際開發(fā)軟件產(chǎn)品時(shí),仍有許多工作要做。( 2)原型模型需要大量完備和實(shí)用的軟件工具的支持才能實(shí)現(xiàn),即原型模型

25、對(duì)工具和環(huán)境的依賴性較高。四、程序設(shè)計(jì)1、小明有5 本新書,要借給、三位小朋友,若每人每次只能借一本,則可有多少種不同的借法?main( )int a, b, c, count=0;for ( a=1; a<=5; a+ )for ( b=1; b<=5; b+ )for ( c=1; a!=b && c<=5; c+)/* 當(dāng)前兩個(gè)人借不同的書時(shí),窮舉第三個(gè)人的借本情況 */ if ( c!=a && c!=b )printf( count%8 ? "%2d:%d,%d,%d" : "%2d:%d,%d,%dn&

26、quot;, +count, a, b, c );2、百錢百雞問題。中國古代數(shù)學(xué)家張丘建在他的算經(jīng)中提出了著名的“百錢百雞問題”:雞翁一,值錢五;雞母一,值錢三;雞雛三,值錢一;百錢買百雞,翁、母、雛各幾何?#include <stdio.h>main( ) int x, y, z, j=0;for (x=0; x<=20; x+)for ( y=0; y<=(100-5*x)/3; y+ ) z = 100-x-y;if ( z%3=0 && 5*x+3*y+z/3=100 ) printf("%2d:cock=%2d hen=%2d chi

27、cken=%2dn", +j, x, y, z ) ;3、從鍵盤輸入h 值,輸出h 行用 * 號(hào)組成等腰三角形。例:輸入h=4,輸出的圖形如下:* * *#include <stdio.h>main ( ) inth, k, j;scanf (”%d”, &h);for ( k=1; k<=h; k+)for ( j=1; j<=h-k; j+)printf ( ”);for ( j=1; j<=2*k-1; j+)printf ( ”*”);/* 控制打印h 行/* 打印空格*/*打印*號(hào)*/*/printf( ”n”) ;4、從鍵盤輸入h 值

28、,輸出h 行用 * 號(hào)組成的菱形。例:輸入h=4,輸出的圖形如下:* * * * *#include <stdio.h>main ( ) int h, k, j, m, n ; printf ("Enter H:"); scanf ("%d", &h);for (j=1; j<=2*h-1; j+)/*if (j<=h) m=h-j; n=2*j-1;else m=j-h; n=4*h-1-2*j; for (k=1; k<=m; k+)/*printf (" ");for (k=1; k<=n; k+)/*行控制*/打印空格打印*/*/printf ("*");printf("n");5、編寫程序。從鍵盤輸入h 值,輸出h 行用 * 號(hào)組成的平行四邊形。例:輸入h=4 ,輸出的圖形如下:*#include <stdio.h>main ( ) int h, k, j;scanf (” %d” , &h);for ( k=1; k<=h; k+)/*控制打印 h行 */ for (

溫馨提示

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

評(píng)論

0/150

提交評(píng)論