电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

数据结构实验二——算术表达式求值实验报告

数据结构实验二——算术表达式求值实验报告_第1页
1/18
数据结构实验二——算术表达式求值实验报告_第2页
2/18
数据结构实验二——算术表达式求值实验报告_第3页
3/18
《数据结构与数据库》实验报告实验题目算术表达式求值学院:化学与材料科学学院专业班级:0 9级材料科学与工程系 PB0 9 20603 姓名:李维谷学ﻩﻩ号:P B0920 6 28 5 邮ﻩ箱:指导老师:贾伯琪实验时间:2 0 10年 10 月 10 日 一、需要分析问题描述:表达式计算就是实现程序设计语言得基本问题之一,它得实现就是栈得应用得一个典型例子.设计一个程序,演示通过将数学表达式字符串转化为后缀表达式,并通过后缀表达式结合栈得应用实现对算术表达式进行四则混合运算。问题分析:在计算机中,算术表达式由常量、变量、运算符与括号组成.由于不同得运算符具有不同得优先级,又要考虑括号,因此,算术表达式得求值不可能严格地从左到右进行。因而在程序设计时,借助栈实现.设置运算符栈(字符型)与运算数栈(浮点型)辅助分析算符优先关系。在读入表达式得字符序列得同时完成运算符与运算数得识别处理,然后进行运算数得数值转换在进行四则运算.在运算之后输出正确运算结果,输入表达式后演示在求值中运算数栈内得栈顶数据变化过程,最后得到运算结果。算法规定:输入形式:一个算术表达式,由常量、变量、运算符与括号组成(以字符串形式输入)。为使实验更完善,允许操作数为实数,操作符为(、)、、(表示小数点)、+、-、*、/、^(表示乘方),用#表示结束。输出形式:演示表达式运算得中间结果与整个表达式得最终结果,以浮点型输出。程序功能:对实数内得加减乘除乘方运算能正确得运算出结果,并能正确对错误输入与无定义得运算报错,能连续测试多组数据。测试数据:正确输入:12*(3、6/3+4^2—1)# 输出结果:1 9 4、4 无定义运算:1 2*(3、6/(2^2—4)+1)# 输出结果:表达式出错,除数为0,无意义 错误输入:12+s# 输出结果:ERROR!二、概要设计拟采纳两种类型得展分别对操作数与操作符进行操作.程序中将涉及下列两个抽象数据类型:1、设定“操作数”得栈得抽象数据类型定义:A DT SqStack_f{ﻩ数据对象:D={ﻩ数据关系:R1={〈>|,,i=2,…,n}约定端为栈顶,端为栈底。基本操作: In i tSta c k_f(&S) 操作结果:构造一个空栈 S。 Ge tT op_f(&S,&e) 初始条件:栈 S 已存在。 操作结果:用 e 返回S得栈顶元素。 Push_f(&S,c h) 初始条件:栈 S 已存在。 操作结果:插入元素 ch 为新得栈顶元素。 P op_f(&S,&e) 初始条件:栈 S 已存在。 操作结果:删除 S 得栈顶元素,并以e...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

数据结构实验二——算术表达式求值实验报告

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部