当前位置: 首页 > news >正文

开源,微信小程序-超级计算器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. 解方程程序

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

相关文章:

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

笔者于四年前自学微信小程序开发,这个超级计算器T3000就是当时的练习作品。超级计算器T3000的功能有很多,其中的核心技术是矩阵计算,使用的工具库是math.js,其次是复杂运算和分式运算。关于math.js的使用,可以参考另一…...

Dimitra:基于区块链、AI 等前沿技术重塑传统农业

根据 2023 年联合国粮食及农业组织(FAO)、国际农业发展基金(IFAD)等组织联合发布的《世界粮食安全和营养状况》报告显示,目前全球约有 7.35 亿饥饿人口,远高于 2019 年的 6.13 亿,这意味着农业仍…...

降低项目延期概率的5大注意事项

降低项目延期概率对项目非常重要。因为项目延期往往会导致成本增加,降低客户满意度,影响企业在市场上的竞争力,造成资源浪费。因此,我们需要降低项目延期概率,实现企业长远发展。 而降低项目延期概率,一般来…...

在VUE页面调用Extjs中定义的方法

VUE版本:VUE2 EXTJS版本:4.2.6 1、在extjs页面上写监听事件(主要利用了window.addEventListener来监听message事件 window.addEventListener("message", function(event) {// 这里写监听到消息后的逻辑,event.data就是…...

【独立开发前线】Vol.32 能够坚持下去的人并没有你想象的那么多

如果你有一个博客,你就已经超过了80%的独立开发者; 如果你每周更新自己的博客,你就已经超过了90%的独立开发者; 如果你每天更新自己的博客,你就已经超过了99%的独立开发者; 能够坚持下去的人并没有你想象…...

Java 扫描某包下所有类的注解并获得注解值

背景 : 需求 需要获取某个包下的所有的注解 并不是全部项目的 所以 只用针对某个包 进行扫描 获取注解 数据就行 百度了一圈 spring boot 没有自带的 获取注解集合的方法 在看 php 中 hyperf 框架 看到了 这个方法 就是因为 我需求是 php 和java 合体 微服务开发 …...

根据实例逐行分析NIO到底在做什么

Selector(选择器)是 Channel 的多路复用器,它可以同时监控多个 Channel 的 IO 状况,允许单个线程来操作多个 Channel。Channel在从Buffer中获取数据。 选择器、通道、缓冲池是NIO的核心组件。 一、新建选择器 此时选择器内只包含…...

TypeScript-对象的类型(接口)

1.接口 说明:TypeScript 中的接口(Interfaces)是一种用来定义对象的结构或者契约的方式。通过接口,你可以定义对象应该具有哪些属性、方法以及它们的类型。 2.一致性 说明:接口的属性名和对象的属性名必须一致性。 …...

Windows服务器安全策略配置几个步骤,轻松加强服务器安全

Windows服务器安全策略怎么做?不要觉得这是一个非常深奥遥不可及的问题,其实也是从各个方面去加固系统的安全性而已,它没有一个定论,今天德迅云安全就跟用户们分享一下windows服务器基本安全策略保障服务器基本安全的一些简单实用…...

Hive详解(2)

​​Hive 表结构 分区表 多字段分区:需要使用多个字段来进行分区,那么此时字段之间会构成多层目录,前一个字段形成的目录会包含后一个字段形成的目录,从而形成多级分类的效果。例如商品的大类-小类-子类, 省市县、年…...

【浅尝C++】STL第二弹=>迭代器失效详解/vector常用接口使用示例/vector底层结构探索/vector模拟实现代码详解

🏠专栏介绍:浅尝C专栏是用于记录C语法基础、STL及内存剖析等。 🎯每日格言:每日努力一点点,技术变化看得见。 文章目录 vector介绍vector常用接口及使用示例构造类函数迭代器的使用容量操作增删改查 迭代器失效详解与v…...

【pytest】pytest` 中几种常用的参数化方法

pytest 是一个强大的 Python 测试框架,它提供了多种参数化测试的方法。参数化测试允许你使用不同的输入集来运行相同的测试逻辑,从而确保代码在各种条件下都能正常工作。以下是 pytest 中几种常用的参数化方法: 1. 使用 pytest.mark.paramet…...

设计模式-装饰者模式在Java中使用实例-打印发票装饰抬头和脚注

场景 设计模式-装饰者模式在Java中的使用示例: 设计模式-装饰者模式在Java中的使用示例_java装饰者模式例子-CSDN博客 上面装饰器的调用示例如下 AbstarctComputer computer;//要买1台电脑computer new BaseComputer();//加一个内存条computer new MemoryDecor…...

parallel linux虚拟机没有root权限

前言 今天刚在parallel上装上linux虚拟机,安装的是Debian发行版。用终端输入命令时,无意间发现当前用户竟然不是root用户,岂有此理!众所周知,Linux系统一般安装之后都是默认root用户的,但是可能parallel先…...

科技下乡:数字乡村改变乡村生活方式

在科技飞速发展的时代,数字化、信息化浪潮正以前所未有的速度席卷全球。在这场科技革命中,乡村不再是滞后的代名词,而是成为了数字乡村建设的热土。科技下乡,让数字乡村成为了改变乡村生活方式的重要力量。 一、科技下乡&#xf…...

【GitLab】Ubuntu使用宝塔安装GitLab最新社区版

首先在Ubuntu安装宝塔面板 在官网可以找到脚本一键安装 安装GitLab社区版 然后在宝塔面板的“软件商店”里面找到GitLab最新社区版 12.8.1一键安装 安装过程中可能出现以下问题: 1.卡在ruby_block[wait for logrotate service socket] action run 解决办法&…...

C++入门(2)

目录 3. C输入&输出 4. 缺省(默认)参数 4.1 缺省参数概念 4.2 缺省参数分类 全缺省参数 半缺省参数 5. 函数重载 5.1 函数重载概念 6. 引用 6.1 引用概念 6.2 引用特性 6.3 常引用 6.4 使用场景 6.5 传值、传引用效率比较 6.5.1 值和引用的作为返回值类型的性能比较 6.6 引…...

Prometheus +Grafana +node_exporter可视化监控Linux + windows虚机

1、介绍 背景:需要对多台虚机进行负载可视乎监控,并进行及时的报警 2、架构图 node_exporter :主要是负责采集服务器的信息。 Prometheus :主要是负责存储、抓取、聚合、查询方面。 Grafana : 主要是…...

腾讯云容器与Serverless的融合:探索《2023技术实践精选集》中的创新实践

腾讯云容器与Serverless的融合:探索《2023技术实践精选集》中的创新实践 文章目录 腾讯云容器与Serverless的融合:探索《2023技术实践精选集》中的创新实践引言《2023腾讯云容器和函数计算技术实践精选集》整体评价特色亮点分析Serverless与Kubernetes的…...

python 字典练习

def main():dict1{姓名:张三, 工资: 5000}dict2{姓名:李四, 工资: 6600}dict3{姓名:王五, 工资: 8500}dict4{}dict1.update(dict2)#字典的写法print(dict1)dict1.setdefault("3月",0)#存在不作为,不存在则增补print(dict1)names[]list[dict1,dict2,dict3]…...

Postman进阶功能实战演练

Postman除了前面介绍的一些功能,还有其他一些小功能在日常接口测试或许用得上。今天,我们就来盘点一下,如下所示: 1.数据驱动 想要批量执行接口用例,我们一般会将对应的接口用例放在同一个Collection中,然…...

Flink基于Hudi维表Join缺陷解析及解决方案

Hudi,这个近年来备受瞩目的数据存储解决方案,无疑是大数据领域的一颗耀眼新星。其凭借出色的性能和稳定性,以及对于数据湖场景的深度适配,赢得了众多企业和开发者的青睐。然而,正如任何一项新兴技术,Hudi在…...

3.31学习总结

(本次学习总结,总结了目前学习java遇到的一些关键字和零碎知识点) 一.static关键字 static可以用来修饰类的成员方法、类的成员变量、类中的内部类(以及用static修饰的内部类中的变量、方法、内部类),另外可以编写static代码块来优化程序性…...

Android Studio控制台输出中文乱码问题

控制台乱码现象 安卓在调试阶段,需要查看app运行时的输出信息、出错提示信息。 乱码,会极大的阻碍开发者前进的信心,不能及时的根据提示信息定位问题,因此我们需要查看没有乱码的打印信息。 解决步骤: step1: 找到st…...

itextPdf生成pdf简单示例

文章环境 jdk1.8&#xff0c;springboot2.6.13 POM依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13</version></dependency><dependency><groupId>com.ite…...

【Linux系列】tree和find命令

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

AI预测福彩3D第23弹【2024年4月1日预测--第4套算法重新开始计算第9次测试】

今天继续对第4套算法进行测试&#xff0c;因为第4套算法已连续多期命中&#xff0c;相对来说还算稳定。好了&#xff0c;废话不多说了&#xff0c;直接上预测的结果吧~ 2024年4月1日福彩3D的七码预测结果如下 第一套&#xff1a; 百位&#xff1a;0 1 …...

Java常见限流用法介绍和实现

目录 一、现象 二、工具 ​​​​​​1、AtomicInteger,AtomicLong 原子类操作 ​​​​​​2、RedisLua ​​​​​​3、Google Guava的RateLimiter 1&#xff09; 使用 2&#xff09; Demo 3&#xff09; 优化demo 4、阿里开源的Sentinel 三、算法 1、计数限流 &…...

算法——图论:判断二分图(染色问题)

题目&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 方法一&#xff1a;并查集 class Solution { public:vector<int>father;int find(int x){if (father[x] ! x)father[x] find(father[x]);return father[x];}void add(int x1, int x2){int fa1 find(x1), f…...

三步提升IEDA下载速度——修改IDEA中镜像地址

找到IDEA的本地安装地址 D:\tool\IntelliJ IDEA 2022.2.4\plugins\maven\lib\maven3\conf 搜索阿里云maven仓库 复制https://developer.aliyun.com/mvn/guide中红框部分代码 这里也是一样的&#xff1a; <mirror><id>aliyunmaven</id><mirrorOf>*&…...

如何做婚庆公司的网站/免费推广途径与原因

华为OD机试题 华为OD机试300题大纲任务混部题目输入输出示例一输入输出说明示例二输入输出说明备注Code代码编写思路华为OD机试300题大纲 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查看地址:blog.csdn.net/hihell/ca…...

做网站需要规划哪些内容/win7优化工具

题意传送门 思路&#xff1a;基本的点分治思路&#xff0c;num数组记录从u点开始路径长度分别为1或者2或者3的路径长度&#xff08;取模3意义下&#xff09;&#xff0c;然后做一个简单的容斥就好了。 为了避免计数的麻烦&#xff0c;<u,u>这样的点单独计算&#xff0c;也…...

wordpress接收表单/注册域名在哪里注册

一.凯撒密码加密代码思路基本思路&#xff1a;设置明文 和 位移步长(秘钥)将明文转成小写&#xff0c;准备 明文字节切片 与 密文切片循环将每个明文字符 按照 位移步长 做位移&#xff0c;存入密文切片返回密文导入包import ("fmt""strings" // 包含字符串…...

网站换稳定服务器/今天的新闻 联播最新消息

共 2462 字&#xff0c;读完需 4 分钟。腾讯前端技术大会&#xff08;TFC&#xff09;和全球技术领导力峰会&#xff08;GTLC&#xff09;都于上周闭幕&#xff0c;我翻看了下讲稿&#xff0c;有价值的参考还是不少。不过本周的重点推荐推荐还是 Coursera 上的《Learning How t…...

网站上飘窗怎么做/淘宝网页版

其实很多人学习python是势头而来的&#xff0c;现在python这么火&#xff0c;感觉不学的话&#xff0c;是会非常吃亏&#xff0c;但是确实不知道从哪里下手&#xff0c;现在Python很火并且你也要学来找工作&#xff0c;未来Python很火&#xff0c;我具备了Python的技能会不错。…...

江门网站建设费用/seo收费还是免费

前言 PPT是展示自己工作的一个主要方式&#xff0c;制作ppt时候再补充一段讲解视频可以让自己和别人快速地再理解以前的工作。这里参照b站上的一个视频进行学习&#xff0c;并针对每一套内容设计自己的模板&#xff0c;例如简历&#xff0c;工作汇报&#xff0c;学术论文汇报&…...