程式設計方法學考試簡答

2021-03-04 09:39:16 字數 4196 閱讀 3757

第一章1. 程式設計方法學產生的歷史背景

答:軟體危機。

2. 什麼是程式設計方法學

答:簡單地說,程式設計方法學是講述程式的性質以及程式設計的理論和方法的一門學科。

3.程式設計方法學與結構程式設計的關係

答:在程式設計方法學中,結構程式佔著十分重要的位置,可以說,程式設計方法學是在結構程式設計的基礎上逐步發展和完善起來的。

4. d.gries教授將已有的對結構程式設計的不同解釋歸納為幾種?

答:主要有6種。

(圖手工畫)

5. 什麼是結構程式設計?

答:結構程式設計是一種進行程式設計的原則和方法,按照這種原則和方法設計出的程式的特點是結構清晰、容易閱讀、容易修改、容易驗證。按照結構程式設計的要求設計出的程式語言稱為結構程式語言。

6. 結構程式設計的目標是什麼?

答:得到乙個好結構程式

7. 結構化程式由哪些結構組成:p5

答:序列結構、選擇結構、迴圈結構。

8. 什麼是逐步求精程式設計方法

答:就是在編制乙個程式時,首先考慮程式的整體結構而忽視一些細節問題,然後逐步的、一層一層地細化程式直至所選用的語言完全描述乙個細節,即得到所期望的程式為止。

9. 逐步求精的優點是什麼?

答:擺脫了傳統的程式設計方法的束縛,按照先全域性後區域性,先整體後細節,先抽象後具體的過程組織人們的思維活動,使得編寫出的程式結構清晰、容易閱讀、容易修改。同時,還可以結合逐步求精的過程進行程式正確性驗證,即採取邊設計、邊驗證的方法,以簡化程式正確性的驗證。

第二章:

1. 流程圖程式

答:乙個程式可以用流程圖的形式表示出來,這種程式就稱為流程圖程式。

2. 正規程式

答:乙個流程圖程式如果滿足一下兩個條件就稱為正規程式

(1)具有乙個入口線和乙個出口線;

(2)對每乙個結點,都有一條從入口線到出口線的通路結點。

3. 基本程式

答:乙個正規程式如果不包含多於乙個結點的正規子程式稱為基本程式。

4.結構化程式

答:由基本程式的乙個固定的基集合構造出的復合程式稱為結構化程式。

5. 程式函式

答:已知一正規程式p,對於每乙個初始的資料狀態x,若程式是終止的,那麼有確定的最終資料狀態y,如果每乙個給定的x,值y是唯一的,那麼所有的有序對的集合{(x,y)}定義了乙個函式,我們稱這個函式為程式p的程式函式,記為[p].

6. 程式函式等價

答:如果程式p1和p2有相同的程式函式,稱他們是等價的,簡稱是等價的。

7. 結構化定理:使用方式

答:任一正規程式都可以函式等價於乙個由基集合{序列,if-then-else,while-do}產生的結構化程式。

第三章:

第四章:

1. 物件導向的程式設計方法是新型的結構化程式設計。20世紀80年代

2. 什麼是應用框架

應用框架就是在某特定的應用領域中,程式之間的共同特徵。框架就是整個或部分系統的可重用設計,乙個框架是乙個可復用的設計元件

3. 框架與一般類庫的主要區別

答:反向呼叫

第五章:

1. 證明與測試的區別

答:測試:給程式一組或者幾組初始值進行試算,然後將試算的結果與事先已知的結果進行比較,若兩者相同,則認為程式是正確的,若兩者不同,則認為是錯誤的。

證明:證明方法不僅可以證明程式的正確性,有些還可以證明非確定性程式及並行程式的正確性。

2. 部分正確性與完全正確性

答:程式正確性嚴格定義通常分為三種型別,及程式的部分正確性、終止性、和完全正確正確性。完全正確等價於改程式是部分正確的同時又是終止的,因此,為了證明乙個程式的完全正確性,通常採用的方法是分別證明該程式的部分正確性和終止性。

3. 不變式斷言法步驟

答:分三個步驟:建立斷言,建立檢驗條件,證明檢驗條件。

4. 子目標斷言法與不變式斷言法的區別

答:兩種方法對迴圈所建立的斷言不同,兩種方法進行歸納的方向不同

5. hoare定義的賦值公理、推理規則

答:賦值公理。條件規則、while規則、並置規則、結論規則

6. hoare推理過程的兩種形式?答:組裝、分解

7. 良序集

答:設(w,<)是乙個偏序集,如果不存在由w中的元素構成的無限遞減序列,a0>a1>a2…則稱(w,<)是乙個良序集

8. 良序集方法的步驟

答:1.選取乙個點集去截斷程式的各個迴圈部分,並且在每個斷點i處建立乙個中間斷言qi(x,y)。這樣程式就被分解為若干條通路,同時規定每一條通路都不包有中間階段點。

2.選取乙個良序集(w,<),並且在每一截斷點i處定義乙個終止表示式ei(x,y)

3.證明所選取的斷言是「良斷言」

4.證明終止表示式是良函式

5.證明終止條件成立

9. 計數器方法

答:計數器方法是d.e.

knuth在2023年提出來的。它的基本思想是對程式中的每乙個迴圈附加乙個新的變數o,迴圈通路每執行一次,計數器加1同時,對每乙個迴圈提供乙個新的中間斷言,他表示相應的計數器不會超過某個固定的界限,進一步證明此中間斷言是不變式斷言,這樣,就可以斷定迴圈只能執行有限次,因而程式時終止的。

第六章:

1.f=[p]的含義,作用

答:假設已知一程式p和一預期函式f,若有f=[p],稱程式p正確地實現了函式f,或者說程式p是正確的。

2. 定理6.1 a c d 第179頁

3. 使用跟蹤表求出程式函式例6.2 第183與p184頁

4. 了解分離規則

答:如果乙個條件規則的所有謂詞都是分離的,稱它為分離規則。

5. 定理6.2 f(x)=f(x0) 第188頁

第七章:

1. 迭代與遞迴

答:遞迴是一種比迭代迴圈更強的迴圈結構。可以證明每個迭代程式原則上總可以轉換成與它等價的遞迴程式,但是,反之不然,即並不是每個遞迴程式都可以轉換成與它等價的迭代程式。

但就效率而言,遞迴程式的實現往往要比迭代程式耗費更多的時間與儲存空間,所以在具體實現時,又希望盡可能把遞迴程式轉化成等價的迭代程式,從而提高程式的時空效率。

2. 結構歸納法步驟和使用

答:(1)證明對於「最簡單」的資料、程式執行正確;

(2)假設對於「較簡單」的資料、程式執行正確「歸納假設」,在此基礎上證明對於「較複雜」的資料,程式亦執行正確。

例7.15 p200

3. 良序歸納法步驟、使用例7.15 7.19

答:設(w,<)是乙個良序集,p(x)是乙個命題,為了證明對於所有的x屬於w,p(x)為真,只要

(1) 證明p(x0)為真(x0是w中「最小元素」);

(2) 歸納假設:假設對於所有的x』-x,p(x』)都為真,在此基礎上證明p(x)為真。

例7.19 p203

第八章:

1. 謂詞變換器 wp(s,r)

答:對於做文章程式段s和期望通過執行s而建立的謂詞r,謂詞wp(s,r)表示所有符合下列條件的狀態的集合,如果s從wp(s,r)中的任一狀態開始執行,一定能在有限的時間裡終止於乙個滿足r的狀態,顯然,對於固定的s來說,wp(s,r)可以看作是謂詞r的函式,且函式值也是謂詞,因此通常將它稱為謂詞變換器。

2. 賦值語句、wp的幾條性質

答:第207~208頁

3. 面向目標的程式推導:

答:序列、選擇、迴圈

4. 弱化謂詞的方法:4條,主要是前兩條。

答:減去乙個合取分量,如謂詞a交b交c可被減弱為a交b或者a交c等,

2.用變數代替乙個常量,如謂詞可被減弱為這時,引入了新的變數j,但注意要精確地定義他的取值範圍。

3.擴大乙個變數的值域,如謂詞54.加上乙個析取分量,如謂詞a可被減弱為a並b,這裡b是另乙個任意的謂詞。

第九章:

1. 變換的目的

答:由於遞迴演算法比較符合人的思維習慣(即把「複雜」的問題逐次的歸結為「較簡單」的問題,因此相應的遞迴程式往往具有結構緊湊簡潔和容易理解等優點。但是在具體實現時由於通常必須使用堆疊技術所以要耗費較多的計算時間和儲存時間。

2. 基本思想

答:程式變換的基本思想是把程式設計工作分為兩個階段進行,即程式生成階段和程式改高階段。

程式變換

(注重可讀性和正確性面向過程)

3. 變換規則:5種基本規則

答:程式變換規則一般可分為兩大類:一類是基本變換規則;另一類是派生變換規則.

基本變換規則包括:定義規則,取樣規則,展開和封疊規則,用定律規則,抽象規則。

派生變換規則是一組基本變換規則序列的縮寫,或可有基本變換規則和歸納法加以證明的變化規則。

程式設計方法學部分答案精華版

1.程式設計方法學產生的歷史背景 軟體危機。2.什麼是程式設計方法學 程式設計方法學是講述程式的性質以及程式設計的理論和方法的一門學科,內容包括結構程式設計 資料抽象與模組化程式設計 程式正確性證明 程式變換 程式的形式說明與推導 程式綜合技術 物件導向的程式設計法 大型程式設計方法學基礎等 程式設...

程式設計方法

1.對兩個8位元組無符號數求和,這兩個數分別用變數data1及data2表示。將兩數之和的最高進製放在al中,兩數之和的其他位按從高到低順序依次放在si,bx,cx,dx中。解 程式如下 data segment data1 db 0cdh,0bch,0abh,9ah,78h,56h,34h,12h...

程式設計的方法

加入時間 2002年5月13日顯示次數 72 投票評論 1.模組化 1 把乙個較大的程式劃分為若干子程式,每乙個子程式解決乙個總是獨立成為乙個模組 2 每乙個模組又可繼續劃分為更小的子模組 3 程式具有一種層次結構。注 運用這種程式設計方法,考慮問題必須先進行整體分析,避免邊寫邊想。2.自頂向下 1...