-
内容大纲
本书用Haskell语言从函数式程序设计角度讲解计算机程序设计。本书前半部分介绍程序设计的基本内容,包括数据、类型、函数、递归函数、模块、测试、多态和重载等;后半部分则突出了函数程序设计的特色内容,包括高阶函数、代数类型、惰性计算和单子等。
全书内容编排由浅入深,语言表达清晰准确,每章都提供了难度适中的练习,各章内容都配备讲解视频,十分便于自学。
本书是为程序设计初学者编写,可作为高等院校各专业学习程序设计的教材,也可供从事计算机软件工作的技术人员学习函数式程序设计参考。 -
作者介绍
-
目录
第1章 计算机程序设计
1.1 命令式程序设计
1.1.1 程序设计的概念
1.1.2 命令式算法和伪代码
1.1.3 命令式程序
1.2 函数程序设计
1.2.1 程序是函数
1.2.2 Haskell函数程序
1.2.3 Haskell函数语言的特点
1.3 Haskell解释器和编译器
1.3.1 下载Haskell解释器和编译器
1.3.2 运行Haskell程序
1.3.3解释器常用命令
1.4 习题
第2章 函数程序设计基础
2.1 程序与函数
2.1.1 数学函数
2.1.2 Haskell函数
2.2 数据和类型
2.2.1 数据类型
2.2.2 数值类型
2.2.3 布尔类型
2.2.4 查看表达式的类型
2.2.5 字符和字符串
2.2.6 列表类型
2.2.7 多元组类型
2.2.8 多元组类型和列表类型的对比
2.2.9 函数类型
2.2.10 函数应用与类型推导规则
2.3 Haskell函数定义
2.3.1 函数定义语法规则
2.3.2 函数定义举例
2.4 递归函数
2.4.1 阶乘函数
2.4.2 斐波那契数列
2.4.3 汉诺塔
2.5 模块
2.5.1 模块的定义
2.5.2 模块的使用
2.5.3 查找库函数
2.6 软件调试与测试
2.6.1 软件调试
2.6.2 软件测试
2.6.3 程序的规格说明
2.6.4 QuickCheck随机测试工具
2.7 习题
第3章 列表程序设计
3.1 列表的构造
3.1.1 构造函数
3.1.2 列表概括
3.2 图书借阅管理
3.2.1 借阅卡的数据及其类型
3.2.2 图书查询
3.2.3 借阅管理
3.3 超市购物清单
3.3.1 数据类型的设计
3.3.2 屏幕打印函数
3.3.3 打印清单函数
3.4 一个简单图形库
3.4.1 图形的类型
3.4.2 图形的显示
3.4.3 图形上的运算
3.4.4 图形模块及其应用
3.5 习题
第4章 多态与重载
4.1 多态函数
4.1.1 单态与多态
4.1.2 多态函数举例
4.2 重载
4.2.1 类族和重载
4.2.2 常用的已定义类族
4.2.3 重载函数举例
4.3 习题
第5章 高阶函数
5.1 函数也是数据
5.1.1 map计算模式
5.1.2 λ表达式
5.2 常用高阶函数
5.2.1 折叠计算模式foldr
5.2.2 过滤计算模式filter
5.2.3 前缀处理函数takeWhile和dropWhile
5.2.4 函数的复合
5.2.5 卡瑞化
5.2.6 部分应用
5.3 词频统计
5.3.1 问题分析及解决步骤
5.3.2 设计分步函数
5.3.3 步骤的复合
5.4 习题
第6章 代数类型
6.1 自定义类型
6.1.1 简单有穷类型
6.1.2 定义新类型为类族的实例
6.1.3 无穷类型
6.2 数据类型的归纳定义
6.2.1 自定义自然数类型
6.2.2 一个表达式类型
6.3 带类型参数的自定义类型
6.3.1 列表类型的定义
6.3.2 Maybe类型
6.4 习题
第7章 IO程序
7.1 IO类型
7.1.1 IO类型的基本操作
7.1.2 连续动作的表示和do语法
7.1.3 使用递归实现动作的重复性
7.2 模拟计算
7.2.1 随机数与猜数游戏
7.2.2 随机事件的模拟
7.2.3 识别计算模式
7.2.4 用蒙特卡洛方法估算兀的近似值
7.2.5 一个简单猜拳游戏
7.3 文件读写与数据处理
7.3.1 文件读写
7.3.2 数据处理
7.4 习题
第8章 惰性计算
8.1 惰性计算概述
8.1.1 惰性与严格
8.1.2 计算规则
8.1.3 局部定义
8.2 无穷数据结构
8.2.1 斐波那契数列
8.2.2 埃拉托色尼筛法
8.2.3 牛顿-拉森迭代法
8.3 习题
第9章 函子与单子
9.1 类型构造函数及其种
9.2 函子
9.2.1 Functor类族
9.2.2 Functor的实例
9.2.3 函子定律
9.3 Applicative类族
9.3.1 Applicative类族及其实例
9.3.2 Applicative定律
9.4 单子
9.4.1 单子定义和实例
9.4.2 单子的do语法
9.4.3 单子定律
9.4.4 单子解释器
9.5 单子语法分析器
9.5.1 算术表达式定义
9.5.2 语法分析器
9.5.3 基本语法分析器
9.5.4 算术表达式计算器
9.6 习题
附录A GHC的安装
A.1 使用GHCup工具安装
A.2 其他安装方法
附录B 部分Prelude函数
参考文献
索引
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...