欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • Haskell程序设计基础(计算机科学与技术微课版面向新工科专业建设计算机系列教材)
      • 作者:编者:乔海燕//周晓聪|责编:白立军|总主编:张尧学
      • 出版社:清华大学
      • ISBN:9787302608271
      • 出版日期:2022/07/01
      • 页数:171
    • 售价:19.6
  • 内容大纲

        本书用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函数

    参考文献
    索引