表达式求值【信息1301屌丝张】知识点.docVIP

  • 6
  • 0
  • 约1.31万字
  • 约 17页
  • 2016-12-15 发布于江苏
  • 举报

表达式求值【信息1301屌丝张】知识点.doc

扬州大学信息工程学院 《数据结构》 ---课程设计报告 题目: 《表达式求值》 信息1301 学号: 131405127 姓名: 指导教师: 一、设计题目 表达式求值表达式求值是程序设计语言编译中的一个最基本的问题,它的实现是栈应用的一个典型实例。为了实现表达式求值这一目标,本程序采用的是一种简单直观、广为使用的算法,即“算符优先法”。 在该程序中,任何一个表达式都被看成是由操作数和运算符组成。因此在实现算法的时候我用到了两个工作栈,一个称作Stack_TR,用以寄存运算符;另一个称作Stack_ND,用以寄存操作数或运算结果。 算法的基本思想是: 依次读入表达式中的字符串单元,若是操作数字符串则将其转化为操作数后压入Stack_ND栈内,若是运算符字符串则转化为对应的运算符后和Stack_TR栈中的栈顶运算符进行优先级比较,之后根据优先级关系作相应的操作, 循环1)、2)两步直至整个表达式求值完毕(即Stack_TR栈顶元素和当前读入的运算符均为“#”)。 本程序支持超过一位数字的输入,当然也支持小数以及常用的三角函数in、cos、an。那么将数字、分隔符、操作符以及三角函数字符串的分离就是首先要解决的问题,我的解决方案是这样的: 首先,由函数Expression将空格进行过滤,同时该函数

文档评论(0)

1亿VIP精品文档

相关文档