《F#语言程序设计》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:郑宇军,凌海风编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2012
  • ISBN:9787302248927
  • 页数:349 页
图书介绍:本书共19章,系统地介绍F#语言程序设计的基本知识、基本方法及应用实例。

第1章 F#简介 1

1.1 函数式程序设计语言和F 1

1.2 第一个F#应用程序 2

1.3 开发工具和环境 4

1.3.1 F#编译器 4

1.3.2 Visual Studio IDE 4

1.3.3 F#交互式控制台 6

1.3.4 .NET Framework 6

1.4 F#典型应用 7

1.4.1 初等函数计算 8

1.4.2 统计分析 8

1.4.3 数列计算 9

1.4.4 数学分析 10

1.4.5 向量和矩阵计算 11

1.4.6 组合优化算法 12

1.5 控制台输入输出 13

习题1 14

第2章 数值和类型 16

2.1 基础值类型 16

2.1.1 布尔数 16

2.1.2 整数 16

2.1.3 实数 18

2.1.4 字符和字符串 20

2.2 复合类型 21

2.2.1 元组 22

2.2.2 记录 23

2.2.3 联合 24

2.3 可变类型和引用类型 25

2.3.1 可变类型 25

2.3.2 引用类型 27

2.4 可选类型 28

习题2 29

第3章 函数 30

3.1 函数基础 30

3.1.1 函数定义 30

3.1.2 形参和实参 31

3.1.3 空参数和空返回值 32

3.1.4 局部变量和全局变量 34

3.2 更多调用方式 35

3.2.1 参数前置与函数复合 35

3.2.2 函数局部应用 35

3.2.3 运算符作函数 36

3.3 模式匹配 37

3.3.1 模式匹配表达式 37

3.3.2 匹配机制 39

3.3.3 记录、联合和可选类型匹配 40

3.4 递归函数 41

3.5 调用CLR函数 43

3.5.1 概述 43

3.5.2 常用字符串函数 44

3.6 程序实例研究——背包问题算法 46

习题3 47

第4章 深入整数和实数运算 49

4.1 数值比较 49

4.2 整数位运算 50

4.2.1 取补运算 50

4.2.2 与、或、异或运算 51

4.2.3 移位运算 52

4.3 常用数学函数 53

4.3.1 最大值和最小值 54

4.3.2 绝对值和取整 54

4.3.3 指数和对数函数 54

4.3.4 三角函数 55

4.4 数值转换与解析 56

4.4.1 基础数值转换 56

4.4.2 文本转换与解析 58

4.5 大数运算 59

4.5.1 使用bigint 59

4.5.2 使用bignum 61

4.6 程序实例研究——表达式求值 62

习题4 63

第5章 流程控制 65

5.1 选择结构 65

5.2 循环结构 67

5.2.1 while循环语句 67

5.2.2 for循环语句 68

5.2.3 循环遍历语句 69

5.2.4 使用范围表达式 71

5.3 异常处理 72

5.3.1 错误和异常 72

5.3.2 异常类型 74

5.3.3 try-finally异常处理结构 76

5.3.4 引发异常 77

5.3.5 传播异常 79

5.4 程序实例研究——素因数分解 80

习题5 81

第6章 数组、向量和矩阵 83

6.1 数组 83

6.1.1 数组的定义和使用 83

6.1.2 Array类型及其预定义函数 85

6.1.3 多维数组 87

6.2 向量 90

6.2.1 向量的定义和使用 90

6.2.2 向量运算 91

6.3 矩阵 93

6.3.1 矩阵的定义与使用 93

6.3.2 矩阵运算 94

6.3.3 矩阵的行向量与列向量 96

6.4 程序实例研究——最短路径问题 98

习题6 99

第7章 列表、集合和序列 101

7.1 列表 101

7.1.1 概述 101

7.1.2 表连接操作 102

7.1.3 表头和表尾 103

7.1.4 其他List预定义函数 104

7.1.5 高阶列表 105

7.2 集合 106

7.2.1 概述 106

7.2.2 预定义集合操作 107

7.3 序列 109

7.3.1 序列的基本概念 109

7.3.2 预定义序列操作 111

7.3.3 序列创建表达式与延迟求值 112

7.4 程序实例研究——全排列和幂集 114

习题7 115

第8章 高阶函数 117

8.1 函数作为“值” 117

8.1.1 概述 117

8.1.2 函数作为参数 118

8.1.3 高阶函数中的函数局部应用 119

8.2 匿名函数 119

8.2.1 匿名函数表达式 119

8.2.2 函数作为返回值 121

8.3 序列上的高阶函数 123

8.3.1 测试和筛选 124

8.3.2 迭代应用 126

8.3.3 数值运算扩展 128

8.3.4 卷叠 129

8.3.5 展开 131

8.3.6 序列函数的综合运用 132

8.4 程序实例研究——数据拟合 133

习题8 135

第9章 类和对象 137

9.1 面向对象的基本概念 137

9.2 使用轻量级对象——记录和联合 138

9.3 类的定义和使用 139

9.3.1 类的定义 139

9.3.2 构造函数和对象初始化 140

9.3.3 函数成员中的可选参数和数组型参数 144

9.4 属性和索引函数 146

9.4.1 属性 146

9.4.2 索引函数 148

9.5 成员访问限制 150

9.6 静态成员和非静态成员 152

9.7 运算符重载 154

9.8 .NET结构和枚举 156

9.8.1 使用结构类型 156

9.8.2 使用枚举类型 157

9.9 程序实例研究——三角模糊数 158

习题9 160

第10章 继承和扩展 162

10.1 继承 162

10.1.1 类的继承定义 162

10.1.2 覆盖基类成员 164

10.1.3 基类与派生类的转换 165

10.2 多态性 166

10.2.1 虚拟与重载 166

10.2.2 虚拟属性 168

10.2.3 抽象成员和抽象类 169

10.3 .NET基类Object 170

10.3.1 使用Object对象 170

10.3.2 重载ToString函数 171

10.3.3 对象比较 172

10.3.4 类型判断与匹配 173

10.4 类型扩展 174

10.4.1 类级扩展 174

10.4.2 对象级扩展 176

10.5 程序实例研究——几何图形类型 177

习题10 180

第11章 接口 182

11.1 接口的定义与实现 182

11.2 接口与多继承 185

11.2.1 继承多个接口 185

11.2.2 混合继承 187

11.3 几个常用.NET接口 188

11.3.1 ICloneable接口 189

11.3.2 IComparable接口 189

11.3.3 IDisposable接口 190

11.4 接口扩展 190

11.4.1 接口级扩展 190

11.4.2 对象级扩展 191

11.5 程序实例研究——票务接口与实现 192

习题11 195

第12章 泛型基础 197

12.1 泛型的基本概念 197

12.1.1 一般类型的不足 197

12.1.2 定义泛型类 198

12.1.3 定义泛型函数 200

12.2 泛型结构、记录和联合 200

12.2.1 泛型结构 201

12.2.2 泛型记录 201

12.2.3 泛型联合 202

12.3 泛型接口与泛型集合 202

12.3.1 泛型接口 202

12.3.2 泛型集合与遍历 204

12.3.3 .NET类库中的泛型集合 206

12.4 程序实例研究——备忘录与高效算法 209

习题12 211

第13章 深入泛型技术 213

13.1 类型参数的应用与限制 213

13.1.1 使用多个类型参数 213

13.1.2 操作“抽象型”对象 214

13.1.3 类型限制 214

13.2 泛型中的继承 221

13.2.1 开放类型和封闭类型 221

13.2.2 泛型继承规则 221

13.3 泛型函数的高级应用 223

13.3.1 泛型函数中的类型限制 223

13.3.2 隐式泛型函数 224

13.3.3 静态解析的类型参数 225

13.3.4 内联泛型函数 225

13.4 程序实例研究——抽象代数结构与算法 227

习题13 230

第14章 代码组织和管理 232

14.1 代码组织结构 232

14.1.1 模块 232

14.1.2 命名空间 233

14.1.3 使用简称 235

14.2 程序集 235

14.2.1 可执行文件 235

14.2.2 动态链接库文件 237

14.2.3 程序集中的访问限制 238

14.3 代码注释 238

14.3.1 单行和多行注释 238

14.3.2 XML注释文档 239

14.4 条件编译 241

14.5 程序实例研究——概率分布函数库 244

习题14 248

第15章 Windows窗体应用基础 249

15.1 Windows窗体类Form 249

15.1.1 显示Windows窗体 249

15.1.2 设置窗体属性 250

15.2 常用窗体控件 252

15.2.1 Control、容器控件和子控件 252

15.2.2 标签、文本框和数值框 253

15.2.3 按钮、单选框和复选框 255

15.2.4 组合框和列表框 256

15.3 响应控件事件 257

15.3.1 事件基础 257

15.3.2 常用控件事件 259

15.4 自定义窗体 261

15.5 使用Visual Studio窗体设计器 263

15.6 程序实例研究——用户注册窗体 266

习题15 269

第16章 Windows窗体应用进阶 271

16.1 更多Windows控件 271

16.1.1 时间和日期控件 271

16.1.2 滑块、进度条和滚动条 272

16.1.3 列表视图和树状视图 274

16.1.4 工具栏、菜单栏和状态栏 275

16.1.5 为控件显示图像 277

16.2 绘图 278

16.2.1 GDI+基础 278

16.2.2 绘制各种线条和形状 280

16.2.3 填充形状 281

16.3 打印 283

16.4 程序实例研究——绘制几何图形 285

习题16 288

第17章 文件读写 290

17.1 驱动器、目录和文件 290

17.1.1 驱动器 290

17.1.2 目录 291

17.1.3 文件 293

17.2 文件流和读写器 295

17.2.1 使用文件流 295

17.2.2 文本读写器 297

17.2.3 二进制读写器 298

17.3 XML文档操作 299

17.3.1 XML读写器 299

17.3.2 XML文档对象操作 301

17.4 程序实例研究——列车时刻表 302

习题17 305

第18章 关系数据访问 306

18.1 ADO.NET数据访问技术 306

18.2 数据表和数据集 307

18.2.1 使用数据表 307

18.2.2 使用数据集 309

18.2.3 显示数据内容 309

18.3 访问数据库 311

18.3.1 建立数据连接 311

18.3.2 执行数据命令 312

18.3.3 使用数据适配器 314

18.4 程序实例研究——学生成绩查询分析 316

习题18 320

第19章 并行程序设计 322

19.1 多线程 322

19.1.1 进程与线程 322

19.1.2 运行多线程 323

19.1.3 线程资源共享 325

19.2 使用BackgroundWorker 327

19.3 并行序列操作 331

19.4 异步计算 332

19.4.1 使用异步工作流 332

19.4.2 异步绑定和返回 336

19.4.3 异步任务模式 337

19.4.4 异步文件读写 339

19.4.5 异步数据库访问 341

19.5 异步消息 342

19.6 程序实例研究——并行启发式搜索 345

习题19 347

参考文献 349