计算器详细设计说明书.doc

上传人:jian****018 文档编号:9289814 上传时间:2020-04-04 格式:DOC 页数:6 大小:333.50KB
返回 下载 相关 举报
计算器详细设计说明书.doc_第1页
第1页 / 共6页
计算器详细设计说明书.doc_第2页
第2页 / 共6页
计算器详细设计说明书.doc_第3页
第3页 / 共6页
点击查看更多>>
资源描述
计算器详细设计说明书版本1.0作者:完成日期:2009-10-31 引言1.1 编写目的该软件详细设计说明书主要是为设计“计算器程序”而编写的详细设计分析,主要给出该软件总体设计架构、包含的模块、设计的思想、每个模块的详细设计原理等信息,从而正确实现软件的编写,并且方便了以后的测试、管理和改进。1.2 背景待开发软件系统的名称是“计算器程序”。该软件将完成一般的计算操作:加减乘除四则运算、开方、求倒数、百分数,以及数据的存储操作。对于更高级的科学运算,如sin、cos等暂不实现。由于程序较小,开发将由本人独立完成,暂时没有期望的用户群体。2 程序系统的结构程序结构从整体上可以大致分为3个部分,如表1所示。表1 程序整体模块划分模块标示符说明输入数值NumberInput通过数字、小数点按键输入一个数值输入双目操作符DoubleOptInput输入+ - * / %等双目运算符进行运算输入单目操作符SingleOptInput输入sqrt、1/x等单目运算符进行运算,包括MR、MS存储相关的运算3 输入数值设计说明3.1 状态图这部分的状态图表示如图1所示。图1 输入数值状态图3.2 流程图输入数值根据状态图可以得出流程图如图2所示。图2 输入数据流程图3.3 说明在这种情况下,可以有三种输入数据格式:整数:如45,123,1000等。纯小数:如0.15,0.33,0.0001,0.12000等。含有整数部分的小数:如100.000,10.0002,13.2150等。在以上情况下,对于数字0要有正确的处理方式,如果在输入整数的情况下,00123这样的整数是不能存在的,12000这样的整数是正确存在的。在输入小数的情况下,0.12000要能够显示后面的3个0。程序需要能正确处理这三种数据,这也是测试的依据。4 输入双目操作符设计说明4.1 状态图输入双目运算符的状态图如图3所示。主要运算是加减乘除、百分号运算。图3 双目运算符的状态图4.2 说明程序实现完全按照图3所示的状态变迁实现。双目运算的根本形式是:N1 opt N2 = Result。N1、N2是两个操作数,opt是双目运算符。其中详细的情况如下。l 程序初始状态S0时,双目运算的两个操作数N1=N2=0。l 状态变迁路径1:S0 - S(Num1) S(双opt) S(Num2) - S(=)。这是一般的计算过程,即25+3= 28,0.3*9= 2.7,36.5-80= -43.5,12/8= 1.5。l 状态变迁路径2:S0 - S(Num1) S(双opt) - S(=)。该情况下,相当于Num2=Num1。即25+= 50,3*= 9,14-= 0,5/= 1。l 状态变迁路径3:S0 - S(Num1) S(双opt) S(Num2) - S(=)- S(=)- S(=).。如12+3 = = = = 24,就是12连续加了3四次。2*3 = =18,就是2连续乘了3两次。l 状态变迁路径4:S0 - S(Num1) S(双opt) S(Num2) - S(双opt) S(Num3) - S(=)。这是一般的连续运算,即12+3*2= 30。在这里计算顺序是按照输入的顺序计算的,与操作符自身的优先级无关。l 状态变迁路径5:S0 - S(Num1) S(双opt) S(Num2) - S(=) S(双opt) S(Num3) - S(=)。这也是连续运算的一种。如 12+3= *7=105。l 状态变迁路径6:在S(=)的状态下,输入一个数值,则重新开始了新一轮的运算。l 状态变迁路径7:S(Num2) S(%)。这是百分数运算。下面给出百分数运算的规则。输入顺序:40 + 10 %(此时显示40*10/100的结果4) = 44(此时显示40+4的结果)。 输入顺序:40 + 10 %(此时显示40*10/100的结果4) %(此时显示40*4/100的结果1.6) %(此时显示40*1.6/100的结果0.64) = 40.64(此时显示40+0.64的结果)。异常状况处理:除法运算除数为0,提示用户除数为0,并重新输入。5 输入单目操作符设计说明相对来讲,单目运算符比较简单,它只是对当前的操作数进行计算,基本上不会改变程序的状态,因此没有必要画出单目运算符的状态图。但是,某些按键的顺序可能跟单目操作符共同影响了后续的计算方式,如 1 + 3 = sqrt * 7 =的结果是14(sqrt开方运算的结果赋给了操作数1),1 + 3 = sqrt =的结果是6(sqrt开方运算的结果赋给了操作数2)。该部分处理的单目操作符如下:l +/-:这主要改变输入数值的正负性质。l sqrt:开方运算,计算当前数值的二次根号。需要处理的异常:当前操作数为负数。l 1/x:倒数运算,计算当前数值的倒数。需要处理的异常:当前操作数为零。l Backspace:退格。将当前的数值的最后一位回删。l CE:清除当前数值。l C:清除所有数值,并初始化。l MC:清除存储在内存中的数值。l MR:读取存储在内存中的数值。l MS:将当前的操作数值存储到内存中。l M+:将当前的操作数值累加到内存中。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!