- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算器详细及设计说明书
计算器
详细设计说明书
版本1.0
作者:
完成日期:2009-10-3
1 引言
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是双目运算符。其中详细的情况如下。
程序初始状态S0时,双目运算的两个操作数N1=N2=0。
状态变迁路径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。
状态变迁路径2:S0 - S(Num1) – S(双opt) - S(=)。该情况下,相当于Num2=Num1。即25+= 50,3*= 9,14-= 0,5/= 1。
状态变迁路径3:S0 - S(Num1) – S(双opt) – S(Num2) - S(=)- S(=)- S(=)….。如12+3 = = = = 24,就是12连续加了3四次。2*3 = =18,就是2连续乘了3两次。
状态变迁路径4:S0 - S(Num1) – S(双opt) – S(Num2) - S(双opt) – S(Num3) - S(=)。这是一般的连续运算,即12+3*2= 30。在这里计算顺序是按照输入的顺序计算的,与操作符自身的优先级无关。
状态变迁路径5:S0 - S(Num1) – S(双opt) – S(Num2) - S(=) – S(双opt) – S(Num3) - S(=)。这也是连续运算的一种。如 12+3= *7=105。
状态变迁路径6:在S(=)的状态下,输入一个数值,则重新开始了新一轮的运算。
状态变迁路径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开方运算的结果赋给
您可能关注的文档
最近下载
- 2025-2026学年初中数学八年级上册(2024)青岛版(2024)教学设计合集.docx
- 紫砂壶历代名家.doc VIP
- 某银行新员工国际业务培训课件.ppt VIP
- 有理数的乘方(公开课).ppt VIP
- 牙髓炎临床表现及诊断.ppt VIP
- 2025-2030年中国水利工程勘察设计市场运营状况与发展潜力分析报告.docx
- 六年级上册数学试题-第一二单元测试卷-苏教版-含答案.docx VIP
- 2024-2025学年初中数学八年级上册青岛版(2024)教学设计合集.docx
- NBT47021-2012甲型平焊法兰.docx VIP
- 2025年危险品水路运输从业资格考试复习题库资料(浓缩500题).pdf
文档评论(0)