积分函数包


相关章节:2.3.2, 2.4, 练习2.73, 3.1, 3.2

本项目要求实现一个简单的积分计算包,采用数据导向的程序设计技术完成。

基本要求是实现一个积分函数 (integ [exp] [var]),实现常用函数的符号积分和基本积分规则。其中 [exp] 是被积表达式,基于一些常见函数构造,[var] 是积分变量。可以根据自己的想法扩充,考察数据导向程序设计的威力和限制。

常用函数应包括(但不限于):多项式函数,三角函数,指数和对数函数。对得到结果做简单的化简。显然很多组合或嵌套的函数形式都不能仅根据基本积分规则得到结果(例如需要做变换等),在遇到这种情况时,你可以直接返回包含积分式的结果。本项目的主要工作目标是良好的系统设计。

注意:本项目工作的关键是根据要表达的代数式的形式设计好相关数据抽象,基于数据抽象实现积分函数。

请认真完成相应程序,并写出一个报告,其中说明(但不限于):

  • 你完成了哪些工作;
  • 所完成的系统的基本设计,重要过程的设计
  • 考虑了哪些问题,作出了哪些设计选择,为什么这样做,所作设计选择的得失
  • 完成的系统有何缺陷,可能如何改进。下一步可能做的工作
本作业要求在两周完成。要求上交:
  • 程序文件(放在一个文件里),包括一组能说明程序功能的求积分表达式实例,应能直接求出结果
  • 项目报告(交doc或pdf电子文件)

本作业所需的 Scheme 源代码:

put-get.scm 用于实现数据驱动表格的实现代码

最后修改:2009.10.28