您现在的位置:网站首页答辩论文计算机毕业设计计算机论文计算机软件

算术表达式求值

  • 简介:(论文 页数:17 字数:2720 带程序)第一章 需求分析 一般来说,计算机解决一个具体问题时,需要经过几个步骤:首先要从具体问题抽象出一个适当的数学模型,然后设计一个解决此数学模型的算法,最后编出程序,进行测试,调整直至得到想要的答案。对于算术表...
    • 请与管理员联系购买资料 QQ:5739126
  • 论文简介
  • 相关论文
  • 论文下载

(论文 页数:17 字数:2720 带程序)第一章  需求分析
一般来说,计算机解决一个具体问题时,需要经过几个步骤:首先要从具体问题抽象出一个适当的数学模型,然后设计一个解决此数学模型的算法,最后编出程序,进行测试,调整直至得到想要的答案。对于算术表达式这个程序,主要利用栈和数组,把运算的先后步骤进行分析并实现简单的运算!以字符列的形式从终端输入语法的正确的、不含变量的整数表达式。利用已知的算符优先关系,实现对算术四则运算的求值,并仿照教科书的例子在求值中运算符栈、运算栈、输入字符和主要操作的变化过程。对一些错误输入能报错。



第二章 概要设计
计算机系统完成一个表达式的计算要分两个步骤:(1)把中缀表达式变换为后缀表达式。(2)根据后缀表达式计算表达式求值。
中缀表达式转换为后缀表达式的基本运算思想是:按照算术运算的规则,把每一个运算符都移到它的两个操作数的后面,然后删除所有的括号。如:8-9*(5+3)转换为8 9 5 3 + * -。计算机编译系统需要从左到右依次扫描中缀表达式,每读到一个操作数,就把它作为后缀表达式的一部分直接输出。而对于运算符,则设置一个栈,初始的时候,栈顶存放一个分界符#,并把也当作运算符号。每当读到一个运算符P2,就将其优先级与栈顶位置运算符P1的优先级比较,分成以下情况:
(1)若P2的优先级高于栈顶运算符P1的优先级,则将P2进栈,继续下一个。
(2)若P2的优先级低于栈顶运算符P1的优先级,则P1出栈并作为后缀表达式的一部分输出,然后继续比较P2的优先级与新的栈顶的运算符的优先级。
(3)若P2的优先级等于栈顶运算符P1的优先级,并且P1为“(”,P2为“)”,则P1出栈,丢弃P1和P2,在继续下一个。
(4)若P2的优先级等于栈顶运算符P1的优先级,并且P1和P2都是#,则算法结束。

 

 

目 录

第1章 需求分析 .................................................... 1
第2章 概要设计.................................................... 2
第3章 详细设计.................................................... 3
第4章 调试分析.................................................... 11
第5章 心得体会..................................................... 12
参考文献.................................................................. 13
附录......................................................................... 14

查看评论 已有0位网友发表了看法
  • 验证码: