“数据结构”上机实习项目(2)
注意事项:

1,课程项目要求每个同学独立完成,写出“实习报告”。
2,为了环保,程序和实习报告都采用电子文档形式(通过email附件)交辅导老师。(不要打印稿)
3,如果采用多个源文件的形式开发,发给老师前请把文件打包(用zip或者rar)。
4,注意:只上交所有源程序文件(不要交可执行程序),应保证程序能编译和执行。
5,注明所用的程序开发环境,以便老师检查。
6,请注意保证自己上交的文档中没有病毒。

序号 布置日期 截止日期 作业内容
项目2 11月30日 12月28日 设计和实现一个简单的整系数一元多项式计算系统。要求:
1,系统能交互式地接受一系列多项式输入、计算和输出命令,完成相应的处理。
2,系统提供变量和赋值功能。变量名是一个字母(可用任何大写或小写字母),变量以多项式为值。
3,你实现的系统应提供下述命令(每个命令以一个字符作为标识,你可以假定每个命令的长度都不超过一行):
  • 把输入的多项式赋给变量作为值:
    = [变量名] [多项式];
    其中 [变量名] 是任一变量名(一个字母),[多项式] 是按下面说明的多项式输入形式给出的一个多项式。
  • 对表达式(可以选用后缀或者中缀形式)计算,把结果赋给变量:
    ? [变量名] [表达式];
  • 输出变量的值(输出多项式):
    ! [变量名];
  • 结束:
    ^;
4,多项式运算包括加法、乘法、求负(一元运算)和求导。下面是一个计算示例(采用的是后缀形式):
? d a ' b + c - *;
表示对a(a的值是个多项式)求导,求导结果加上多项式b,再乘以多项式c求负的结果(a、b、c都应已有值),计算结果得到的多项式赋给变量d。
5,输出多项式时请采用如下易读形式(一元多项式,总变元为x):
x^4 + -3 x^2 + 5
(如果能输出 x^4 - 3 x^2 + 5 当然更好)。
6,多项式的系数和指数直接用int类型,不考虑数值超范围的问题。
7,注意:计算表达式里的基本计算对象是变量代表的多项式。

下面工作步骤的说明供参考(这些建议有益于你顺利完成工作):
1,考虑下面多项式示例,实现输入函数,它读入并构造多项式的内部表示:

  • 3 x^5 + 2 x^2 + 4
  • 100 x^20000 + 1
  • 10 x^6 - 100 x^20 + 1
你也可以自己设计某种更简单的多项式输入方式。如果采用自己的设计,请在报告中特别说明所用的形式,并给出至少6个你的系统能接受的实例(按你的多项式输入形式)。
2,为一元多项式设计一种内部表示方式(建议采用链接表)。
3,实现一元多项式的输出函数,从内部表示生成易读的输出。
4,实现所需的几个计算函数。
5,考虑计算中变量的处理,设计并实现一种保存变量名字与值的关联关系的结构。
6,实现一个简单的交互处理界面。计算表达式可以采用后缀或中缀形式。

请在实习报告中特别说明(除了教科书示例报告中考虑的问题外):
1,说明你实现的系统中使用的主要数据结构。
2,说明如何使用你的系统。
3,论述并分析所用数据结构的优点和缺点,说明为什么采用这种设计。
4,写“评价和进一步工作”一节,讨论系统改进和扩充的可能性。

本页及相关页面(除另声明者外)由裘宗燕创建维护,可自由用于各种学习活动。其他使用需得到作者许可。