#
软件工程课程设计I测试报告_第33组_姜庆彩组员:姜庆彩 柳学富 林思捷
GUI框架使用python中的wxpython包实现完成功能:
基本四则运算(带括号)
求余
乘方
平方根
以10为底的对数和自然对数
阶乘
三角函数和反三角函数
单变量方程ax2+bx+c=0的求解
二元一次方程组的求解
进制转换
求极限
求微分与高阶微分
求定积分
##基本四则运算(带括号) 输入:```9+5*6```
输出:```39```
测试一个稍微复杂一点的:
输入:```5*9/(3+2)-(5+56.2)*(72-6.3)```
输出:```-4011.84```
经验证,结果正确。
当出现除零的情况,计算器会提示不合法输入:
输入:```5/(6-2*3)```
输出:``Invalid Input``
本计算器还对输入表达式的合法性进行检测,如果输入表示不完整、不合法、不可执行时则会提示Invalid Input
输入:``9*5+``
输出:``Invalid Input``
##求余 输入:```9%6-2.3```
输出:```0.7```
## 乘方 输入:```9^6+32^9+3^12```
输出:```35184373151714```
经验证,结果正确
指数可以是小数、负数
输入:```9^-1+9^0.5```
输出:``3.11111111111``
##平方根 输入:```sqrt(2)```
输出:``1.41421356237``
平方根和乘方一样,由于该计算器没有处理虚数的相关模块,对底数有一定的限制,比如平方根下的底数不能为负数,如果不满足限制要求,则会输出Invalid Input
输入:``sqrt(-3)``
输出:``Invalid Input``
##以10为底的对数和自然对数 为了方便自然对数的使用,该计算器中还实现了自然底数e。
输入:``e``
输出:``2.71828182846``
测试对数函数的使用
输入:``lg(10)*ln(e^2)``
输出:``2.0``
对数函数对括号内的变量的取值范围也有一定的限制,要求其为正数,如果为非正数则会输出Invalid Input。
输入:``lg(0)``
输出:``Invalid Input``
##阶乘 输入:``0!``
输出:``1``
输入:``(5*3+2)!``
输出:``355687428096000``
输入:``17``
输出:``355687428096000``
当阶乘函数的参数变量不为自然数(大于等于0的整数)时则会输出Invalid Input
输入:``(1.2)!``
输出:``Invalid Input``
##三角函数和反三角函数 其中包含正弦、余弦、正切、反正弦、反余弦以及反正切,由于三角函数计算模块的需要,该函数实现了π,用pi表示
输入:``pi``
输出:``3.14159265359``
###测试三角函数计算模块
输入:``sin(pi/6)+cos(pi/3)+tan(pi/4)``
输出:``2.0``
###测试反三角函数计算模块 输入:``(asin(0.5)+acos(0.5)+atan(1))/pi``
输出:``0.75``
##单变量方程ax2+bx+c=0的求解 点击按键``EQ1``(Equation 1),则会弹出计算该方程的相关界面,如下所示:
在文本框中输入方程的系数向量,向量的维度是3,分隔符是英文的逗号,数字和逗号之间可以有空格。如果输入不按要求实现则会提示Invalid Input。
输入:``1,2``(个数太少)
输出:``Invalid Input``
分以下几类情况: ###1、a=0 ####b=0,则提示No Resolution 输入:```0,0,1```
输出:``No Resolution``
####b≠0,则输出唯一一个解x=-b/c 输入:``0,2,1``
输出:``x=-0.5``
###2、a≠0 △=b2-4ac ####△>0 输出两个解 $x1=\frac{-b+\sqrt{b^2-4ac} }{2a}$ $x2=\frac{-b-\sqrt{b^2-4ac} }{2a} $
输入:```3,5,1```
输出:```x1=-0.232408120756```
```x2=-1.43425854591```
####△=0,输出相同解 输入:``4,4,1``
输出:``x1=x2=-0.5``
####△<0, 提示No Real Resolution(无实数解) 输入:``1,1,4``
输出:``No Real Resolution``
##二元一次方程组的求解 点击``EQ2``进入解方程组界面,则会弹出计算该方程的相关界面,如下所示:
输入:``1,2,3,1,4,5 ``
输出:``x=1.0 y=1.0``
若输入不符合规范,则输出``invalid input``
若输入的情况没有唯一解 输入:``1,2,3,2,4,6``
输出:``math error``
##进制转换 点击``EQ3``进入进制转换界面,则会弹出进制转换的相关界面,如下所示:
输入:``16,10``
输出:
输入:``2a,16``
输出:
##求极限 点击``极限``进入求极限界面,则会弹出求极限的相关界面,如下所示:
输入:``sin(x)/x``
输出:
输入:``(sin(x)/x^2),0``
输出:
oo表示正无穷 ##求微分 点击``微分``进入求微分界面,则会弹出求微分的相关界面,如下所示:
输入:``sin(x)``
输出:
输入:``sin(x)/x``
输出:
##求高阶微分 点击``高阶微分``进入求高阶微分界面,则会弹出求高阶微分的相关界面,如下所示:
输入:``sin(x),2``
输出:
输入:``sin(x)/x,2``
输出:
##求定积分 点击``定积分``进入求定积分界面,则会弹出求定积分的相关界面,如下所示:
输入:``e^x,1,3``
输出:
输入:``sin(x)/x,pi,2*pi``
输出: