当前位置:文档之家› 计算器设计论文

计算器设计论文

学校代码: 10128学号: ************课程设计说明书题目:计算器****:***学院:理学院班级:信计07-2****:**二〇一一年一月六日内蒙古工业大学课程设计(论文)任务书课程名称:面向对象的程序设计学院:理学院班级:信计07-2 学生姓名:吴书缘学号: 200720905056 指导教师:侯睿摘要本设计完成了一个简单的计算器。

计算器作为一种快速通用的计算器方便了用户的使用。

计算器包含简单的四则运算、复杂的数学表达式运算、进制之间的相互转换、多媒体播放等等功能,具有可视化的界面,操作起来简单,易于为用户所接受,计算器在我们的日常生活、学习、工作中使用相当广泛,计算器程序设计由此应运产生。

关键词:表达式;函数;多媒体播放器;计算器目录第一章软件需求分析 (5)1.1设计目的和意义 (5)1.2主要研究内容 (5)1.3 计算器的功能 (6)第二章软件设计 (8)2.1 软件总体设计 (8)2.1.1 主要采用面向对象的程序设计方法 (8)2.2.2系统全面规划 (8)2.2 软件设计环境 (10)2.3 功能模块设计 (10)2.3.1简单的四则运算模块 (10)2.3.2复杂的科学计算模块 (11)第三章软件使用说明 (16)3.1 软件安装及配置说明 (16)3.1.1 软件运行环境 (16)3.1.2 软件安装及配置 (16)3.2 软件操作说明 (17)参考文献 (21)第一章软件需求分析1.1设计目的和意义目前, 随着计算机的飞速发展,人类已经进入信息化时代。

信息技术发展日新月异,计算机已经进入人们生活的各个领域,是现代生活中不可或缺的,大型复杂的计算是人脑所不能胜任的,而且较易出错。

各类高校、会计电算化、商业结算、银行业结算、金融业务审核等多种业务都需要用到计算器。

尤其,现代各大公司对计算机的需求更广泛;并且,平时人们日常生活中也需要计算器用于各种计算;另外,现在使用数据信息量日益增加,人们想更快更准确的知道一些运算结果。

由于在生活、工作、学习中计算机的普及,将计算器做成简易的应用程序,并能够在计算机上快速、准确的运算,以方便人们的使用,成为人们的需要,计算器的功能特点主要是运行可靠性好、简单快捷,计算器程序设计由此应运产生。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

计算器软件系统应该能够为用户提供丰富的手段。

作为计算机应用的一部分,使用计算器进行数学运算,具有其他方式所无法比拟的优点。

这些优点能够极大地提高的效率,也是国家的科学化、信息化管理,与世界接轨的重要条件。

因此,开发一套方便快捷计算器软件成为很有必要的事情。

通过这个毕业课题设计与开发,我可以深入的学习好各个专业课的理论知识,将理论与实践很好的结合起来,做到学以致用,并且可以更好的学习开发工具的知识和用法,领会Visual Basic编程的基本过程和精要之处。

同时也可以把大学以来所学的知识重新巩固一遍,除此之外,通过毕业的课题设计,激励自学一些课外的知识来补充自己的知识面,为以后的继续学习深造打好基础。

1.2主要研究内容一、表达式求值表达式求值是程序设计编译中的一个基本问题。

它的实现是数据结构中“栈”应用的又一个典型例子。

这里介绍一种简单直观、广为使用的算法,通常称为“算符优先法”。

要把一个表达式翻译成能够正确求值的一个机器指令序列,或者直接对表达式求值,首先要能够正确解释表达式。

例如,要对下面的算术表达式求值:4+2*3-10/5 首先要了解算术四则运算的规则。

即:先乘除,后加减;从左算到右;先括号内,后括号外。

由此,这个算术表达式的计算顺序应为4+2*3-10/5=4+6-10/5=10-10/5=10-2=8 运算符优先法就是根据这个运算优先关系的规定来实现对表达式的编译或解释执行的。

二进制、八进制、十进制、十六进制之间的相互转换与计算用到一些转换函数,没有专门的程序来实现,主要是在原有的基础上进行一些加工.多媒体播放器可视化界面,图文并茂,实现起来很容易。

1.3 计算器的功能实现的主要功能(1)计算功能计算器可以执行基本的运算如加法、减法、乘法、除法、求余、平方。

例如:20+3;12-5;16*5;22/10;8%2;4^2;完成基本运算的混合运算例如:4+5-2*3/5 ; 30*2-3^2+14/2;33-(2+40)*2/4^2;完成包含有像一些三角函数(例如:正玄函数sin(),余玄函数cos(),正切函数tan(),余切函数ctan())等等在内的混合运算;例如:50+sin30-tan45*cos45; 12-33+ctan30*cos45-sin20;具体如何实现在设计方法中说明。

(2)记忆功能对于一些运算表达式如果只是修改其中的一部分。

那么,可以在原来的基础上修改,不用再全部输入。

可以把原来的运算表达式保存在一个文件中,以便后来调用。

可以使用内存中存储的数字,即用户可以在计算时利用此功能存储数字或调用相关的数字和计算结果。

可以使用数字分组查看逻辑分组的数字,即利用逻辑分组符号将显示框中的数字进行相应的分组,便于用户管理和分辨数字和计算结果。

可以进行数字的复制、粘贴等功能,即用户可以运用菜单功能和快捷键对数字或计算结果进行复制,并能将其所需计算的数字粘贴到显示框。

(3)进制转换功能与计算即二进制、八进制、十进制、十六进制之间的相互转换与计算。

这里要使用到数据结构里所学的栈的知识。

具体如何实现将在下面的设计方法中说明。

(4)数字逻辑分组可以使用数字分组查看逻辑分组的数字,即利用逻辑分组符号将显示框中的数字进行相应的分组,便于用户管理、分辨数字和计算结果。

(5)能够更换背景具有易用、美观、简洁的图形用户界面。

计算器的皮肤能够更换,使它更观。

(6)背景音乐在枯燥计算的同时,人以享受。

用所学知识可以完成。

第二章软件设计2.1 软件总体设计2.1.1 主要采用面向对象的程序设计方法面向对象的程序设计方法,是尽量模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,从而使描述问题的问题空间(也称问题域)与实现解法的解空间(也称为求解域)在结构上尽可能一致。

用面向对象方法学开发的过程,是一个主动地多次反复迭代的演化过程。

面向对象的方法在概念和表示方法上的一致性,保证了在各项开发活动之间的平滑过渡。

面向对象方法普遍进行的对象分类过程,支持从特殊到一般的归纳思维过程;通过建立等级而获得的继承性,支持从一般到特殊的演绎思维过程。

正确地运用面向对象开发软件,最终的软件产品由许多较小的、基本上独立的对象组成,每个对象相当于一个微型程序,而且大多数对象都与现实世界中的实体相对应,因此,降低了软件产品的复杂性,提高了软件的可理解性,简化了软件的开发和维护工作。

对象是相对独立的实体,容易在以后的软件产品中重复使用,因此,面向对象的另一个重要优点是促进了软件重用。

具体如下:问题定义:解决如何开发计算器程序以及使用计算器需要解决的问题。

可行性研究:是否值得去解决以及是否可行的解决办法。

需求分析:必须具备预期目标中的某些功能。

总体设计:即概要设计怎样实现目标程序。

详细设计:即确定计算器实现的功能所需要的算法和数据结构。

编码和单元测试:写出正确的容易理解、容易维护的程序模块,综合测试:结束所有工作。

2.2.2系统全面规划(一)确定对系统的综合要求为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。

对软件需求的深入了解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。

需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“计算器系统必须做什么?”这个问题。

需求分析的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。

需求分析的任务包括以下几个方面:功能需求这方面的需求指定计算器系统必须提供的服务。

通过需求分析应该划分出系统必须完成的所有功能。

性能需求性能需求指定计算器系统必须满足的定时约束或容量约束,通常包括速度(响应时间)、信息量速率、主存容、磁盘容量、安全性等方面的需求。

例如,“应力分析程序必须在一分钟之内生成任何一个梁的应力报告。

”就是一项性能需求。

可靠性和可用性需求可靠性需求定量地指定计算器系统的可靠性,可用性与可靠性密切相关,它量化了用户可以使用系统的程度。

出错处理需求这类需求说明计算器系统对环境错误应该怎样响应。

例如,如果它接收到从另一个系统发来的违反协议格式的消息,应该做什么?注意,上述错误并不是由该应用系统本身造成的。

在某些情况下,“出错处理”指的是当应用系统发现它自己犯下一个错误时所采取的行动,但是,应该有选择地提出这类出错处理需求。

我们的目的是开发出正确的系统,而不是用无休止的出错处理代码掩盖自己的错误。

总之,对应用系统本身错误的检测应该仅限于系统的关键部分,而且应该尽可能少。

接口需求接口需求描述应用系统与它的环境通信的格式。

常见的接口需求有:用户接口需求;引硬件接口需求;软件接口需求;通信接口需求。

约束设计约束或实现约束描述在设计或实现应用系统时应遵守的限制条件。

常见的约束有:精度;工具和语音约束;设计约束;应该使用的标准;应该使用的硬件平台。

逆向需求逆向需求说明系统不应该做什么,理论上有无限多个逆向需求,我们应该仅选取能澄清真实需求且可消除可能发生的误解的那些逆向需求。

将来可能提出的要求应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。

这样做的目的是,在设计过程中对系统将来可能的扩充和修改预做准备,以便一旦确实需要时能比较容易地进行这种扩充和修改。

(二)分析计算器系统的数据要求任何一个软件系统本质上都是信息处理系统,系统必须处理的信息和系统应该产生的信息在很大程度上决定了系统的面貌,对软件设计有深远影响,因此,必须分析系统的数据要求,这是软件需求分析的一个重要任务。

(三)导出计算器系统的逻辑模型(四)修正计算器系统开发计划根据在分析过程中获得的对系统的更深入更具体的了解,可以比较准确地估计系统的成本和进度,修正以前制定的开发计划。

2.2 软件设计环境本程序基于单机设计,无需数据库,适用于Windows 2000/Windows XP等系统开发工具:Visual Basic软件环境:Windows 2000/Windows XP以上程序设计环境系统集成环境2.3 功能模块设计2.3.1简单的四则运算模块计算器可以执行基本的运算如加法、减法、乘法、除法、例如:20+3;12-5;16*5;22/10;8%2;4^2;2.3.2复杂的科学计算模块完成基本运算的混合运算例如:4+5-2*3/5 ; 30*2-3^2+14/2;33-(2+40)*2/4^2;完成包含有像一些三角函数(例如:正玄函数sin(),余玄函数cos(),正切函数tan(),余切函数ctan())等等在内的混合运算;例如:50+sin30-tan45*cos45; 12-33+ctan30*cos45-sin20;任何一个表达式都是有操作数(operand)、运算符(operator)和界限符(delimiter)组成的,我们称它们为单词。

相关主题