开源,微信小程序-超级计算器T3000 简介

笔者于四年前自学微信小程序开发,这个超级计算器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. 解方程程序

用户可以设置方程格式,该程序可解方程范围为最高四元,次数最高为四次,下图为解方程示意图。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/500105.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【快速上手ESP32(基于ESP-IDFVSCode)】01-环境配置GPIO口延时函数(先点个灯)

前言 立创开发板之前出了个ESP32S3R8N8的开发板,当时嫖了个优惠券,九块九拿下了。 现在不仅是35.9一个,而且还没货。 如果真的想要的小伙伴可以自己去打板焊一个,人家开源了(目测难度较大,反正我是焊不上…

Flink CDC 同步数据到Doris

Flink CDC 同步数据到Doris Flink CDC 是基于数据库日志 CDC(Change Data Capture)技术的实时数据集成框架,支持了全增量一体化、无锁读取、并行读取、表结构变更自动同步、分布式架构等高级特性。配合 Flink 优秀的管道能力和丰富的上下游生态,Flink CDC 可以高效实现海量…

如何在Win10部署Oracle数据库并实现无公网IP使用PL SQL远程访问

文章目录 前言1. 数据库搭建2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射 3. 公网远程访问4. 配置固定TCP端口地址4.1 保留一个固定的公网TCP端口地址4.2 配置固定公网TCP端口地址4.3 测试使用固定TCP端口地址远程Oracle 前言 Oracle,是甲骨文公司的一款关系…

[RAM] 图解 RAM 结构原理

主页: 元存储博客 文章目录 前言1. Channel2. Dimm3. Rank4. Bank5. Row6. Column7. Beat8. Burst Length总结 前言 从CPU至DRAM晶粒之间依据层级由大至小为channel>DIMM>rank>chip>bank>row/column。 图片来源: 电脑王 DRAM层级关系 DR…

第十五届蓝桥杯第三期模拟赛第十题 ← 上楼梯

【问题描述】 小蓝要上一个楼梯,楼梯共有 n 级台阶(即小蓝总共要走 n 级)。小蓝每一步可以走 a 级、b 级或 c 级台阶。 请问小蓝总共有多少种方案能正好走到楼梯顶端?【输入格式】 输入的第一行包含一个整数 n 。 第二行包含三个整…

go发布包到github

1. 首先,我们在github上创建一个公有仓库并clone到本地 git clone https://github.com/kmust-why/gdmp-token.git cd gdmp-token/ 2. 在gdmp-token工程中初始化go.mod,其中后面的链接要跟github上创建的仓库和你的用户名对应 go mod init github.com…

python 字典练习

# 字典练习1 import time def main():month_income{1月: 8000, 2月: 8200, 3月: 7900, 4月: 6900, 5月: 8900, 6月: 12000, 7月: 8900, 8月: 6000,9月: 8900, 10月: 9200, 11月: 6200, 12月: 7000}year_income0for k,v in month_income.items():print(月份→,k,工资→,v)time.s…

4.模板-数组类封装

文章目录 功能代码运行结果 功能 利用模板进行数组类封装,在代码实现过程中,使用了 1.operator重载,利用深拷贝防止浅拷贝问题; 2.operator[]重载,确保可以使用[]来仿真数组元素; 3.尾插法、尾删法、返回数…

基于主成分分析的机器学习分类代码

前言 本文内容主要实现基于主成分分析的数据降维和四种经典的机器学习分类算法,包括:支持向量机、随机森林、XGBoost分类器、scikit-learn的梯度提升分类器和Histogram-based Gradient Boosting分类器 1.数据准备 import pickle import pandas as pd …

消息队列RocketMQ环境搭建

消息队列RocketMQ环境搭建 1.下载:配置环境变量启动NameServer启动Broker发送和接收消息测试模拟发送消息模拟接收消息 控制台安装与启动 软硬件需求: 系统要求是 64 位的,JDK要求是1.8及其以上版本的 1.下载: https://rocketmq.apache.org/download/ 2.解压到指…

fast_bev学习笔记

目录 一. 简述二. 输入输出三. github资源四. 复现推理过程4.1 cuda tensorrt 版 一. 简述 原文:Fast-BEV: A Fast and Strong Bird’s-Eye View Perception Baseline FAST BEV是一种高性能、快速推理和部署友好的解决方案,专为自动驾驶车载芯片设计。该框架主要包…

数学逆元计算

定义,即是有(在mod p 的意义下),也就是求倒数 根据定义,则有,b的逆元就是 所以得出第一个计算式 求,可以快速计算较大情况: 表示的逆元的值,则有: fac[0]…

基于STM32的汽车防窒息系统

文章目录 基于STM32的汽车防窒息系统系统简介材料展示视频制作硬件连接原理图PCB实物图GSM模块使用GSM模块代码 SGP30模块SGP30模块代码 步进电机驱动步进电机代码 其他模块主逻辑代码 总结 基于STM32的汽车防窒息系统 系统简介 随着社会的发展目前汽车的流行,汽车大…

骨传导耳机哪个品牌最好?精选五大热销产品深度测评!

作为一个经验丰富的数码测评师,我经常在生活中使用各类数码产品,骨传导耳机就是其中之一,但在之前,选购骨传导耳机的时候也踩到过不少的坑,因为随着骨传导耳机逐渐热门,一些劣质品牌逐渐进入市场中&#xf…

京东云4核16G服务器优惠价格26元1个月、658元1年、三年3098元

京东云4核16G服务器优惠价格26元1个月、80元3个月、658元1年、3098元三年,配置为:轻量云主机4C16G-220G SSD系统盘-5M带宽-500G月流量,京东云优惠活动 atengyun.com/go/jd 可以查看京东云服务器详细配置和精准报价单,活动打开如下…

代码随想录训练营Day37:● 738.单调递增的数字 ● 968.监控二叉树 ● 总结

738.单调递增的数字 题目链接 https://leetcode.cn/problems/monotone-increasing-digits/description/ 题目描述 思路 从后往前遍历数字的每一位,如果前一位大于后一位,则将其减一,后边的一位取 i-9 中最大的 解答的两点疑惑:…

【Java多线程】5——Lock底层原理

5 Lock底层原理 ⭐⭐⭐⭐⭐⭐ Github主页👉https://github.com/A-BigTree 笔记仓库👉https://github.com/A-BigTree/tree-learning-notes 个人主页👉https://www.abigtree.top ⭐⭐⭐⭐⭐⭐ 如果可以,麻烦各位看官顺手点个star~&…

错误:ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+

错误现象 解决方法: 将urllib3 降级 pip install urllib31.25.11

震惊!AI生成真人视频毫无瑕疵,台词随意变!HeyGen硬核升级数字人

2024年3月21日,HeyGen 5.0 正式发布!这款革命性的AIGC产品将AI数字人的魔力融入视频创作,以其简洁易用的特性,让视频制作变得轻而易举。 只需几次点击,即可打造出令人惊叹的高品质视频作品! 不仅如此&…

HarmonyOS入门--页面和自定义组件生命周期

文章目录 页面和自定义组件生命周期页面生命周期组件生命周期生命周期的调用时机 页面和自定义组件生命周期 生命周期流程如下图所示,下图展示的是被Entry装饰的组件(首页)生命周期。 自定义组件和页面的关系: 自定义组件&…