[数据结构课程设计] 数据结构 表达式求值

33333
请投票
购买文件
搜索
Get Adobe Flash player使用幸福校园需要安装Adobe Flash Player ver.9版本以上。 请安装Flash Player。
[目录]
第1章 需求分析
第2章 概要设计
第3章 详细设计
第4章 调试分析
第5章 心得体会
参考文献
附录

[原文]
第一章 需求分析
一般来说,计算机解决一个具体问题时,需要经过几个步骤:首先要从具体问题抽象出一个适当的数学模型,然后设计一个解决此数学模型的算法,最后编出程序,进行测试,调整直至得到想要的答案。对于算术表达式这个程序,主要利用栈和数组,把运算的先后步骤进行分析并实现简单的运算!以字符列的形式从终端输入语法的正确的、不含变量的整数表达式。利用已知的算符优先关系,实现对算术四则运算的求值,并仿照教科书的例子在求值中运算符栈、运算栈、输入字符和主要操作的变化过程。对一些错误输入能报错。
第二章 概要设计
计算机系统完成一个表达式的计算要分两个步骤:(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]严蔚敏 吴伟民.《数据结构》(C语言版)清华大学出版社
[2]钱能.《c++程序设计教程》(第二版)清华大学出版社
[3] 徐孝凯.《数据结构实用教程》(C/C++描述)清华大学出版社.
[4]刘怀亮.《数据结构实用教程》(C语言描述)冶金工业出版社
[3] http://www.ut365.com/


原文信息 (买这个文件的时候能看原文信息。)

课程设计(论文)任务书
软 件  学  院   网络工程  专  业  06级( 3 )班   
一、课程设计(论文)题目   算术表达式求值   
二、课程设计(论文)工作自 2007 年 12 月 31 日起至 2008 年 1 月 6 日止。
三、课程设计(论文) 地点: 教5 – 信息学院机房
四、课程设计(论文)内容要求:
1.本课程设计的目的
(1)进行程序设计方法和技能的基本训练;
(2)巩固在课堂上学到的有关程序设计的基本知识和基本方法;
(3)使学生掌握系统调试的方法;
(4)培养学生分析、解决问题的能力;
(5)提高学生的科技论文写作能力。
2.课程设计的任务及要求
1)基本要求:
(1)遵循模块化、结构化的程序设计方法;
(2)要求程序结构合理,语句使用得当;
(3)程序简明易懂,多运用输入输出提示,出错信息及必要的注释;
(4)对所设计程序进行调试。
(5)所设计系统的具体功能要求:设计一个程序,演示用栈实现算术表达式求值的过程
基本要求:
(1)以字符形式输入语法正确,不含变量的常规实数表达式;(10分)
(2)判断表达式是否合法(括号是否匹配,语..

评论

最后修改日期 2008/01/15 22:47
by yingpengwan
标签
报告书
其它计算机
求值
表达式
数据结构
课程设计
用户人气是什么?
人气投票的方法?
人气投票规则是什么?
确认文件记录?
什么是文件内搜索?