[页数] 18 [字数] 1930 [目录] 一、 需求分析 二、 概要设计 三、 详细设计 四、 调试分析 五、 用户手册 六、 测试结果 七、 附录 [原文] 一、 需求分析 以字符序列的形式从终端输入语法正确的,不含变量的实数表达式,利用书上给出的算符优先关系,实现对算术四则混合运算表达式的求值,实现对多位数字的求值。如(12.5*(3.5+25.3)) 二、 概要设计 1. 栈的抽象数据类型的定义: ADT Stack{ 数据对象:D={ai|ai∈ElemSet,i=1,2,…,n, n≥0} 数据关系:R1={<ai-1,ai>|ai-1,ai∈D,i=2,…,n} 约定an端为栈顶,a1端为栈底。 基本操作: InitStack(&S) 操作结果:构造一个空栈S。 DestroyStack(&S) 初始条件:栈S已存在。 操作结果:栈S被销毁。 ClearStack(&S) 初始条件:栈S已存在。 操作结果:将S清为空栈。 StackEmpty(S) 初始条件:栈S已存在。 操作结果:若栈S为空栈,则返回TRUE,否则FALSE。....... [原文截取] 算术表达式求值 需求分析 以字符序列的形式从终端输入语法正确的,不含变量的实数表达式,利用书上给出的算符优先关系,实现对算术四则混合运算表达式的求值,实现对多位数字的求值。如(12.5*(3.5+25.3)) 概要设计 1. 栈的抽象数据类型的定义: ADT Stack{ 数据对象:D={ai|ai∈ElemSet,i=1,2,…,n, n≥0} 数据关系:R1={<ai-1,ai>|ai-1,ai∈D,i=2,…,n} 约定an端为栈顶,a1端为栈底。 基本操作: InitStack(&S) 操作结果:构造一个空栈S。 DestroyStack(&S) 初始条件:栈S已存在。 操作结果:栈S被销毁。 ClearStack(&S) 初始条件:栈S已存在。 操作结果:将S清为空栈。 StackEmpty(S) 初始条件:栈S已存在。 操作结果:若栈S为空栈,则返回TRUE,否则FALSE。 StackLength(S) 初始条件:栈S已存在。 操作结果:返回S的元素个数,即栈的长度。 GetTop(S,&e) 初始条件:栈S已存在且非空。 操作结果:用e返回S的栈顶元素。 Push(&..... |
算术表达式求值
查看评论
已有0位网友发表了看法