简易科学计算器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河北理工大学
软件设计基础(VB)
课程设计任务书
学院班级设计人成绩
一、题目:简易科学计算器(参考设计如右图)
二、目的与要求:
1.目的:
培养学生综合利用VB语言进行程序设计的能力,主要
是培养学生利用VB的标准控件进行应用程序设计的技
能。
2.基本要求:
(1)能够完成数值常数的四则运算,不要求支持
运算符的优先级。
(2)能够进行如下函数的求值运算,包括sin,
cos, tan, exp, log, ln, sqr, 1/x,以及常数e和
园周率π。
(3)设置5个存贮键,以便将中间运算结果存
入,在需要的时候取出参与运算。
(4)支持键盘快捷运算(仅要求数字及运算符)。
(5)ON进行初始化,清除内存中的数,OFF退出,CE清除显示。
(6)因为控件数目较多,要求采用控件数组,以减少事件处理的复杂程度,使程序简洁高效。
(7)出错处理:操作数如果不符合数学上的定义,应该给出错误信息。
例:0做除数,负数或0做真数等情况。
3.创新要求:
在基本要求达到后,进行创新设计,如支持运算符的优先级,或者增加新的函数等,可以参考复杂的科学型计算器(WINDOWS系统自带,可以设置为普通型和科学型)。
三、设计方法和基本原理:
1.问题描述:
程序界面见上,计算器大家都会用,无需多说。
2.问题的解决方案:
(1)设计程序界面。
因为用的是基本控件,界面设计没有什么难度,照样子拼就可以了,注意同类的按钮要使用控件数组。
(2)编写代码,包括事件处理过程和功能函数,还有必要的声明。
变量声明部分:
声明本程序所需要的变量和数组,主要是操作数和操作符的历史存贮。
事件处理包括下面的主要事件:
Form_Load()
作一些初始化的工作。
主要是将存贮器清空。
Form_KeyPress(KeyAscii As Integer)
每当有键盘上的键按下时,就会发生该事件。
为了加快计算速度,本程序可以直接使用键盘上的数字键和运算符键进行运算,功能和用鼠标点击相应的按钮等效。
cmdXXX_Click(Index As Integer)
各按钮的处理函数,依据不同的按钮实现不同的功能。
其它功能的处理不再一一描述了
四、主要技术问题的描述:
本题中的难点并不在于界面设计,只需要放一个标签和若干个按钮就可以了。
核心问题在于内部数据的处理,每按一个键,程序都要做出反应,如果是数字键,则并入操作数中,如果是运算符键或者功能键,则要做相应的处理或者进行运算。
基本要求不支持运算符的优先级,这一点要注意。
下面举例说明原理。
比如说计算12+3*4=?
输入1的时候,只需要将对应数字
加到标签中即可。
输入2的时候,处理同上,如果连
续输入更多的数字,只是将数字加到
在显示标签上,等有运算符输入时再
转换为操作数。
输入+时,需要将标签中的内容取
出,转换为数值保存起来(op1),以便参与后来的运算,同时将加操作记录下来(op),以便输入完下一个操作数后进行运算。
输入3的时候,不可以将数字直接加到标签中,应该增加一个处理,清除原来的12,条件是上一个输入是运算符,所以在保留+运算符的时候应该做一个标志。
输入*的时候,先将上一个操作数3保存起来(op2),然后判断是否有足够的操作数和操作符可以进行一次运算,此时已经满足了要求,需要将op1,op,op2分别取出,然后求出运算结果(结果为15),并将结果显示出来,并作为操作数op1保存起来,以便参与随后的运算,同时将*做为op保存起来。
输入4的时候处理方法同上。
输入=的时候,将4作为op2保存起来,此时又满足运算条件了,调用calc(op1,op,op2)进行计算,将结果(60)显示出来,计算完成。
计算子程序calc可以编写为通用的,示意如下:
function calc(op1,op,op2) as double
Select Case op
Case “+”
calc = op1 + op2
Case “/“
If op2 = 0 Then
MsgBox "0不能做除数", vbCritical
Exit function
End if
calc = op1 / op2
‘…
End Select
End function
五、课程设计时间:2010年5月10日至2010年6月20日
六、课程设计进行地点:学校机房
七、书写设计报告的要求:
设计报告中包含以下几个方面:
1.设计题目
2.设计思路
①划分功能模块
②确定各模块的算法
3.用图示的方式给出过程或函数之间的调用关系
4.列出程序清单,并加以必要的注释
5.对该设计题目有何更完善的方案
6.通过本次设计,有何收获及心得体会
八、课程设计的考核方式及评分方法
1.考核方式
课程设计结束时,学生要提交课程设计报告(A4纸打印),并将电子文档和源程序上传至课程设计服务器中:
ftp://210.31.197.23
找到自已指导教师的文件夹后,进入班级文件夹,再找到自己的文件夹,然后将文档复制到该文件夹中即可。
2.评分方法
(1) 出勤率
(2) 课程设计准备工作
(3) 课程设计期间纪律
(4) 课程设计运行结果
(5) 课程设计报告
(6)答辩情况
指导教师:
系主任签字:
日期:年月日。