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

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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在极狐GitLab 配置 邮件功能

本文作者:徐晓伟 GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 本文主要讲述了在极狐GitLab 用户…

图片标注编辑平台搭建系列教程(4)——fabric几何定制渲染

背景 标注的几何,有时需要一些定制化的渲染样式,例如,线中间展示箭头,表示方向。本期教程教大家如何实现fabric几何定制化渲染。 带箭头的线 fabric提供了一些原生的几何,例如Point、Polyline、Polygon。同时提供了…

LangChain入门:2.OpenAPI调用ChatGPT模型

引言 在本文中,我们将带您深入探索如何通过OpenAPI与ChatGPT模型进行高效交互,实现智能文本问答功能。通过LangChain库的实践,您将学习构建一个能够与用户进行自然语言对话的系统的关键步骤。 准备步骤 在动手编码之前,请确保您…

Collection与数据结构链表与LinkedList(三):链表精选OJ例题(下)

1. 分割链表 OJ链接 class Solution {public ListNode partition(ListNode head, int x) {if(head null){return null;//空链表的情况}ListNode cur head;ListNode formerhead null;ListNode formerend null;ListNode latterhead null;ListNode latterend null;//定义…

Beans模块之工厂模块DisposableBean

博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

宝塔面板操作一个服务器域名部署多个网站

此处记录IP一样,端口不一样的操作方式: 宝塔面板操作: 1、创建第一个网站: 网站名用IP地址,默认80端口。 创建好后,直接IP访问就可以了。看到自带的默认首页 2、接下来部署第二个网站: 仍然是…

docker-compose mysql

使用docker-compose 部署 MySQL(所有版本通用) 一、拉取MySQL镜像 我这里使用的是MySQL8.0.18,可以自行选择需要的版本。 docker pull mysql:8.0.18二、创建挂载目录 mkdir -p /data/mysql8/log mkdir -p /data/mysql8/data mkdir -p /dat…

IC-随便记

1、移远通信---通信模组 物联网解决方案供应商,可提供完备的IoT产品和服务,涵盖蜂窝模组(5G/4G/3G/2G/LPWA)、车载前装模组、智能模组(5G/4G/边缘计算)、短距离通信模组(Wi-Fi&BT)、GNSS定位模组、卫星通信模组、天线等硬件产…

阿里云CentOS7安装MySQL8

创建目录 [rootnode1 ~]# mkdir /usr/local/mysql [rootnode1 ~]# cd /usr/local/mysql/ 下载安装包 到MySQL官网查看需要下载的版本,并获取到下载地址 https://downloads.mysql.com/archives/community/下载 [rootnode1 mysql]# wget https://downloads.mysql…

Linux - 第三节

改变用户类型 su 仅单纯的进行身份变化 依旧处于普通用户里面 su - 进行重新登录更改身份 退出用exit / ctrld su 用户名 改成成其他身份 对一条命令进行提权 sudo command r:可读 w:可写 x:可执行 -:对应的权限位置,没有权限 去掉所有权限 chmod u…

java日志技术——Logback日志框架安装及概述

前言: 整理下学习笔记,打好基础,daydayup!!! 日志 什么是日志 程序中的日志,通常就是一个文件,里面记录的是程序运行过程中的各种信息,通过日志可以进行操作分析,bug定位等 记录日志的方案 程…

嵌入式系统基础知识(一):嵌入式系统是什么?

一.定义 根据IEEE(国际电气和电子工程师协会)的定义,嵌入式系统是“控制、监视或者辅助设备、机器和车间运行的装置”。这主要是从应用上加以定义的,从中可看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装…

云渲染实用工具:3ds max怎么改低版本?

3ds Max是建模领域广泛采用的专业软件,它通过定期更新来不断增强功能和提升性能。但这些频繁的更新有时会导致一些插件暂时无法与新版本完全兼容。为了解决这个问题,设计师们可以采用一个简单有效的方法,那就是将较新版本的3ds Max文件进行版…

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

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

python练习二

# Demo85def pai_xu(ls_test):#创建一个列表排序函数命名为pai_xu# 对创建的函数进行注释"""这是一个关于列表正序/倒序排列的函数:param ls_test: 需要排序的列表:return:"""ls1 [int(ls_test[i]) for i in range(len(ls_test))]#对input输入的…

基于Java+Springboot+vue高校资源共享交流平台设计和实现

博主介绍:✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

C++刷题篇——05静态扫描

一、题目 二、解题思路 注意:注意理解题目,缓存的前提是先扫描一次 1、使用两个map,两个map的key相同,map1:key为文件标识,value为文件出现的次数;map2:key为文件标识,va…

手写简易操作系统(十九)--实现0x80中断

前情提要 上一节我们实现了用户程序,现在的用户程序还是一个函数来模拟的,后面我们会把编译好的用户程序放在硬盘里,通过硬盘加载。 众所周知,用户程序使用系统服务是通过 0x80 中断进行的,也只能通过中断进入高优先…

CTF wed安全(攻防世界)练习题

一、Training-WWW-Robots 进入网站如图: 翻译:在这个小小的挑战训练中,你将学习Robots exclusion standard。网络爬虫使用robots.txt文件来检查它们是否被允许抓取和索引您的网站或只是其中的一部分。 有时这些文件会暴露目录结构&#xff0c…

Qt6.6添加多媒体模块Multimedia报错问题

问题 QT包含多媒体模块Multimedia时提示未知的模块: error: Project ERROR: Unknown module(s) in QT: multimedia 在帮助文档中只可以找到QMediaPlayer类,但是点进去是空的,这是因为没有安装多媒体模块及对应的帮助文档。 解决 使用在线…