




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算器详细设计说明书版本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:退格。将当前的数值的最
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自然保护区巡护监测员操作管理能力考核试卷含答案
- 2025年生活垃圾焚烧炉合作协议书
- 七年级生物下册 第四单元 生物圈中的人 第七章 人类活动对生物圈的影响第三节 拟定保护生态环境的计划说课稿(新版)新人教版
- 干式连接装配式混凝土子结构抗连续倒塌试验研究
- 2024-2025学年高中地理 第四章 区域经济发展 第1节 区域农业发展-以我国东北地区为例说课稿 新人教版必修3001
- 木地板表面造型处理工操作评估模拟考核试卷含答案
- 河南省二造考试真题及答案
- 河南考试试卷测试题及答案
- 2025年新安全生产法知识竞赛试题及答案
- 基于低秩与稀疏约束的域适应方法研究
- 工会经审业务网络知识竞赛题库
- 宁夏易制毒管理办法
- 日照维修资金管理办法
- 线上教学蚂蚁家族课件
- 无损检测技术课件
- 脑瘫个案护理
- 《3-6岁儿童学习与发展指南》健康领域解读
- 银行等金融机构业务连续性计划书
- 盘扣租赁公司管理制度
- 2025年全国新高考英语II卷试题解析及复习备考策略(课件)
- 课本剧《霸王别姬》剧本【3篇】
评论
0/150
提交评论