《從規範出發的程式設計》是2002年機械工業出版社出版的圖書,作者是美CarrollMorgan。
基本介紹
- 作者:美 Carroll Morgan
- 譯者:裘宗燕
- ISBN:9787111108474
- 頁數:314
- 定價:45.00元
- 出版社:機械工業出版社
- 出版時間:2002-8
- 裝幀:簡裝本
內容介紹,作品目錄,
內容介紹
本書詳細論述了有關規範程式設計的內容,包括:程式和精化、謂詞演算、選擇、疊代、構造類型、模組和封裝等,最後幾章還包含了大量的實例研究和一些更高級的程式設計技術。本書提倡一種嚴格的程式開發方法,分析問題要用嚴格方式寫出程式的規範,而後通過一系列具有嚴格理論基礎的推導,最終得到可以運行的程式。
本書是被世界上許多重要大學採用的教材,適於計算機及相關專業的本科生和研究生使用。
作品目錄
第1章 程式和精化
1.1 傳統觀點
1.2 一種新觀點
1.3 程式作為契約:精化
1.4 抽象程式
1.5 可執行程式
1.6 混合程式
1.7 不可行程式
1.8 一些常見習慣用法
1.9 幾個極端程式
1.10 練習
第2章 謂詞演算
2.1 相關性
2.2 項
2.3 簡單公式
2.4 命題公式
2.5 量詞
2.6 (一般)公式
2.7 運算符的優先權
2.8 謂詞演算
.2.9 練習
第3章 賦值和順序複合
3.1 引言
3.2 賦值
3.3 開賦值
3.4 skip命令
3.5 順序複合
3.6 賦值與複合的結合
3.7 例:交換變數的值
3.8 練習
第4章 選擇
4.1 操作性描述
4.2 精化法則
4.3 練習
第5章 疊代
5.1 操作性描述
5.2 精化法則:非形式的
5.3 疊代的終止性:變動量
5.4 疊代的精化法則
5.5 疊代的"核查表"
5.6 練習
第6章 類型和聲明
6.1 類型
6.2 聲明
6.3 局部塊
6.4 類型與不變式的使用
6.5 關於可行性的最後註記
6.6 類型和不變式的檢查
6.7 無定義表達式
6.8 練習
第7章 實例研究:平方根
7.1 抽象程式:出發點
7.2 除去"外來"運算符
7.3 尋找不變式
7.4 練習
第8章 初始變數
8.1 簡單規範
8.2 初始變數的精確化
8.3 再看順序複合
8.4 先導賦值
8.5 練習
第9章 構造類型
9.1 冪集
9.2 包
9. 3 序列
9.4 分配運算符
9.5 函式
9.6 關係
9.7 練習
第10章 實例研究:插入排序
10.1 什麼叫排序
10.2 類似的前後條件
10.3 減小變動量
10.4 向上或向下疊代
10.5 一個巧妙的不變式
10.6 對序列賦值
10.7 刪除局部不變式
10.8 練習
第11章 過程和參數
11.1 無參過程
11.2 用值做替換
11.3 帶參數的過程
11.4 對過程調用的精化
11.5 多重替換
11.6 值結果替換
11.7 語法問題
11.8 引用替換
11.9 練習
第12章 實例研究:堆排序
12.1 代碼的時間複雜性
12.2 堆
12.3 堆的收縮
12.4 建堆
12.5 過程sift
12.6 練習
第13章 遞歸過程
13.1 部分正確性
13.2 遞歸的變動員
13.3 一個完整例子
13.4 跋:遞歸塊
13.5 練月
第14章 實例研究:灰色編碼
14.1 灰色編碼
14.2 輸入輸出
14. 3 孤立的基礎情況
14.4 練習
第13章 遞歸類型
15.1 不相交並
15.2 標誌測試
15.3 對選擇的模式匹配
15.4 類型聲明
15.5 遞歸類型
15.6 結構序
15.7 疊代中的模式匹配
15.8 例子:樹的求和
15.9 練習
第16章 模組和封裝
16.1 模組聲明
16.2 引出的和局部的過程
16.3 模組的精化
16.4 引入過程和變數
16.5 定義模組與實現模組
16.6 循環引出/引入
16.7 代碼中的初始式
16.8 練習
第17章 狀態變換和數據精化
17.1 我們還不能證明什麼
17.2 狀態變換
17.3 強制
17.4 加入變數:擴張
17.5 刪除輔助變數:收縮
17.6 數據精化的一個實例
17.7 函式式抽象
17.8 練習
第18章 實例研究:多數表決
18.1 代碼精化
18. 2 贏得選舉
18.3 直接開發得到平方型代碼
18.4 第二個嘗試更快速
18.5 代碼變換
18.6 簡化的代碼
18.7 練習
第19章 起源和總結
第20章 實 例研究:分段問題
20.1 均勻分段
20.2 最小損耗
20.3 生成均勻分段
20.4 練習
第21章 實例研究:直方圖的最大矩形
21.1 做好基礎性工作
21.2 分治法
21.3 強化不變式以恢復可行性
21.4 引入遞歸
21.5 包裝
21.6 練習
第22章 實例研究:一個mail系統
22.1 第一個規範
22.2 標識符的重用
22.3 第二個規範:重用
22.4 第三個規範:延遲
22.5 第一個開發:異步傳送
22.6 第二步開發:收條
22.7 最後的開發步驟:打包
22.8 練習
第23章 語義
23.1 引言
23.2 謂詞變換器
23.3 語義定義
附錄a 謂詞演算的一些法則
a.1 一些命題法則
a.2 一些謂詞法則
附錄b 習題解答
附錄c 法則彙編
參考文獻
索引
1.1 傳統觀點
1.2 一種新觀點
1.3 程式作為契約:精化
1.4 抽象程式
1.5 可執行程式
1.6 混合程式
1.7 不可行程式
1.8 一些常見習慣用法
1.9 幾個極端程式
1.10 練習
第2章 謂詞演算
2.1 相關性
2.2 項
2.3 簡單公式
2.4 命題公式
2.5 量詞
2.6 (一般)公式
2.7 運算符的優先權
2.8 謂詞演算
.2.9 練習
第3章 賦值和順序複合
3.1 引言
3.2 賦值
3.3 開賦值
3.4 skip命令
3.5 順序複合
3.6 賦值與複合的結合
3.7 例:交換變數的值
3.8 練習
第4章 選擇
4.1 操作性描述
4.2 精化法則
4.3 練習
第5章 疊代
5.1 操作性描述
5.2 精化法則:非形式的
5.3 疊代的終止性:變動量
5.4 疊代的精化法則
5.5 疊代的"核查表"
5.6 練習
第6章 類型和聲明
6.1 類型
6.2 聲明
6.3 局部塊
6.4 類型與不變式的使用
6.5 關於可行性的最後註記
6.6 類型和不變式的檢查
6.7 無定義表達式
6.8 練習
第7章 實例研究:平方根
7.1 抽象程式:出發點
7.2 除去"外來"運算符
7.3 尋找不變式
7.4 練習
第8章 初始變數
8.1 簡單規範
8.2 初始變數的精確化
8.3 再看順序複合
8.4 先導賦值
8.5 練習
第9章 構造類型
9.1 冪集
9.2 包
9. 3 序列
9.4 分配運算符
9.5 函式
9.6 關係
9.7 練習
第10章 實例研究:插入排序
10.1 什麼叫排序
10.2 類似的前後條件
10.3 減小變動量
10.4 向上或向下疊代
10.5 一個巧妙的不變式
10.6 對序列賦值
10.7 刪除局部不變式
10.8 練習
第11章 過程和參數
11.1 無參過程
11.2 用值做替換
11.3 帶參數的過程
11.4 對過程調用的精化
11.5 多重替換
11.6 值結果替換
11.7 語法問題
11.8 引用替換
11.9 練習
第12章 實例研究:堆排序
12.1 代碼的時間複雜性
12.2 堆
12.3 堆的收縮
12.4 建堆
12.5 過程sift
12.6 練習
第13章 遞歸過程
13.1 部分正確性
13.2 遞歸的變動員
13.3 一個完整例子
13.4 跋:遞歸塊
13.5 練月
第14章 實例研究:灰色編碼
14.1 灰色編碼
14.2 輸入輸出
14. 3 孤立的基礎情況
14.4 練習
第13章 遞歸類型
15.1 不相交並
15.2 標誌測試
15.3 對選擇的模式匹配
15.4 類型聲明
15.5 遞歸類型
15.6 結構序
15.7 疊代中的模式匹配
15.8 例子:樹的求和
15.9 練習
第16章 模組和封裝
16.1 模組聲明
16.2 引出的和局部的過程
16.3 模組的精化
16.4 引入過程和變數
16.5 定義模組與實現模組
16.6 循環引出/引入
16.7 代碼中的初始式
16.8 練習
第17章 狀態變換和數據精化
17.1 我們還不能證明什麼
17.2 狀態變換
17.3 強制
17.4 加入變數:擴張
17.5 刪除輔助變數:收縮
17.6 數據精化的一個實例
17.7 函式式抽象
17.8 練習
第18章 實例研究:多數表決
18.1 代碼精化
18. 2 贏得選舉
18.3 直接開發得到平方型代碼
18.4 第二個嘗試更快速
18.5 代碼變換
18.6 簡化的代碼
18.7 練習
第19章 起源和總結
第20章 實 例研究:分段問題
20.1 均勻分段
20.2 最小損耗
20.3 生成均勻分段
20.4 練習
第21章 實例研究:直方圖的最大矩形
21.1 做好基礎性工作
21.2 分治法
21.3 強化不變式以恢復可行性
21.4 引入遞歸
21.5 包裝
21.6 練習
第22章 實例研究:一個mail系統
22.1 第一個規範
22.2 標識符的重用
22.3 第二個規範:重用
22.4 第三個規範:延遲
22.5 第一個開發:異步傳送
22.6 第二步開發:收條
22.7 最後的開發步驟:打包
22.8 練習
第23章 語義
23.1 引言
23.2 謂詞變換器
23.3 語義定義
附錄a 謂詞演算的一些法則
a.1 一些命題法則
a.2 一些謂詞法則
附錄b 習題解答
附錄c 法則彙編
參考文獻
索引