课程设计报告-表达式类型的实现
《课程设计报告-表达式类型的实现》由会员分享,可在线阅读,更多相关《课程设计报告-表达式类型的实现(34页珍藏版)》请在毕设资料网上搜索。
1、 课程设计课程设计 表达式类型的实现表达式类型的实现 2008 8 年年 7 月月 3 3 日日 数据结构课程设计报告数据结构课程设计报告 第第 2 页页 共共 34 页页 一、一、需求分析【需求分析【课程设计要求课程设计要求】 【问题的描述】【问题的描述】 一个表达式和一棵二叉树之间,存在着自然的对应关系。写一个程序,实现 基于二叉树表示的算术表达式 Expression 的操作。 【基本要求】【基本要求】 【一】 【一】 【必做部分】必做部分】 假设算术表达式 Expression 内可以含有变量(a-z),常量(0-9)和二元 运算符(+,-,*,/,(乘幂) ) 。实现以下操作: (1
2、)ReadExpr(E)以字符序列的形式输入语法正确的前缀表达式并构造 表达式 E。 (2)WriteExpr(E)用带括号的中缀表达式输出表达式 E。 (3)Assign(V,c)实现对变量 V 的赋值(V=c) ,变量的初值为 0。 (4)Value(E)对算术表达式 E 求值。 (5)CompoundExpr(p,E1,E2)构造一个新的复合表达式(E1)p(E2) 。 【二】【二】 【选做部分】【选做部分】 (1)以表达式的原书写形式输入,支持大于 0 的正整数常量; (2)增加常数合并操作 MergeConst(E)合并表达式 E 中所有常数运算。例 如,对表达式 E=(2+3-a)
3、*(b+3*4)进行合并常数的操作后,求得 E=(5-a)*(b+12) 【测试数据】【测试数据】 1) 分别输入 0;a;-91;+a*bc;+*5x2*8x;+*3*2x2x6 并输出。 2) 每当输入一个表达式后,对其中的变量赋值,然后对表达式求值。 3) 还有很多测试的数据,详细请见附上的文件 Test.txt。 二、二、概要概要设计设计 1 1、数据类型的声明:、数据类型的声明: 在这个课程设计中,采用了链表二叉树的存储结构,以及两个顺序栈的辅助在这个课程设计中,采用了链表二叉树的存储结构,以及两个顺序栈的辅助 存储结构存储结构 /*/*头文件以及存储结构头文件以及存储结构*/*/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中设计图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 报告 表达式 类型 实现
