笔者于四年前自学微信小程序开发,这个超级计算器T3000就是当时的练习作品。超级计算器T3000的功能有很多,其中的核心技术是矩阵计算,使用的工具库是math.js,其次是复杂运算和分式运算。关于math.js的使用,可以参考另一篇博文:微信小程序使用math.js制作计算器。
写这篇博文的原因是,最近有同学向我询问该小程序的源码,其实该习作早在三年前就已在Github上开源:
Github 地址: https://github.com/luolaihua/CalculatorT3000
GitCode 地址: https://gitcode.net/luolaihua2018/CalculatorT3000
所以笔者想重新介绍一下这个尘封已久的微信小程序习作-超级计算器T3000 ,让它发挥点余热。虽然这个微信小程序是一个练习作品,但是它使用到的小程序组件和wx-api却很多,很适合作为那些正在学习小程序开发的同学的入门工程,希望超级计算器T3000能帮到同学们。
目录
一,功能演示
普通运算功能演示:
分式运算功能演示:
复杂运算功能演示:
矩阵功能计算演示:
其他功能演示:
二,设计背景
三,功能简介
3.1 算式运算
3.2 矩阵运算
3.3 趣味计算
1.亲戚计算:
2.单位转换:
3.体测成绩计算:
4.BMI计算
5.色环电阻计算器
6.网名生成
7.小偏心大转盘
8.数学闯关
9.解方程
10.宠物年龄计算
四、程序实现
4.1 开发技术
4.2 功能展示
1. 算式运算功能
2. 矩阵相关计算
3. 更多计算
4. 亲戚关系计算
5. 单位转换
6. 体测成绩计算及BMI计算程序
7. 随机网名生成
8. 小偏心大转盘
9. 数学闯关
10. 解方程程序
一,功能演示
该小程序已在微信端上线,欢迎大家体验,微信小程序码:
普通运算功能演示:
分式运算功能演示:
复杂运算功能演示:
矩阵功能计算演示:
其他功能演示:
二,设计背景
普遍的计算器只能进行简单地加减乘除和其他简单的二次运算,而且只能单步运算,如果遇到较长的算式时就需要用户一步一步输入,较浪费时间,还可能遗漏数据内容,让用户多次输入算式验证。如今,用户已不满足基本运算,进制也会涉及多进制,传统计算器也不能带来较大的遍历。通过调查校内大学生对计算器辅助计算的改进建议,针对小型科学计算器进行研究,增加了很多方便快捷的计算及其他功能,给用户带来了很多方便,并且提高了体验者的运算效率。
较传统计算器相比,超级计算器T3000多了许多便捷功能:
- 可以进行高等矩阵运算,除了进行矩阵加减乘除之外,还可以进行分式、转置、行列式、特征值等计算。
- 对于进行算式运算时,可以切换为科学计算进行开方、正弦、余弦、等角度的计算,为用户方便还增加了普通计算窗口与科学计算窗口切换,普通计算窗口可以进行传统计算。
- 此外还可以对输入的多项式化简及求导。进行分布运算时可以将中间数保存,下次用到可以直接调出进行运算,提高用户的效率。
- 除了常规的数学计算,利用计算器的特点,设计出了亲戚计算、单位转换、体测成绩计算等多种生活中比较常见的运算。
三,功能简介
本程序主要功能可以分为以下模块:
3.1 算式运算
包括四则运算、乘方、分式等,用户可以将计算单个或多个算式,科学计算窗口可以进行开方、乘方、阶乘、对数、正余弦等角度计算,对复杂的多项式可以进行化简和求导;此外对于每一步运算或操作,会自动保存至历史记录,下次用到直接调出,对于科学计算器,帮助功能可以对每个操作键进行介绍解释。
3.2 矩阵运算
对单个或两个矩阵进行的矩阵相关变换及运算。自定义矩阵阶数,最低二阶,最高五阶。对于单个矩阵来说,可以进行转置、行列式、求逆、特征值、迹、特征向量、多种分解等运算。对于多个矩阵,可以进行矩阵间的加减乘除乘方运算,点乘、点除点乘方运算,同样可以对结果进行转置、行列式、求逆、迹、特征值、LU分解、QR分解等计算。除此之外,若开启分式模式,可以将结果以分式结果显示,若未开启则精确到六位有效数字。
3.3 趣味计算
除了常规算式、矩阵运算外,还设计了生活中极大便利生活的计算。
1.亲戚计算:
以我为中心内,每步以丈夫、妻子、父母兄弟、子女、兄弟姐妹直系范围内,计算我与各亲人直接的关系及称呼。
2.单位转换:
可以对长度、能量、时间、体积、大写、面积、质量、温度、速度、进制、功率、压强等不同计量单位下单位的换算
3.体测成绩计算:
根据在校大学生的性别、年级来生成不同的体测标准。对输入身高体重、肺活量、坐位体前屈、立定跳远、引体向上、50m、100m通过标准体系来计算体测成绩。
4.BMI计算
选择不同的标准,根据身高体重计算BMI值,并给出身体状况、健康体重范围以及相关疾病发病危险性。
5.色环电阻计算器
可以计算五色环电阻阻值,以及精度范围。
6.网名生成
随机生成制定姓氏的网名昵称。
7.小偏心大转盘
对于一些难以选择的事情,可以借助小决定帮用户选择。还可以保存编辑过的决定,也可以在热门小决定中使用热门的随机选择转盘。
8.数学闯关
简单的运算闯关类游戏
9.解方程
通过要求输入方程式,可以解出一元一次至一元四次方程以及多元一次方程组。
10.宠物年龄计算
该程序可以计算五种动物:狗、猫、仓鼠、龙猫、兔子实际年龄与人类年龄之间的换算。
四、程序实现
各功能的总体实现效果及使用说明
4.1 开发技术
(1)云平台:微信小程序云开发
(2)编程语言:JavaScript
(3)开发工具:微信开发者工具,原生开发
4.2 功能展示
1. 算式运算功能
算式运算效果如图所示,左上侧有三个功能键,分别为帮助键:对计算器功能介绍,以及使用举例;声音键:开启后会对输入、操作、结果进行语言播报;历史键:可以显示历史计算的算式,并读取历史结果。
2. 矩阵相关计算
矩阵计算功能如图所示,首先在右上侧,可以选择输入矩阵的行数列数,最大支持5行5列矩阵,可以对单个和多个矩阵进行运算,除四则运算外,还可以进行转置、行列式、求逆、迹、特征值、特征向量、QR、LU分解等矩阵操作。其中C为清除键,长按可复位AB两矩阵;爱心键为功能简介;目前可输入科学算式,如3+5*2/3;
3. 更多计算
该更多运算所有功能罗列了学生调查问卷里较热门的建议及需求,如图所示:
4. 亲戚关系计算
功能如图所示,模式可分为:自称模式和他称模式,可以通过互查切换。在自称模式下,通过多部计算称呼关系,每步以直系关系为单位;他称模式下,通过互查切换,可以查看对方对”我”的称呼。此外,可以看到,此程序还提供称呼查询。
5. 单位转换
单位转换主界面如图所示,可以对长度、能量等12种不同单位的多种计量关系进行转换。
6. 体测成绩计算及BMI计算程序
主界面如图所示,按要求输入基本信息,将测试的成绩输入后,可以根据不同的成绩体系生成体侧分数及BMI值
BMI计算根据体重身高和选择的标准模式,可以生成身体状况及疾病发病危险性,如图:
7. 色环电阻计算器
色环电阻是电子电路中最常用的电子元件,色环电阻就是在普通的电阻封装上涂上不一样的颜色的色环,用来区分电阻的阻值。保证在安装电阻时不管从什么方向来安装,都可以清楚的读出它的阻值。色环电阻的基本单位有:欧姆(Ω)、千欧(KΩ)、兆欧(MΩ)。1兆欧(MΩ)=1000千欧(KΩ)=1000000欧(Ω)。
平常使用的色环电阻可以分为四环和五环,通常用四环。其中四环电阻前二环为数字,第三环表示阻值倍乘的数,最后一环为误差;五环电阻前三环为数字,第四环表示阻值倍乘的数,最后一环为误差。误差通常也是金、银和棕三种颜色,金的误差为5%,银的误差为10%,棕色的误差为1%,无色的误差为20%,另外偶尔还有以绿色代表误差的,绿色的误差为0.5%。精密电阻通常用于军事,航天等方面。 色环电阻在最早期是为了帮助人们分辨阻值,因为色环电阻比较大,在当今高度集成的情况下,色环电阻已经用的比较少了。
该计算可以自定义五环四环电阻,根据选择的颜色,计算出阻值及精度范围,如图所示。
7. 随机网名生成
可以通过输入的姓氏,随机生成符合逻辑的三字网名,使用如下图所示,若选中该网名,系统会对其进行安全检测后,辅助粘贴,方便使用。
8. 小偏心大转盘
转盘设计的初衷是帮助同学更快确定点餐种类。可以看到,如图所示,点击中心转盘开始键,可以帮助选择奶茶种类。
- 新决定添加及编辑
本软件支持编辑新决定转盘,可以看到我的所有小决定, “+”号可以添加新的决定转盘及选择项,对于已经存在的决定转盘,除了直接使用还可以选择修改或者删除操作。
程序提供了网络热门的决定转盘,可以直接使用。
- 偏好设置
用户可以自行选择是否开启偏心指数,开启后可以在编辑中设置每个选项的偏心指数,即权重越大被选中概率越大;对于每个转盘可以设置不重复抽取和转动速度。
9. 数学闯关
可以进行简单的四则运算闯关,可以自动更新正确率,程序示意图如图所示。右上角为个人主页键,可以设置BGM、音效、和答题时间,可以查看当前排行榜的所有用户闯关数。
10. 解方程程序
用户可以设置方程格式,该程序可解方程范围为最高四元,次数最高为四次,下图为解方程示意图。