数据结构课程设计报告算术表达式求值系统.doc
《数据结构课程设计报告算术表达式求值系统.doc》由会员分享,可在线阅读,更多相关《数据结构课程设计报告算术表达式求值系统.doc(11页珍藏版)》请在三一办公上搜索。
1、数据结构课程设计报告算术表达式求值系统学 号: 姓 名: 班 级: 指导教师: 成 绩: 完成时间: 2011.01.02 一、 设计题目描述和要求1. 问题:现在的计算器只能对简单的数进行运算,对复杂的多项表达式不能运算2. 解决方案:设计一个表达式求值系统3. 要求:以字符序列的形式从终端输入语法正确的、不含变量的整数表达式。利用下表给出的算符优先关系,实现对算术四则混合运算表达式的求值。 算术四则运算的规则: a. 从左算到右 b. 先乘除,后加减 c. 先括号内,后括号外根据上述三条运算规则,在运算的每一步中,对任意相继出现的算符1和2 ,都要比较优先权关系,它们优先关系如下表所示。二
2、、 系统分析与概要设计根据问题描述和要求,系统要求能够正确求出算术表达式的值。在进行算术表达式求值过程中,考虑到我们输入的是中缀表达式,采用后缀表达式比较容易计算,因此先将中缀表达式转换成后缀表达式。程序应该具有:“将算术表达式转化为后缀表达式”、“利用后缀表达式求值”等基本模块。由于有优先级的问题,根据优先级不同的运算符运算的次序是不同的,因此更具其优先级的大小抽象的将其定义为不同的大小。三、 详细设计和编码1. 数据类型定义表达式求值中运算符对应优先级的定义structchar ch;int pri;lpri7=,0,(,1,*,5,/,5,+,3,-,3,),6,rpri7=,0,(,6
3、,*,4,/,4,+,2,-,2,),1;/运算符优先级的定义运算符的存储structchar dataMaxSize;int top;op;/用栈存储运算符2.各模块算法描述 (1)计算栈顶运算符对应的数字i+结束return lprii.prilprii.ch=opi7 ?int i=0;输入:op开始NYN Y(2)判断优先级return 0;return -1;结束return 1;Leftpri(op1)=0&*exp=0&*postexp=9?d=0c=b/a;st.top+;st.datast.top=c;a!=0?*postexp=/?a=st.datast.top; st.t
4、op-;b=st.datast.top;st.top-;c=ba;st.top+;st.datast.top=c; break;a=st.datast.top;st.top-;b=st.datast.top;st.top-;c=a*b;st.top+;st.datast.top=c;break;switch(*postexp)a=st.datast.top;st.top-;b=st.datast.top;st.top-;a=st.datast.top; st.top-;b=st.datast.top;st.top-;c=a+b;st.top+;st.datast.top=c; break;*p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 报告 算术 表达式 求值 系统
链接地址:https://www.31ppt.com/p-2396759.html