版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算器详细设计说明书版本1.0作者:完成日期:2009-10-31 引言1.1 编写目的该软件详细设计说明书主要是为设计“计算器程序”而编写的详细设计分析,主要给出该软件总体设计架构、包含的模块、设计的思想、每个模块的详细设计原理等信息,从而正确实现软件的编写,并且方便了以后的测试、管理和改进。1.2 背景待开发软件系统的名称是“计算器程序”。该软件将完成一般的计算操作:加减乘除四则运算、开方、求倒数、百分数,以及数据的存储操作。对于更高级的科学运算,如sin、cos等暂不实现。由于程序较小,开发将由本人独立完成,暂时没有期望的用户群体。2 程序系统的结构程序结构从整体上可以大致分为3个部分,
2、如表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.
3、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
4、是双目运算符。其中详细的情况如下。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 =
5、= = = 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 状态变
6、迁路径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:退格。将当前的数值的最
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 景区旅游基础设施项目投资计划书
- 2024年度房屋抵押贷款合同违约责任合同2篇
- 内蒙古科技大学《热流体工程学Ⅰ》2023-2024学年第一学期期末试卷
- 2024年标准货物运输买卖协议样本版B版
- 内蒙古交通职业技术学院《广告学概论A》2023-2024学年第一学期期末试卷
- 内蒙古建筑职业技术学院《新青年习党史》2023-2024学年第一学期期末试卷
- 2024年度城市公园无偿借用活动场地合同3篇
- 2024年度房地产产权交易与过户服务合同3篇
- 2024版个人农业创业担保贷款与农产品销售合作协议3篇
- 内蒙古丰州职业学院《营养与健康》2023-2024学年第一学期期末试卷
- 结核病的诊断流程图解
- 餐饮公司股权合同模板
- 工程力学知到智慧树章节测试课后答案2024年秋湖南工学院
- 广东省广州市越秀区2023-2024学年八年级上学期期末道德与法治试题(含答案)
- 第七届重庆市青少年科学素养大赛考试题库(含答案)
- 地理2024-2025学年人教版七年级上册地理知识点
- 2024年人教部编版语文小学四年级上册复习计划及全册单元复习课教案
- 四大名著之西游记经典解读28
- 2024年城市园林苗木移植合同范例
- 国开2024年秋《大数据技术概论》形考作业1-4答案
- 技能人才评价新职业考评员培训在线考试(四川省)
评论
0/150
提交评论