笔者于四年前自学微信小程序开发,这个超级计算器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.1 算式运算)
[3.2 矩阵运算](#3.2 矩阵运算)
[3.3 趣味计算](#3.3 趣味计算)
[4.1 开发技术](#4.1 开发技术)
[4.2 功能展示](#4.2 功能展示)
[1. 算式运算功能](#1. 算式运算功能)
[2. 矩阵相关计算](#2. 矩阵相关计算)
[3. 更多计算](#3. 更多计算)
[4. 亲戚关系计算](#4. 亲戚关系计算)
[5. 单位转换](#5. 单位转换)
[6. 体测成绩计算及BMI计算程序](#6. 体测成绩计算及BMI计算程序)
[7. 随机网名生成](#7. 随机网名生成)
[8. 小偏心大转盘](#8. 小偏心大转盘)
[9. 数学闯关](#9. 数学闯关)
[10. 解方程程序](#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. 解方程程序
用户可以设置方程格式,该程序可解方程范围为最高四元,次数最高为四次,下图为解方程示意图。