表达式计算器-iExpr

iExpr 是一个个人设计的表达式计算器,支持数学和逻辑表达式解析与计算,具备函数绘图、变量赋值及编程功能。它包括基础和扩展数学运算,如微积分、数论和统计部分,同时支持逻辑表达式求值和函数图像绘制。适用于Windows 10秋季创意者更新,目前为测试版本,可能存在Bug,作者欢迎反馈。
摘要由CSDN通过智能技术生成

版本更新内容

最新版介绍在这里

介绍

个人设计的一个表达式计算器,支持以下功能

  • 带关系运算和逻辑运算的数学表达式解析与计算
  • 支持常见数学函数
  • 表达式带变量运算,变量赋值运算
  • 支持简单求导(实现十分简单,所以支持的函数很少,但很多函数可以使用伪求导),定积分求值等运算
  • 简单逻辑表达式的解析与计算
  • 绘制函数图象
  • 打印真值表
  • 使用编程方式进行一些复杂运算

系统要求:Windows 10 秋季创意者更新(16299)

制作目的为对已学习知识的实践,以使用的方便灵活为主要目标。
由于制作时间短,本程序仍存在不少Bug,详情请见备注。
目前版本仍为测试版本,稳定性不足,还请注意程序得到的结果是否正确。
如果您想反馈Bug,我是非常欢迎的,邮箱为 stardustdl@outlook.com
但由于是个人业余开发者,更新周期不定,Bug修复时间不定。

外观

数学表达式

数学表达式

逻辑表达式

逻辑表达式

函数绘图

函数绘图

编程页面

编程页面

下载在这里

以下为使用说明。

iExpr 使用说明

  • 本说明版本:2017.12.9
  • 适用软件版本:iExpr 1.3 (很快就会发布,请关注软件设置页的版本信息)
  • 下载在这里

界面介绍

iExpr 分为四个页面,分别为数学表达式,逻辑表达式,数学表达式图像,编程页面。

表达式页面头部有表达式编辑框(回车解析,Esc取消运算),其下有两栏,

  • 第一栏会显示表达式计算结果(如果解析失败也会将提示信息显示在这里)。
  • 第二栏会显示表达式解析结果,可以在这里检查系统解析的表达式是否符合预期。

表达式页面主体部分会提供相关扩展功能。

您切换页面时原页面中的信息会被清空,所以请保留好您需要的信息(如输入表达式)。

表达式 基本语法

  • ()

小括号用于区分优先级与包围函数参数

  • @"abc"

表示其中的内容(abc)为一个整体,常用来表示预定义常量(不同表达式系统中可能有不同的预定义常量表示),有时也用于被运算者独立解析的函数参数或指定变量名。

  • F(arg1,arg2,...)

函数格式(F 在这里包含自定义的函数以及 Lambda 表达式,关于自定义的函数 具体请见编程部分)。注:函数的运算优先级最高

  • a b c d

表达式支持变量表示,首字符不为数字或运算符(函数)关键字的一般都会解析为变量,但仍强烈建议使用纯字母字母+数字的方式表示变量。

  • (v1,v2,...)=>(expr)

Lambda 表达式,可以理解为自己定义的一个自变量为 v1,v2,v3, 的函数

  • x.func(args)

调用函数,对于部分支持前置参数的函数,可以这样调用,其等价于 func(x,args)

集合类型表示

  • [1,2,a^2,5]

列表,用 [] 包围表示这是一个列表,其中元素以 , 分隔

  • {1,2,a^2,5}

无序不重集合,用 {} 包围表示这是一个集合,其中元素以 , 分隔

  • (1,2,a^2,5)

定长元组,用 () 包围表示这是一个元组,其中元素以 , 分隔

基础表达式系统

为各表达式系统的基础

运算符

  • => Lambda 表达式定义
  • . 层级调用

函数

  • list(l1,l2,...)

生成列表,参数中的单层集合会被展开。

  • tuple(l1,l2,...)

生成元组,参数中的单层集合会被展开。

  • set(l1,l2,...)

生成集合,参数中的单层集合会被展开。

  • len(l1,l2,...)

统计元素数目,参数中的单层集合会被展开。

  • val(l,index)

获取列表 l 中的第 index 项(从0开始计数)

  • val(l,index,newval)

将列表 l 中的第 index 项(从0开始计数)设为 newval

数学表达式系统

以下变量除特殊标明外都默认为实数类型。

基本部分

运算符(优先级从低到高)

  • +
  • - 减,包含取负,注意这里优先级较低,使用x^-1时请写成x^(-1)
  • *
  • /
  • % 取模
  • ^ 指数

函数

  • sin(x) 正弦函数
  • cos(x) 余弦函数
  • tan(x) 正切函数
  • arcsin(x) 反正弦函数
  • arccos(x) 反余弦函数
  • arctan(x) 反正切函数
  • log(base,val) 对数
  • ln(val) 自然对数
  • abs(x) 绝对值
  • round(x) 舍入到最精确的整数
  • ceil(x) 大于等于x的最小整数
  • floor(x) 小于等于x的最小整数
  • exp(x) e的幂次
  • sign(x) x的符号

常量值

  • e 自然对数的底数
  • pi 圆周率

扩展部分

运算符

这里主要扩展了关系运算和简单逻辑运算,它们的结果为0或1。

  • |
  • &
  • == 相等
  • != 不等
  • > 大于
  • < 小于
  • >= 大于等于
  • <= 小于等于

函数

  • eval(expr,v1,v2,...)

将expr中的变量按给出的值依次赋值(字典序),然后求值

  • sum(expr,l,r)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值