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

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

ID:49346098

大小:333.50 KB

页数:6页

时间:2020-02-29

计算器详细设计说明书.doc_第1页
计算器详细设计说明书.doc_第2页
计算器详细设计说明书.doc_第3页
计算器详细设计说明书.doc_第4页
计算器详细设计说明书.doc_第5页
资源描述:

《计算器详细设计说明书.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、计算器详细设计说明书版本1.0作者:完成日期:2009-10-31引言1.1编写目的该软件详细设计说明书主要是为设计“计算器程序”而编写的详细设计分析,主要给出该软件总体设计架构、包含的模块、设计的思想、每个模块的详细设计原理等信息,从而正确实现软件的编写,并且方便了以后的测试、管理和改进。1.2背景待开发软件系统的名称是“计算器程序”。该软件将完成一般的计算操作:加减乘除四则运算、开方、求倒数、百分数,以及数据的存储操作。对于更高级的科学运算,如sin、cos等暂不实现。由于程序较小,开发将由本人独立完成,暂时没有期望的用户群体。2程序系统的结构程序结构从

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等。②纯

3、小数:如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所示的状态变迁实现。双目运算的根本

4、形式是:N1optN2=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(双op

5、t)–>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=10

6、5。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输入单目操作符设计说明相对来讲,单目运算

7、符比较简单,它只是对当前的操作数进行计算,基本上不会改变程序的状态,因此没有必要画出单目运算符的状态图。但是,某些按键的顺序可能跟单目操作符共同影响了后续的计算方式,如1+3=sqrt*7=的结果是14(sqrt开方运算的结果赋给了操作数1),1+3=sqrt=的结果是6(sqrt开方运算的结果赋给了操作数2)。该部分处理的单目操作符如下:l+/-:这主要改变输入数值的正负性质。lsqrt:开方运算,计算当前数值的二次根号。需要处理的异常:当前操作数为负数。l1/x:倒数运算,计算当前数值的倒数。需要处理的异常:当前操作数为零。lBackspace:退格。将

8、当前的数值的最后一位回删。lCE:清除当前数值。lC

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

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

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