注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計OCaml語言編程基礎(chǔ)教程

OCaml語言編程基礎(chǔ)教程

OCaml語言編程基礎(chǔ)教程

定 價:¥79.00

作 者: 陳鋼,張靜 著
出版社: 人民郵電出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787115471215 出版時間: 2018-06-01 包裝: 平裝
開本: 16開 頁數(shù): 314 字?jǐn)?shù):  

內(nèi)容簡介

  OCaml語言是一種函數(shù)式程序設(shè)計語言。本書重點介紹函數(shù)式編程的基礎(chǔ)知識以及OCaml程序設(shè)計的技巧,同時兼顧應(yīng)用軟件開發(fā)的需求。全書共8章,前5章講解OCaml語言的函數(shù)式控制結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)、模塊化程序設(shè)計、命令式程序設(shè)計和圖形程序設(shè)計;第6章介紹如何把OCaml移植到F#,第7章介紹通過C#開發(fā)的用戶界面調(diào)用OCaml或F#程序,第8章介紹面向?qū)ο蟪绦蛟O(shè)計。本書適合想要學(xué)習(xí)OCaml程序語言或者想要學(xué)習(xí)函數(shù)式編程的讀者閱讀參考。

作者簡介

  陳鋼航天科工集團三院304所國家千人計劃專家,中國計算機學(xué)會會員。本科畢業(yè)于浙江大學(xué)數(shù)學(xué),碩士畢業(yè)于北京大學(xué)計算機系,并在法國巴黎第七大學(xué)獲得計算機博士學(xué)位。在OCaml語言和COQ定理證明器發(fā)源地受過專業(yè)訓(xùn)練,是國內(nèi)初次開展COQ定理證明工作及其在集成電路中的應(yīng)用的學(xué)者,曾在上海交大、南澳大學(xué)、波士頓大學(xué)、摩托羅拉公司工作。2013年加入航天科工集團三院304所,從事基于定理證明的AES加密算法驗證與FPGA實現(xiàn)研究、缺陷分析軟件評估研究和形式化飛行控制數(shù)學(xué)研究。2017年組織了計算機學(xué)會“形式化工程數(shù)學(xué)”研討會。張靜 東北大學(xué)計算機專業(yè)本科畢業(yè)。在北京京航計算通訊研究所工作期間,跟隨陳鋼老師學(xué)習(xí)OCaml和COQ,并從事程序缺陷分析軟件的評估工作。目前在中石油新疆油田從事信息系統(tǒng)管理工作。

圖書目錄

第 1章 函數(shù)式控制結(jié)構(gòu) 1
1.1 OCaml解釋器 2
1.2 表達(dá)式和let定義 3
1.3 let局部定義 6
1.4 基本類型 8
1.4.1 整數(shù)類型int 9
1.4.2 浮點類型float 11
1.4.3 字符類型char 13
1.4.4 unit類型和簡單輸入輸出 14
1.4.5 字符串類型string與
printf函數(shù) 15
1.4.6 bool類型和if表達(dá)式 18
1.5 乘積類型和模式匹配初步 21
1.6 函數(shù)和函數(shù)類型 23
1.6.1 簡單函數(shù) 23
1.6.2 函數(shù)表達(dá)式 28
1.6.3 function和fun比較 30
1.6.4 高階函數(shù) 31
1.6.5 遞歸函數(shù) 33
1.6.6 相互遞歸函數(shù) 36
1.6.7 模式匹配表達(dá)式 36
1.7 多態(tài)類型 40
1.7.1 類型變量 40
1.7.2 類型推導(dǎo) 42
1.8 λ演算對函數(shù)式語言的影響 44
1.9 中綴操作符與前綴操作符 45
1.10 同構(gòu)函數(shù)和柯里化 46
1.11 循環(huán)迭代函數(shù) 47
1.12 本章小結(jié) 51
1.13 練習(xí) 52
第 2章 函數(shù)式數(shù)據(jù)結(jié)構(gòu) 55
2.1 函數(shù)式數(shù)據(jù)類型和自動存儲
管理 55
2.2 類型的顯式定義 59
2.3 記錄類型 61
2.3.1 記錄類型和記錄的創(chuàng)建 62
2.3.2 函數(shù)的記錄參數(shù) 63
2.3.3 記錄字段的重名 63
2.3.4 記錄的部分重建 64
2.3.5 記錄字段簡寫 65
2.3.6 多態(tài)記錄類型 65
2.4 聯(lián)合類型 65
2.4.1 帶參數(shù)的構(gòu)造子 67
2.4.2 由單個構(gòu)造子構(gòu)成
的聯(lián)合類型 68
2.4.3 遞歸類型 68
2.4.4 帶多態(tài)變量的聯(lián)合類型 70
2.4.5 表 70
2.4.6 值的遞歸定義 71
2.4.7 多態(tài)變體 71
2.5 表的編程技術(shù) 73
2.5.1 表的基本操作 73
2.5.2 定義表處理函數(shù) 75
2.5.3 線性表的同態(tài)映射 78
2.5.4 快速排序算法 80
2.6 函數(shù)運行時間分析 83
2.7 程序文件的解釋執(zhí)行和編譯執(zhí)行 85
2.8 和C語言比較執(zhí)行效率 88
2.9 尾遞歸 90
2.10 option類型和關(guān)聯(lián)表 91
2.11 帶標(biāo)簽的函數(shù)參數(shù)以及
可選參數(shù) 92
2.11.1 標(biāo)簽參數(shù) 92
2.11.2 可選參數(shù) 93
2.11.3 標(biāo)簽參數(shù)和可選參數(shù)
的顯式類型說明 94
2.11.4 高階函數(shù)與標(biāo)簽參數(shù)
和可選參數(shù) 95
2.11.5 帶標(biāo)簽的標(biāo)準(zhǔn)庫 96
2.12 延遲求值 96
2.13 本章小結(jié) 98
2.14 練習(xí) 99
第3章 模塊化程序設(shè)計 102
3.1 基于無序表的集合 103
3.2 基于有序表的集合 105
3.3 模塊和接口 106
3.4 函子 111
3.5 函子的接口 115
3.6 用Set庫構(gòu)造專用集合模塊 119
3.7 生成質(zhì)數(shù)集合 121
3.8 異常處理 125
3.8.1 異常表達(dá)式 125
3.8.2 異常捕獲 126
3.8.3 幾個常見的異常 128
3.9 模塊的層次結(jié)構(gòu) 129
3.9.1 多層模塊 129
3.9.2 模塊和文件 130
3.9.3 自動模塊化編譯
ocamlbuild 132
3.9.4 多參數(shù)函子 133
3.9.5 模塊局部打開和
模塊包含 134
3.10 模塊用做表達(dá)式 136
3.11 抽象類型 138
3.11.1 抽象類型的作用和限制 138
3.11.2 私有抽象類型 139
3.11.3 局部抽象類型 141
3.12 動態(tài)構(gòu)造模塊接口 142
3.12.1 用接口構(gòu)造接口 143
3.12.2 從模塊推導(dǎo)接口 144
3.13 本章小結(jié) 144
3.14 練習(xí) 146
第4章 命令式程序設(shè)計 149
4.1 引用變量和賦值語句 150
4.2 可更改的記錄分量 153
4.3 數(shù)組 155
4.4 字符串和字節(jié)序列 160
4.5 弱類型變量和多態(tài)
函數(shù)的部分作用 163
4.6 Printf庫和格式化輸出 165
4.7 Scanf庫和格式化輸入 168
4.8 文件輸入輸出 171
4.9 命令式控制結(jié)構(gòu) 174
4.9.1 賦值語句 174
4.9.2 順序控制 175
4.9.3 操作符“|>” 176
4.9.4 循環(huán)控制 177
4.9.5 修改輸入?yún)?shù)的函數(shù) 178
4.10 編程案例:四向鏈表 178
4.11 散列表、棧、隊列及
命令式模塊 185
4.12 本章小結(jié) 189
4.13 練習(xí) 190
第5章 模塊化圖形程序設(shè)計 192
5.1 生成帶圖形庫的OCaml解釋器 193
5.2 圖形窗口 193
5.3 圖形窗口初始化及參數(shù)設(shè)置 196
5.4 事件循環(huán) 198
5.5 顏色設(shè)置 199
5.6 模塊化圖形編程 200
5.7 文本數(shù)字環(huán)及字符串繪制 204
5.8 端點小環(huán)及圖形填充 208
5.9 端點連接線及弧線繪制 212
5.10 命令行參數(shù) 217
5.11 電機接線圖的完整代碼 220
5.12 本章小結(jié) 225
5.13 練習(xí) 226
第6章 移植OCaml圖形程序到F# 229
6.1 打開窗體 230
6.2 窗體初始化 232
6.3 在窗體中間畫圓 234
6.4 基本作圖模塊 235
6.5 文本數(shù)字環(huán) 239
6.6 端點小環(huán) 242
6.7 連接線 244
6.8 F#版電機接線圖完整代碼 245
6.9 怎樣提高OCaml代碼的
可移植性 252
6.10 本章小結(jié) 253
6.11 練習(xí) 254
第7章 多語言聯(lián)合程序設(shè)計 255
7.1 軟件總體架構(gòu) 255
7.2 C#調(diào)用OCaml命令行作圖
程序 257
7.3 C#調(diào)用F#動態(tài)共享DLL
作圖程序庫 259
7.4 C#調(diào)用Access數(shù)據(jù)庫 261
7.5 本章小結(jié) 264
第8章 面向?qū)ο蟪绦蛟O(shè)計 265
8.1 類和對象 266
8.2 基于對象方法畫電機圓 268
8.3 類的繼承 269
8.4 多重繼承 271
8.5 多重繼承中的同名方法 272
8.6 同名方法的延遲綁定 275
8.7 私有方法 275
8.8 虛擬類和子類型 276
8.9 類中的多態(tài)類型 279
8.10 多態(tài)類的繼承 283
8.11 二元方法 287
8.12 子類型與子類 288
8.13 類的類型 292
8.14 對象之間的相等關(guān)系 293
8.15 面向?qū)ο蟮碾妱訖C接線程序 294
8.16 本章小結(jié) 303
8.17 練習(xí) 305
附錄 部分習(xí)題參考答案 307
參考文獻 315

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號