数据结构的表达式求值.doc
《数据结构的表达式求值.doc》由会员分享,可在线阅读,更多相关《数据结构的表达式求值.doc(11页珍藏版)》请在沃文网上搜索。
1、课 程 设 计 说 明 书课程名称: 数据结构 设计题目: 表达式求值 院 系: 学生姓名: 学 号: 专业班级: 指导教师: 2011年 6 月 25 日 9 课 程 设 计 任 务 书设计题目表达式求值学生姓名所在院系计科学院专业、年级、班设计要求:1. 计算表达式手工录入,计算结果必须正确2. 支持两位以上的整数和浮点数的运算3. 运算符优先级表可在程序中直接通过代码初始化4. 能够检查表达式是否合法,对于错误的表达式要能够给出错误原因。学生应完成的工作: 设计一个能够计算表达式的程序,要求能够对包含加、减、乘、除、括号运算符的表达式进行计算,并能显示出一定的错误及错误分析。参考文献阅读
2、:严蔚敏 吴伟民 编著数据结构(C语言版) 清华大学出版社 2010年10月(美)克林伯格 编著算法设计 清华大学出版社 2007年6月王晓东 编著算法设计与分析(第三版) 电子工业出版社 2007年5月工作计划:1、第一周的第一天:小组布置设计题目;说明进度安排。2、第一周的第二天:小组审题,查阅资料,进行设计前的必要资料准备。3、第一周的第三天、第四天、第五天:程序编写、上机调试4、第二周的第一天至第三天: 上机调试程序、结果分析。5、第二周的第四天: 撰写设计报告。6、第二周的第五天: 设计答辩及成绩评定。任务下达日期: 2011 年 6 月 13 日 任务完成日期: 2011 年 6月
3、 25 日指导教师(签名): 学生(签名): 表达式求值摘 要: 表达式求值是程序设计语言编译中的一个最基本的问题。它的实现是栈应用的一个典型例子。我们使用的是一种简单直观,广为使用的算法“算符优先法”。 要把一个表达式翻译成正确求值的一个机器指令序列,或者直接对表达式求值,首先要能够正确解释表达式。要知道算法四则运算即(1)先乘除,后加减;(2)从左到右;(3)先括号内,后括号外。算法优先级法就是根据这个运算优先级的规定来实现对表达式的编译或解释执行的。任何一个表达式都是由操作数,运算符和界限符组成的,我们称之它们为单词。一般地,操作数既可以是常数也可以是被说明为变量或常量的标识符;运算符可
4、以分为算术运算符,关系运算符和逻辑运算符三类;基本界限符有左右括号和表达式结束符等。关键词: 表达式 栈(出战,入栈) 括号匹配 符号优先级 运算目 录一.设计背景31.1目的 31.2背景 3二.设计方案3三. 方案实施 4 3.1运算 4四. 结果与结论 64.1.运算结果64.2.结论7五. 收获与致谢75.1.收获75.2.致谢7 六参考文献 8八指导教师评语 9一. 设计背景1.1目的 通过课程设计,巩固和加深对栈的理论知识的理解;掌握现实复杂问题的分析和解决方法;提高利用计算机分析解决综合性实际问题的基本能力。1.2背景 “数据结构”是计算机程序设计的重要理论技术基础,它不仅是计算
5、机学科的核心课程,而且已成为其他理科专业的热门选修课。栈是重要的线性结构,从数据结构角度看,栈也是线性表,其特点在于栈的基本操作是线性表操作的子集,它的操作受限的线性表,因此,可称为限定性的数据结构。但从数据类型角度看,它是和线性表大不相同的一类重要的抽象数据类型。由于栈广泛应用在各种软件系统中,因此在面向对象的程序设计中,它是多型数据类型。表达式计算是实现程序设计语言的基本问题之一,也是栈的应用的一个典型例子。二. 设计方案我负责的部分是求值的过程,使OPTR和OPND分别为运算符栈和运算数栈,算法的基本思想是:(1)首先置操作数栈为栈,表达式起始符“=”为运算符栈的栈底元素。(2)依次读入
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 表达式 求值