欢迎来到毕设资料网! | 帮助中心 毕设资料交流与分享平台
毕设资料网
全部分类
  • 毕业设计>
  • 毕业论文>
  • 外文翻译>
  • 课程设计>
  • 实习报告>
  • 相关资料>
  • ImageVerifierCode 换一换
    首页 毕设资料网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    课程设计报告-表达式类型的实现

    • 资源ID:1395141       资源大小:207.50KB        全文页数:34页
    • 资源格式: DOC        下载积分:100金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: QQ登录
    下载资源需要100金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

    课程设计报告-表达式类型的实现

    1、 课程设计课程设计 表达式类型的实现表达式类型的实现 2008 8 年年 7 月月 3 3 日日 数据结构课程设计报告数据结构课程设计报告 第第 2 页页 共共 34 页页 一、一、需求分析【需求分析【课程设计要求课程设计要求】 【问题的描述】【问题的描述】 一个表达式和一棵二叉树之间,存在着自然的对应关系。写一个程序,实现 基于二叉树表示的算术表达式 Expression 的操作。 【基本要求】【基本要求】 【一】 【一】 【必做部分】必做部分】 假设算术表达式 Expression 内可以含有变量(a-z),常量(0-9)和二元 运算符(+,-,*,/,(乘幂) ) 。实现以下操作: (1

    2、)ReadExpr(E)以字符序列的形式输入语法正确的前缀表达式并构造 表达式 E。 (2)WriteExpr(E)用带括号的中缀表达式输出表达式 E。 (3)Assign(V,c)实现对变量 V 的赋值(V=c) ,变量的初值为 0。 (4)Value(E)对算术表达式 E 求值。 (5)CompoundExpr(p,E1,E2)构造一个新的复合表达式(E1)p(E2) 。 【二】【二】 【选做部分】【选做部分】 (1)以表达式的原书写形式输入,支持大于 0 的正整数常量; (2)增加常数合并操作 MergeConst(E)合并表达式 E 中所有常数运算。例 如,对表达式 E=(2+3-a)

    3、*(b+3*4)进行合并常数的操作后,求得 E=(5-a)*(b+12) 【测试数据】【测试数据】 1) 分别输入 0;a;-91;+a*bc;+*5x2*8x;+*3*2x2x6 并输出。 2) 每当输入一个表达式后,对其中的变量赋值,然后对表达式求值。 3) 还有很多测试的数据,详细请见附上的文件 Test.txt。 二、二、概要概要设计设计 1 1、数据类型的声明:、数据类型的声明: 在这个课程设计中,采用了链表二叉树的存储结构,以及两个顺序栈的辅助在这个课程设计中,采用了链表二叉树的存储结构,以及两个顺序栈的辅助 存储结构存储结构 /*/*头文件以及存储结构头文件以及存储结构*/*/

    4、#include #include #include #include #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define OVERFLOW 0 typedef int Status; 数据结构课程设计报告数据结构课程设计报告 第第 3 页页 共共 34 页页 2 2、表达式、表达式的抽象数据类型定义的抽象数据类型定义 ADT ExpressionADT Expression 数据对象 D:D 是具有数值的常量 C 和没有数值的变量 V; 数据关系:R=|V,CD, 表示由运算 符 P 结合起来的表达式 E 基

    5、本操作: Status Input_Expr(Status Input_Expr( 操作结果:运算符运算求值,参数 opr1,opr2 为常量,opr 为运算符,根据不同 的运算符,实现不同的运算,返回运算结果。 Status Check(E)Status Check(E) 初始条件:表达式 E 存在; 操作结果: 检查表达式 E 是否还存在没有赋值的变量, 以便求算数表达式E 的值。 long Value(E)long Value(E) 初始条件:表达式 E 存在; 操作结果:对算术表达式求值,返回求到的结果。 void CompoundExpr(P,void CompoundExpr(P,

    6、 printf(“n*“); printf(“n 1 输入正确的前缀表达式“); printf(“n 2 带括弧的中缀表示式输出“); printf(“n 3 对变量进行赋值“); printf(“n 4 对算数表达式求值“); printf(“n 5 构造一个新的复合表达式“); printf(“n 6 以表达式的原书写形式输入“); 数据结构课程设计报告数据结构课程设计报告 第第 5 页页 共共 34 页页 printf(“n 7 合并表达式中所有常数运算“); printf(“n 0 退出“); printf(“n*“); printf(“n 请输入你的选择“); choice=getche(); return choice; 在主函数中,采用多分支程序设计语句 switch()使程序产生不同的


    注意事项

    本文(课程设计报告-表达式类型的实现)为本站会员(毕****文)主动上传,毕设资料网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请联系网站客服QQ:540560583,我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们
    本站所有资料均属于原创者所有,仅提供参考和学习交流之用,请勿用做其他用途,转载必究!如有侵犯您的权利请联系本站,一经查实我们会立即删除相关内容!
    copyright@ 2008-2025 毕设资料网所有
    联系QQ:540560583