全部商品分类

您现在的位置: 全部商品分类 > 电子电脑 > 计算机技术 > 程序与语言

程序设计方法(第2版国外著名高等院校信息科学与技术优秀教材)

  • 定价: ¥99
  • ISBN:9787115529152
  • 开 本:16开 平装
  •  
  • 折扣:
  • 出版社:人民邮电
  • 页数:483页
  • 作者:(美)马蒂亚斯·费...
  • 立即节省:
  • 2020-10-01 第1版
  • 2020-10-01 第1次印刷
我要买:
点击放图片

导语

  

    世界知名的计算机科学家、PLT Scheme(Racket)语言的创始人Matthias Felleisen作品,教授系统化的程序设计方法。

内容提要

  

    本书从系统设计的角度出发介绍计算以及程序设计的方法和过程。全书由6个部分和5个独立章节组成,6个部分侧重于介绍程序设计,分别介绍从数值和图像等原子数据到区间、枚举、条目、结构体及其组合等新方法的基本概念,任意大的复合数据及其用途,用于创建和使用抽象的设计诀窍,迭代改进的思想,生成递归以及关于累积器的用法;5个独立章节引入编程机制和计算的概念,分别介绍教学语言的语法和语义、引用和反引用、作用域和抽象、数值的本质以及计算的成本。
    本书强调程序设计的计划和构建、设计诀窍、抽象和迭代改进等思想,逻辑清晰,循序渐进,示例丰富,可以指导有一定编程经验的读者系统地学习程序设计,也可作为高等院校计算机科学与技术专业程序设计导论和计算导论的教材和教学参考书。

目录

开篇:如何编程
  算术
  输入和输出
  计算的多种方式
  一个程序,多个定义
  另一个定义
  现在你是一名程序员了
  不!
第一部分  固定大小的数据
  第1章  算术
    1.1  数值的算术
    1.2  字符串的算术
    1.3  二者的混合
    1.4  图像的算术
    1.5  布尔值的算术
    1.6  布尔值的混合
    1.7  谓词:了解你的数据
  第2章  函数和程序
    2.1  函数
    2.2  计算
    2.3  函数的复合
    2.4  全局常量
    2.5  程序
  第3章  程序设计方法
    3.1  设计函数
    3.2  熟练习题:函数
    3.3  领域知识
    3.4  从函数到程序
    3.5  关于测试
    3.6  设计世界程序
    3.7  虚拟宠物世界
  第4章  区间、枚举和条目
    4.1  条件编程
    4.2  条件计算
    4.3  枚举
    4.4  区间
    4.5  条目
    4.6  条目的设计
    4.7  有限状态世界
  第5章  添加结构体
    5.1  从位置到posn结构体
    5.2  posn的计算
    5.3  posn的编程
    5.4  定义结构体类型
    5.5  结构体的计算
    5.6  结构体的编程
    5.7  数据的空间
    5.8  结构体的设计
    5.9  世界中的结构体
    5.10  图形编辑器
    5.11  再探虚拟宠物
  第6章  条目和结构体
    6.1  再谈条目的设计
    6.2  世界的混合
    6.3  输入错误
    6.4  世界中的检查
    6.5  相等谓词
  第7章  总结
  独立章节1  初级语言
    初级语言的词汇
    初级语言的文法
    初级语言的含义
    含义和计算
    初级语言中的错误
    布尔表达式
    常量定义
    结构体类型定义
    初级语言中的测试
    初级语言的错误消息
第二部分  任意大的数据
  第8章  链表
    8.1  创建链表
    8.2  '()是什么,cons又是什么
    8.3  用链表编程
    8.4  使用链表进行计算
  第9章  使用自引用数据定义进行设计
    9.1  熟练习题:链表
    9.2  非空链表
    9.3  自然数
    9.4  俄罗斯套娃
    9.5  链表和世界程序
    9.6  关于链表和集合
  第10章  再谈链表
    10.1  生成链表的函数
    10.2  链表中的结构体
    10.3  链表中链表以及文件
    10.4  再谈图形编辑器
  第11章  组合式设计
    11.1  list函数
    11.2  函数的组合
    11.3  递归的辅助函数
    11.4  一般化的辅助函数
  第12章  项目:链表
    12.1  现实世界中的数据:字典
    12.2  现实世界中的数据:iTunes
    12.3  文字游戏—组合的示例
    12.4  文字游戏—问题的核心
    12.5  贪吃蛇
    12.6  简单俄罗斯方块
    12.7  全面太空战争
    12.8  有限状态机
  第13章  总结
  独立章节2  Quote和Unquote
    Quote
    Quasiquote和Unquote
    Unquote Splice
第三部分  抽象
  第14章  无处不在的相似性
    14.1  函数的相似性
    14.2  不同的相似性
    14.3  数据定义的相似性
    14.4  函数是值
    14.5  函数的计算
  第15章  设计抽象
    15.1  抽象的示例
    15.2  签名的相似性
    15.3  单个控制点
    15.4  模板的抽象
  第16章  使用抽象
    16.1  现有的抽象
    16.2  局部定义
    16.3  局部定义增强表达能力
    16.4  local的计算
    16.5  使用抽象的示例
    16.6  用抽象设计
    16.7  熟悉抽象的习题
    16.8  项目中的抽象
  第17章  匿名函数
    17.1  lambda函数
    17.2  lambda的计算
    17.3  用lambda抽象
    17.4  用lambda制定规范
    17.5  用lambda表示
  第18章  总结
  独立章节3  作用域和抽象
    作用域
    中级语言的循环
    模式匹配
第四部分  交织的数据
  第19章  S表达式之诗
    19.1  树
    19.2  森林
    19.3  S表达式
    19.4  对交织数据的设计
    19.5  项目:二叉查找树
    19.6  函数的简化
  第20章  迭代改进
    20.1  数据分析
    20.2  数据定义的改进
    20.3  函数的改进
  第21章  解释器的改进
    21.1  表达式的解释
    21.2  变量的解释
    21.3  函数的解释
    21.4  解释一切
  第22章  项目:XML商业
    22.1  XML和S表达式
    22.2  XML枚举的呈现
    22.3  领域特定语言
    22.4  读入XML
  第23章  同时处理
    23.1  同时处理两个链表:情况1
    23.2  同时处理两个链表:情况2
    23.3  同时处理两个链表:情况3
    23.4  函数的简化
    23.5  设计读入两个复杂输入的函数
    23.6  熟练习题:两个输入
    23.7  项目:数据库
  第24章  总结
  独立章节4  数值的本质
    固定大小的数值算术
    溢出
    下溢出
    教学语言中的数值
第五部分  生成递归
  第25章  非标准递归
    25.1  无结构体的递归
    25.2  忽略结构体的递归
  第26章  设计算法
    26.1  调整设计诀窍
    26.2  终止
    26.3  对比结构化递归和生成递归
    26.4  做出选择
  第27章  主题的变化
    27.1  初试分形
    27.2  二分查找
    27.3  初探解析
  第28章  数学的例子
    28.1  牛顿法
    28.2  数值积分
    28.3  项目:高斯消元
  第29章  回溯的算法
    29.1  图的遍历
    29.2  项目:回溯
  第30章  总结
  独立章节5  计算的成本
    具体的时间和抽象的时间
    “数量级”的定义
    为何使用谓词和选择函数
第六部分  知识的累积
  第31章  知识的丢失
    31.1  结构处理的问题
    31.2  生成递归的问题
  第32章  累积器风格函数的设计
    32.1  认识到需要累积器
    32.2  添加累积器
    32.3  将函数转换为累积器风格
    32.4  带鼠标的图形编辑器
  第33章  累积的更多用途
    33.1  累积器和树
    33.2  带累积器的数据表示
    33.3  作为结果的累积器
  第34章  总结
  尾声:继续前进