表达式求值实验报告

表达式求值实验报告

ID:25365918

大小:326.53 KB

页数:24页

时间:2018-11-19

表达式求值实验报告_第1页
表达式求值实验报告_第2页
表达式求值实验报告_第3页
表达式求值实验报告_第4页
表达式求值实验报告_第5页
资源描述:

《表达式求值实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、淮海工学院计算机工程学院课程设计报告设计名称:数据结构课程设计选题名称:表达式求值姓名:学号:专业班级:系(院):计算机工程学院设计时间:设计地点:软件工程实验室、教室成绩:指导教师评语:签名:年月日数据结构课程设计报告第22页,共21页1.课程设计目的1、训练学生灵活应用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,编写程序求解指定问题。2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4.训练用系统的观点和软件开发一般规范进行软件开发,巩固、深化学生的理论知识,提高编程水平,并在此过

2、程中培养他们严谨的科学态度和良好的工作作风。2.课程设计任务与要求:任务根据教材《数据结构-C语言描述》(耿国华主编)和参考书《数据结构题集(C语言版)》(严蔚敏、吴伟民主编)选择课程设计题目,要求通过设计,在数据结构的逻辑特性和物理表示、数据结构的选择应用、算法的设计及其实现等方面加深对课程基本内容的理解和综合运用。设计题目从任务书所列选题表中选取,每班每题不得超过2人。学生自选课题学生原则上可以结合个人爱好自选课题,要求课题有一定的深度与难度,有一定的算法复杂性,能够巩固数据结构课程所学的知识。学生自选课题需在18周前报课程设计指导教师批准方可生效。要求:1、在处理每个题目时,要求从

3、分析题目的需求入手,按设计抽象数据类型、构思算法、通过设计实现抽象数据类型、编制上机程序和上机调试等若干步骤完成题目,最终写出完整的分析报告。前期准备工作完备与否直接影响到后序上机调试工作的效率。在程序设计阶段应尽量利用已有的标准函数,加大代码的重用率。2、.设计的题目要求达到一定工作量(300行以上代码),并具有一定的深度和难度。3、程序设计语言推荐使用C/C++,程序书写规范,源程序需加必要的注释;4、每位同学需提交可独立运行的程序;5、每位同学需独立提交设计报告书(每人一份),要求编排格式统一、规范、内容充实,不少于10页(代码不算);6、课程设计实践作为培养学生动手能力的一种手段

4、,单独考核。数据结构课程设计报告第22页,共21页3.课程设计说明书一需求分析[问题描述]一个算术表达式是由操作数(operand)、运算符(operator)和界限符(delimiter)组成的。假设操作数是正整数,运算符只含加减乘除等四种运算符,界限符有左右括号和表达式起始、结束符“#”,如:#(7+15)*(23-28/4)#。引入表达式起始、结束符是为了方便。编程利用“算符优先法”求算术表达式的值。[基本要求](1)从键盘读入一个合法的算术表达式,输出正确的结果。(2)显示输入序列和栈的变化过程。二概要设计1、设定“操作数”的栈的抽象数据类型定义:ADTSqStack_f{数据对

5、象:D={数据关系:R1={<>

6、,,i=2,…,n}约定端为栈顶,端为栈底。基本操作:InitStack_f(&S)操作结果:构造一个空栈S。GetTop_f(&S,&e)初始条件:栈S已存在。操作结果:用e返回S的栈顶元素。Push_f(&S,ch)初始条件:栈S已存在。操作结果:插入元素ch为新的栈顶元素。Pop_f(&S,&e)初始条件:栈S已存在。操作结果:删除S的栈顶元素,并以e返回其值。}ADTSqStack_f2、设定“操作符”的栈的抽象数据类型定义:ADTSqStack_c{数据对象:D={数据关系:R1={<>

7、,,i=2,…,n}约定端为栈顶,端为栈底。基本操作:I

8、nitStack_c(&S)数据结构课程设计报告第22页,共21页操作结果:构造一个空栈S。GetTop_c(&S,&e)初始条件:栈S已存在。操作结果:用e返回S的栈顶元素。Push_c(&S,ch)初始条件:栈S已存在。操作结果:插入元素ch为新的栈顶元素。Pop_c(&S,&e)初始条件:栈S已存在。操作结果:删除S的栈顶元素,并以e返回其值。}ADTSqStack_c3、本程序包含六个模块1)主程序模块voidmain(){初始化;while(命令==“继续”){接受数据;处理数据;接受命令;}}2)栈模块——实现栈抽象数据类型3)判断运算符优先级模块——判断运算符的优先级别4)

9、后缀表达式转换模块——将中缀表达式转换为后缀表达式,方便操作5)无括号表示式求值运算模块——根据后缀表达式求值,并输出中间和最终结果6)运算结果输出模块——以正确形式输出表达式的值三详细设计1、主程序中需要的全程量#defineTTACK_INIT_SIZE100//初始分配最大空间量#defineSTACKINCREMENT10//(默认)增补空间量2、结点类型、指针类型typedefstruct{float*base;//存储实

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。