叨叨小算盘 version 3.0 使用C#开发,运行于.net framework 4.0(点此下载)
叨叨小算盘的下载地址:download.csdn.net/detail/heroius/4878277
如有任何疑问,请访问我的个人IEPI博客http://blog.heroius.com
了解叨叨小算盘
叨叨小算盘是一款智能计算器,它能够识别你输入的算式,并计算出一个结果。 启动叨叨小算盘,可以见到它的主界面:
界面可划分为4个部分,首先是菜单栏,这里提供了一些常用操作,这些操作也可以通过其他方式实现:
编辑:输入框编辑功能。
- 复制:复制输入框中当前选中的文本,你也可以在文本框使用Ctrl+C进行相同的操作。
- 粘贴:将剪贴板上的文本内容粘贴到输入框的当前选中位置,等效于Ctrl+V。
- 清除表达式<:清空输入框内容,点击"Clear"按钮或按下Del键可达到同样目的。
- 退出:退出叨叨小算盘。
记录:操作计算的结果记录。
- 转到第一个、上一条、下一条、转到最后:在21个记录缓存中移动,将相应位置的记录显示在记录框中。
- 传递到输入:将当前显示的记录移至输入框选中位置。
- 从输入获取:将输入框中的内容保存为一个记录。
帮助
- 说明:也许就是因为点击了这个,你才看到了这篇文档。
- 关于:显示程序信息对话框。
第二个部分是记录区。主界面上设置有21个循环存储区,用于保存计算的结果(包括错误信息)。除去当前记录号和记录显示框,其他按钮功能均与记录菜单项中相同。
第三部分为键盘区。位于中央部分的密集的按钮组成了键盘区的大部,点击它们后将在输入框选中位置插入按钮上显示的文本,当然你也可以在输入框中手动输入内容。除了这些键入文本的按钮,还有一些特殊的按键:
- GO:相当于敲击回车键,点击之后程序将执行当前输入框中表达式的计算。
- Clear:相当于敲击Del键,点击之后将清空输入框中的内容。
- Back:相当于敲击退格键,点击之后将删除输入框中的选中内容或光标位置的前一个字符。
- 显示记录窗:显示或隐藏计算的输入和输出记录,记录窗是下面这个样子的:
第四个部分是算符列表,在列表框中列出了所有可用的算符,双击算符可以在输出框中插入算符,如在列表的ADDITION项目处双击鼠标左键,输入框中会添加“ADDITION()”内容,并且光标被定为在括号之间以便为算符输入参数。
什么是算符
算符是由算符名和一对括号组成的,我们一般称之为函数,算符的名称可能包含字母、数字和下划线,根据其功能不同,会需要在使用时提供数量不等的参数,参数之间需要用半角逗号(,)隔开,如算符ADDITION代表加法运算,使用时需要提供2个或更多参数:ADDITION(1,2,3),这样的表达式会对参数进行求和,结果为6。
在算符列表中列出了叨叨小算盘支持的所有算符,下面的表单详细说明了每个算符的作用和使用方法。
算符名 | 功能 | 参数个数 | 参数说明 |
---|---|---|---|
ADDITION | 加法运算,基数为0 | 不限,应输入2个或更多 | 任意参数均为和数 |
SUBTRACTION | 减法运算 | 至少1个,应输入2个或更多 | 以第一参数为被减数 |
MULTIPLICATION | 乘法运算,基数为1 | 不限,应输入2个或更多 | 任意参数为因数 |
DIVISION | 除法运算 | 至少1个,应输入2个或更多 | 以第一参数为被除数 |
MINUS | 取相反数 | 1个 | |
SELF | 获取值自身 | 1个 | |
ABS | 取绝对值 | 1个 | |
REMAIN | 求整除余数 | 2个 | |
POW | 乘幂运算 | 2个 | 第一参数为底数,第二参数为指数 |
LOG | 对数运算 | 2个 | 第一参数为真数,第二参数为底数 |
TETRATION | 重幂运算 | 2个 | 第一参数为根,第二参数为次 |
SIN | 正弦函数 | 1个 | |
COS | 余弦函数 | 1个 | |
TAN | 正切函数 | 1个 | |
ASIN | 反正弦函数 | 1个 | |
ACOS | 反余弦函数 | 1个 | |
ATAN | 反正切函数 | 1个 | |
FACTORIAL | 阶乘 | 1个 | 取第一参数的整数部分 |
PERMUT | 排列 | 2个 | 第一参数为选取数,第二参数为元素总数 |
COMBIN | 组合 | 2个 | 第一参数为选取数,第二参数为元素总数 |
GT | 比较:大于 | 2个 | |
LT | 比较:小于 | 2个 | |
EQ | 比较:等于 | 2个 | |
AND | 逻辑:与,基数为1 | 不限,应输入2个或更多 | 所有参数均参与判断 |
OR | 逻辑:或,基数为0 | 不限,应输入2个或更多 | 所有参数均参与判断 |
GE | 比较:大于或等于 | 2个 | |
LE | 比较:小于或等于 | 2个 | |
BETWEEN | 判断第一参数是否在由第二、第三参数形成的闭区间上 | 3个 | 第一参数为待比较数,第二、第三参数分别构成闭区间的左右边界 |
NOT | 逻辑:非 | ||
NE | 比较:不等于 | 2个 | |
IN | 判断第一参数的值是否在出其之外的参数中出现 | 至少1个,应输入2个或更多 | 第一参数为待比较数,其余参数为查找集合 |
ISNULL | 判断输入参数是否为空值 | - | 此算符无法在叨叨小算盘中使用 |
PI | 得到圆周率 | 0个 | |
E | 得到自然对数 | 0个 | |
RANDOM | 得到随机数 | 0个、1个或2个 | 若输入0个参数,则得到0附近的随机数;若输入参数为1个,则得到参数附近的随机数;若输入2个参数,则得到0附近、参数限定范围内的随机数 |
STR_EQ | 字符串操作:判断两个字符串是否相等 | 2个 | |
STR_CONTAIN | 字符串操作:判断第一参数是否包含第二参数 | 2个 | |
STR_MATCH | 字符串操作:使用正则表达式判断匹配 | 2个 | 第一参数为目标字符串,第二参数为正则表达式 |
注意:
- 你可以在算符表达式中输入比列表中示明更多的参数,但多余的参数将被忽略。
- 有些算符接受不限数量的参数,当没有输入的参数或参数不足时,会返回一个默认的数,这个数在这里称为“基数”。
- 算符的参数并非必须为常量,也可以是嵌套的表达式。
什么是符号
符号实际上是对算符的简化,如符号“+”相当于算符ADDITION,不同的是,符号只能是一元或者二元的,而算符的参数数量则不受这个限制。下面的表单列举了能够在表达式中使用的符号:
符号 | 对应算符 | 参数说明 | 运算优先级 |
---|---|---|---|
- | MINUS | 对之后的成员取相反数 | highest |
^ | POW | 乘方 | higher |
* | MULTIPLITATION | 乘法 | high |
/ | DIVISION | 除法 | high |
+ | ADDITION | 加法 | low |
- | SUBTRACTION | 减法 | low |
> | GT | 比较数值 | lower |
< | LT | 比较数值 | lower |
= | EQ | 比较数值是否相等 | lower |
>= | GE | 比较数值 | lower |
<= | LE | 比较数值 | lower |
!= | NE | 比较数值是否不等 | lower |
& | AND | 逻辑与判断 | lowest |
| | OR | 逻辑或判断 | lowest |
注意:
- 符号会按照顺序解析,看似相邻的符号实际上会被解析为一个,例如10^-2这个式子在程序运算中会返回一个错误,报告没有找到“^-”符号的定义,为了得到正确的结果,应当避免将不同的符号连接起来,使用括号可以达到预期的效果:10^(-2)。
- 形式相同的符号会根据其位置环境被解析为不同的算符,如“-”,当其只有右侧的一个参数时会被作为MINUS处理,左右都有参数时则被解析为SUBTRACTION。
表达式规范
在叨叨小算盘中输入的表达式必须遵循一定的规范:表达式中只能包含允许的成员,每种成员也有一定的格式要求,这些成员和要求在之后列出。
除了在字符串常量中:所有的字符均应为半角字符,并且建议不要使用任何空格,虽然空格会被自动忽略。
成对使用小括号“(”和“)”来确定优先级或分隔成员,程序无法识别其他的括号。
数值常量
数值常量中允许包含数字和小数点“.”,但每个数字应当最多包含一个小数点。输入的数值一般是正数,负数的情况是通过符号“-”指定的。
字符串常量
字符串常量使用双引号(同样是半角的“"”)包围,在特殊的情况下,字符串常量本身可能包含有双引号,因此引入了转义字符“\”,当需要在字符串常量中包含双引号时,需要输入“\"”,类似的,需要包含反斜杠时输入“\\”。
算符
算符用于在表达式中调用内置的函数。每个算符包含一个算符名,接下来是一对小括号,在括号中为算符的参数,参数间由逗号“,”分隔。算符名只能包含字母、数字和下划线“_”,且不能由数字开头,字母不区分大小写。在“什么是算符”主题下列出了所有可以使用的算符及说明。
符号
符号使用特殊字符来简化算符的使用,在“什么是符号”主题下列出了所有可以使用的符号及说明。
特殊值
特殊值的表达规范和算符的名称相似,只能包含字母、数字和下划线"_",且不能由数字开头,但是字母区分大小写。特殊值用来对应数学中的常用数值,在叨叨小算盘中,e代表自然常数,pi代表圆周率,x代表一个基于0的随机数。
计算实例
考虑如下算例:
-
计算半径为4.5个单位的圆面积
表达式:pi*POW(4.5,2)
结果:63.6172512351933
-
比较 3倍√2 是否大于 2倍√3
表达式:3*POW(2,-2)>2*POW(3,-2)
结果:1(是)
-
从5个颜色的球中任选3个,有多少种颜色组合可能
表达式:COMBIN(3,5)
结果:10