版权所有。所有权利保留。

欢迎转载,转载时请注明出处:

http://blog.csdn.net/xiaofei_it/article/details/18676049

本软件特色

·可编程,程序员可以在本软件中写程序。

·支持复数和复函数,所有函数均可以在复数模式下计算。

·支持多进制实数,通常计算器只支持多进制整数,本软件还支持多进制小数。

·高精度,支持任意小数转为分数。

·有任意多的存储器可供存储数据。

更多特色请看

http://blog.csdn.net/xiaofei_it/article/details/18675175

如果您发现本软件的漏洞、错误或对本软件有任何建议、意见,请联系小飞。

1、基本功能

打开计算器,用户看到的界面称作计算界面。

计算界面第一行的方框是输入框,第二行的方框是输出框,第三行的方框是模式框,最底下的方框是提示框。

请按在纸上的相同格式输入结果,输入的数值表达式将显示在输入框中。

之后按=,便开始进行计算。计算完成后结果将显示在输出框中。

如果想终止运算,按终止。

模式框显示当前模式,通过设置可以改变模式。

点击“设置”可以改变实数复数模式、角度弧度模式、显示方式。关于显示方式请参见下文的“结果显示”。

提示框显示提示信息。

在数值表达式中,运算符优先级和日常的没区别。

另外乘号写作“*”,除号写作“/”,圆周率写作“pi”。

2、数值表达式

数值表达式出现在很多地方,输入框中的表达式就应该是一个合法的数值表达式。在自定义函数中,数值表达式尤为重要。

数值表达式和日常计算的表达式几乎一样,优先级也几乎一样:乘方最高,乘除其次,加减最低。

另外,a^b表示a的b次方。注意乘方号的结合性,2^3^4是2^(3*4),而不是(2^3)^4。

在使用自然对数的底e时要注意,科学计数法里已经使用了e作为指数标志,所以诸如e^x应该使用exp(x)。

不论调用内置函数还是自定义函数,必须加上括号,比如sin 8应该写作sin(8)。

pi返回圆周率。ans返回上次的计算结果,复数模式下,ans只保留结果的实数部分。

一个合法表达式的例子是3*7^4*ans+pi+load(x)。

2.1 合法的数

·实数输入

实数可以有正负号,也可以加上指数,指数不能超过1000,不能小于-1000。一个实数不管有没有指数部分,都不能有空格。

如果要进行多进制输入,则应加上前缀。多进制输入时,可以输入小数,但不能输入类似科学计数法的指数。前缀以数字0开头,后接一个字母(b或B表示二进制,小写字母o或大写字母O表示八进制,d或D表示十进制,h或H表示十六进制)。十六进制大于9的部分由大小写字母abcdef或ABCDEF构成。

以下是几个例子:

89.756e+900
-89.68E89
32999.7864e-87
0Hadf78.8907
0b110.00011

·复数输入

复数的实数部分和实数输入相同,虚数部分在虚数后加上i即可。

比如3-7i、-8+9i,如果想单独输入虚数单位i(比如2+i),那么应该输入1i(2+i应该输入2+1i),因为计算器不把i看成数字,而把它看成一个标识符。

3、结果显示

根据用户的设置,计算结果会以相应的方式显示在输出框中。
如果是“正常显示”,则会根据用户设定的进制显示结果。当数过大或过小时,自动改为科学计数法。
如果是“小数显示”,则会根据用户设定的进制显示结果。用户可以按“+”或“-”改变保留的小数位数。
如果是“科学计数法”,则会按科学计数法显示结果。用户可以按“+”或“-”改变有效数字位数。科学计数法始终是十进制显示的。
用户还可以在计算界面点击“分数显示”,把结果显示为带分数或假分数。当结果是有限小数或无限循环小数时,会显示为精确结果;当结果是无限非循环小数时,会显示为尽可能精确的近似结果。
注意:结果一律以合法的数值表达式显示(便于把结果复制后再进行运算),所以某些时候结果看起来有些奇怪。比如:

632i+36”在“科学计数法3位有效数字”的模式下结果显示为“3.60e1+6.32e2*1i”;“6/36i+36/9852-69/7-6i”的结果显示为带分数是“-(9+4905/5747)-(6+1/6)*1i”,仔细看就是两个带分数。这个结果在某些计算器上显示时,已经填满了输出框,这时请左右移动输出框,便可看到结果的所有部分。当结果填满输出框时,请务必左右移动输出框,看是否有一部分被隐藏了。

4、保存结果

计算结束后,可以保存结果。点击“保存结果”,选择要存入的存储器即可。也可以新建存储器进行保存。
第一次使用时,还没有存储器,必须新建存储器进行保存。
存储器ans保存上次的计算结果,不应人为把结果存入ans中。

5、存储器

存储器存储一些数值供用户以后使用。用户点击计算界面的“存储器”后,可以新建存储器并且存储一些数值,也可以更改现有的存储器中的数值。
在自定义函数中,用户可以使用store语句把相应的值存入存储器。
在表达式中,用户可以使用load(存储器名)使用存储器中的数值。比如load(sum)+5。另外load(ans)和ans是同一个意思。
存储器名应是一个合法的标识符。
注意:在复数模式下,存储器只存储数值的实数部分。
所有数值用十进制表示时,均有50位精度,在显示时显示30位。用户可以在ans存储器中查看所有的50位。

6、标识符

合法的标识符是一个字母开头,后跟字母或数字的字符串,中间不能有符号,也不能有空格。如About、sumOf2Num均为合法的标识符。
存储器名、函数名、自定义函数中的变量名都应是合法的标识符。
用户自定义的标识符不应是内置函数名、load、ans、pi以及保留字。
保留字有:function、var、if、else、for、to、step、while、break、continue、store、return等。

7、内置函数


表达式中可以调用内置函数,但是千万记住加上括号。如sin(8)、cos(8-7*9)。
点击“函数”,再点击需要调用的函数,相应的函数就出现在计算界面输入框的光标处,但后面的括号要自己补齐。某些函数有多个参数,多个参数中用逗号隔开。如root(34,5)。
输入内置函数时,计算界面的提示框会显示提示信息。
每个内置函数都可以在实数和复数两种模式下运行。在复数模式下,函数返回的值和实数模式不同,这一点要注意。比如sqrt(-1)结果是1i,而实数模式下会报错。
通常复函数都是多值的,结果的表达式中会有k,k取不同值时就得到多个结果。 本软件取k为0。 (软件内置文档在此处有误,以本文为主。)
复数模式下的函数是供高等院校师生和专业人员使用,普通用户几乎不需要在复数模式下使用内置函数。所以普通用户请尽量使用实数模式下的函数。

8、自定义函数


调用自定义函数时,点击“自定义函数”,再选择自定义函数,按“插入”,便会插入计算界面表达式的光标处,同时提示框内会显示您编写自定义函数时输入的描述信息。
要编写自定义函数,点击计算界面中的“自定义函数”,再点击“新建”,输入函数名和函数描述(调用自定义函数时,计算界面中的提示框中会显示函数描述,所以建议您认真填写),然后就进入函数编辑页面。
编辑函数时,函数头的函数名(具体见下文)应该与之前输入的函数名保持一致。
编辑框中只能输入一个函数(局部函数是不被支持的),如果要创建其他函数,请另外新建函数。
如果编辑框中输入了多个函数,本软件只处理第一个函数,第一个函数后的所有内容将被忽略。


计算器只存入localFun,而忽略后面的函数。
本软件不支持局部函数,此例中,用户只能把localFun作为一个新函数进行定义。

编辑函数后,点击检查,会显示编译信息。有错误时,提示信息会显示在下方,同时光标会显示在出错处的附近。
当确认没有错误后,便可以使用此函数了。
本计算器不支持函数重载,所以当您已经编写了函数max(a,b)后,就不能再编写max(a,b,c)了。

9、编写函数代码

一个函数由函数头、变量定义、函数体三部分组成,其中变量定义部分可以省略。
函数支持递归调用,并且可以在计算过程中把数据存储在存储器中,也可以从存储器中读取数据。
写代码时,一切符号请使用英文标点,注释中的除外;一切字母和数字请使用英文字母和半角数字,注释中的除外。
考虑到某些手机输入法可能使用不方便,编辑代码时,编辑器中给出了许多标点和语句的快捷输入键。
您可以使用空格和tab制表符进行缩进。
一个典型的函数如下:

在使用计算器时,可以像使用内置函数那样使用自定义函数。

您打开fib函数,按“插入”,便可以把该函数插入输入框的光标位置(和内置函数操作一样)。

在计算界面输入fib(6)+fib(3)+1,按等号,便得到17。

但如果计算fib(0)将死循环,请终止。

9.1 类型

当实数模式时,所有数据、变量、函数返回值都是实数类型;当复数模式时,所有数据、变量、函数返回值都是复数类型。所以编程时无需定义类型,由具体执行环境决定。
如果函数只能在复数模式中运行,那么在实数模式中运行会报错。比如:

function foo()
{return 1i;
}

另外许多计算器内置函数在复数和实数两种模式中计算结果不同,因此如果自定义函数中调用了内置函数,结果会不同。

function foo(x)
{return sqrt(x);
}

如果实数模式调用foo(-8),将会报错,但复数模式可以运行。
因此,在使用内置函数时,请特别注意当前的模式。
您编写函数时应该尽可能考虑兼容性,即让您的函数在实数复数模式下都能正确运行。

9.2 函数头

格式:funtion 函数名(参数列表)
参数列表不需要类型,只需要给出变量名。如果没有参数,则空着;如果多余一个参数,参数中用逗号隔开。
这些参数是按值传入的,所以即使在函数体中,参数值发生了变化,原来的那些变量的值不会改变。
因为函数返回的只能是值,所以不需要定义返回值类型。在复数模式下,返回复数;在实数模式下返回实数。
例子:
function foo1()
function foo2(a)
function foo3(val,data,i,j)

9.3 变量定义

格式:var 变量列表;
一切在函数中用到的临时变量都应该在此处定义,如果没有临时变量,则不用定义。
这里定义的变量是局部变量,只能在当前这个函数中使用。
定义以分号结尾。变量之间用逗号隔开。
var a,b;
或者
var Example1;
以下例子是错误的:

function foo(a)
var b,c;
var d;
{...
}

不应出现两次var,应该改为

function foo(a)
var b,c,d;
{...
}

9.4 函数体

函数体由“{”开头,“}”结尾。
由一条以上的语句构成。和绝大多数编程语言一样,基本语句以分号结尾。基本语句包括赋值语句、存储语句、返回语句、break语句、continue语句。

·赋值语句

格式:变量名=数值表达式;
数值表达式在之前已经讲解过了。
写赋值语句时,别忘了最后的那个分号。

·存储语句

格式:store(数值表达式, 存储器名);
如果存储器列表中没有相应的存储器,那么该存储器会被新建;如果有相应的存储器,那么该存储器的值会被覆盖。
另外,为了兼容,如果存储一个复数,则只有实数部分会被存储。这点请特别注意。
例子:

a=3.8;
store(a,mem1);
store(a+1,mem2);
store(5*7,mem3);

运行结束后,在存储器列表中,mem1保存值3.8,mem2保存值4.8,mem3保存值35。

·返回语句

格式:return 数值表达式;
程序到此即返回,下面部分不再执行。

·if语句

格式1:if (条件表达式) 语句
格式2:if (条件表达式) 语句 else 语句
条件语句可以嵌套。

·条件表达式

条件表达式类似大多数编程语言。
大小比较符不能连用,即1<2<3这种表达式是错误的。
优先级也类似大多数编程语言。以下是所有操作符的优先级:
最上面的具有最高优先级,最下面的具有最低优先级,处于同一行的操作符的优先级相同。
逻辑非(!)
乘方号(^)
乘除号(*、/)
加减号(+、-)
大小比较符(>、>=、<、<=、==、!=)
逻辑与(&&)
逻辑或(||)

注意:为了兼容,在复数模式下,>、>=、<、<=四个符号只比较复数的实数部分,=和!=是比较实数和虚数部分两个部分。

例子(没有实际意义)

if (!(year==2001&&year==2002))year=year+1;
else if (year/4000==0)
{year=year+2;ok=0;
}

·while语句

格式:while(条件表达式) 语句
和绝大多数编程语言一样,此处不再讲解。

·for语句

格式:for 变量名=起始数值表达式 to 终止数值表达式 step 间隔数值表达式  语句

(没有“do”,软件内置文档在此处有误,以本文为准。)
执行过程如下:
(1)计算起始数值表达式,赋给变量。
(2)计算终止数值表达式,如果变量小于等于终止数值表达式的值,跳至3;否则跳至5。
(3)执行循环体。
(4)计算间隔数值表达式,此值加上变量赋给变量本身,跳至2。
(5)执行for语句以后的语句。
注意:每次终止数值表达式和间隔数值表达式都会被重新计算,所以如果数值表达式中有变量,请尽量不要在循环体内部改变该变量的值(除非有特殊需求)。
例子:

sum=0;
for i=a to b step 1sum=sum+i;

·break和continue

while语句和for语句内部可以使用break和continue,也可以使用return。当然break和coontinue后面有一个分号。

10、其他

10.1 循环体

多个语句组成循环体时,应用“{”“}”括起来。

10.2 变量初始化

一切变量应该先初始化,否则值不能确定。

10.3 递归调用

在函数中可以使用内置函数,也可以使用函数自身或其他自定义函数。不需要函数声明,只要运行的时候,所有被使用的函数均有明确定义即可。
如果您新建一个函数,取名fib,然后把函数体设为:

您就可以使用fib进行计算了。这里有自身递归调用。

下面例子是两个函数互相递归调用。

您新建一个函数,取名foo,然后把函数体设为

然后再新建一个函数bar

这样您就可以使用foo和bar了。

注意:编辑函数的那个编辑框中只能编辑一个函数,绝对不能在一个编辑框中输入两个函数,也不能建立局部函数。

10.4 函数注释

“/*”和“*/”中间可以加入注释。
例如:

/*This is an example.*/

多行注释推荐使用Java风格,即

/*** This is an example.* This is just an example.*/

不支持“//”的注释。

11、如何编写好的函数

·要把函数描述写好。
·为了兼容,注释尽量用英文。
·考虑输入的各种情况。如果您编写的一个函数在某些不符合要求的输入下不应继续运行,那么可以对符合要求的输入返回相应的值,对不符合要求的输入不返回值。这样,如果输入不符合要求,在函数运行结束时,由于没有返回值,计算器会报错,计算便终止了。具体请参见下文的例子。

12、有用的例子

·函数名:rand2

·描述:rand2(a,b)返回一个均匀分布于[a,b)的随机数。如果a和b中的任一个有虚数部分或a大于等于b,函数将报错。

·代码:

function rand2(a,b)
{if (a==conj(a) && b==conj(b) && a<b)return rand(b-a)+a;
}

·函数名:gaussian

·描述:gaussian(mu,sigma)返回一个均值为mu,标准差为sigma的高斯分布(正态分布)的随机数。如果sigma<=0,函数将报错。

·代码:

function gaussian(mu,sigma)
var u1,u2,temp;
{if (mu==conj(mu) && sigma==conj(sigma) && sigma>0){/*** Since rand(1) returns a uniformly distributed random number between 0.0 (inclusive) and* 1.0 (exclusive), 1-rand(1) returns one between 0.0 (exclusive) and 1.0 (inclusive).*/u1=1-rand(1);u2=1-rand(1);/*Use Box-Muller transform to generate a standard Gaussian distributed random number.*/temp=sqrt(-2*ln(u1))*cos(2*pi*u2);return mu+temp*sigma;}
}

小飞计算器(小飞可编程复数计算器)用户手册相关推荐

  1. 手写计算器java_可编程科学计算器app

    可编程科学计算器app是一款功能超级强大的科学计算器,它通过自建程序解决很多工程测算的问题!欢迎有需要的朋友在芒果下载站下载体验! 可编程科学计算器app官方介绍 程序开发科学计算器是一个和Matla ...

  2. 在手机上编程:自制的小飞可编程复数计算器(小飞计算器)

    版权所有.所有权利保留. 欢迎转载,转载时请注明出处: http://blog.csdn.net/xiaofei_it/article/details/18675175 小飞计算器是我在2011年9月 ...

  3. pythongui做计算器_Python——GUI编程 利息计算器 作业9(python programming)

    importsysfrom PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * classcal ...

  4. c语言可循环计算器代码,可编程简易计算器(代码)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 while(sign[0]!='a'){ //if(input[index]){ for(int i=0;i<4;i++) { if(firstti ...

  5. c语言编程简易计算器代码,可编程简易计算器(代码)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 while(sign[0]!='a'){ //if(input[index]){ for(int i=0;i<4;i++) { if(firstti ...

  6. android商务办公型计算器开发与设计,可编程科学计算器v1.6.7.56 安卓版_Scientific Calculator Plus-腾牛安卓网...

    可编程科学计算器 Scientific Calculator Plus 是一款台湾同胞开发的高级计算器软件,原名程式开发科学计算器.普通的函数计算什么的自然不再话下,他还支持复数计算.阵列.不定积分三 ...

  7. JavaScript函数式编程入门-计算器应用

    目录 预备知识 函数式编程 模块化 计算器示例 功能分析 创建index.html 计算过程显示栏实现 创建计算过程显示栏 输出栏组件实现 创建输出栏组件 键盘组件实现 创建键盘组件 完成计算器 函数 ...

  8. 【C++ 程序】 TVJ Complex Calculator (v 2.2) 复数计算器

    Contents 简介 应用程序下载 Help What is new in v 2.2 Simple test 输入要求 程序 Main.cpp Complex.h & Complex.cp ...

  9. 全球及中国可编程图形计算器行业研究及十四五规划分析报告

    [报告篇幅]:146 [报告图表数]:195 [报告出版时间]:2021年1月 报告摘要 2019年,全球可编程图形计算器市场规模达到了xx亿元,预计2026年将达到xx亿元,年复合增长率(CAGR) ...

最新文章

  1. BZOJ.3527.[ZJOI2014]力(FFT)
  2. Hashtable的使用
  3. c语言编程能控制热风炉,利用C语言设计热风炉悬链线拱顶研究.pdf
  4. Servlet获得Http请求,GET/POST
  5. Python:Selenium错误小结
  6. 微软发布ML.NET 1.0,可一键添加机器学习模型
  7. Android学习笔记44:JSON数据解析
  8. 56 - II. 数组中数字出现的次数 II
  9. Python调用百度接口(情感倾向分析)和讯飞接口(语音识别、关键词提取)处理音频文件...
  10. 如果你人生的第一目标是赚钱
  11. ssm框架逻辑删除mysql_ssm框架小总结——批量删除
  12. scheme语言编写执行
  13. 胃不好吃什么养胃 三九胃泰提示常吃芝麻更护胃
  14. 用python计算绩点的代码_重庆大学GPA计算python程序
  15. 中心商务区建智慧城市 将现 “芝加哥夜景”
  16. PS 中图层为索引,修改成背景可编辑
  17. 汉斯123法则在沪深300指数期货回测
  18. 分析|什么是物联网卡
  19. [转载]推荐:互联网思维必读十本书
  20. “10•24”专供:Spark全套知识体系,免费领!

热门文章

  1. lnmp 一键安装包
  2. 第八届中国高等院校设计作品大赛启动
  3. 数据分析案例(口罩亏损)--数据处理
  4. IIC、SPI和UART区别
  5. 码农的自我修养 - 指令集架构种类
  6. C++:单词数量、长度统计
  7. OSChina 周六乱弹 —— 这么漂亮的屎一定要拉到自己家里
  8. 我与我的专业计算机作文500字,电脑走进我的生活作文500字
  9. VCam 虚拟摄像头 V3.1.0 下载 - 天空软件站 - 聊天工具 - 联络聊天
  10. 一篇文章入门Mysql