便携式函数运算装置及其函数处理和计算的方法

文档序号:6460835阅读:216来源:国知局

专利名称::便携式函数运算装置及其函数处理和计算的方法
技术领域
:本发明涉及一种函数运算装置及其处理和计算的方法,尤其涉及一种便携式函数运算装置及其函数处理和计算的方法。
背景技术
:目前绝大多数的代数计算系统都是应用到个人计算机甚至大型机上,主要针对数学研究而开发,其应用范围窄、不利于携带。由于教学等领域对较复杂的函数计算的需求不断增长,在国外出现了应用到个人手持式设备上的代数计算系统。但是这些系统不仅受制于硬件条件,只是在较低级的系统上增加了一些简单的函数计算或者编程功能,如整数和浮点数长度支持有限,计算函数不完整,按键输入复杂,界面不够友好,功能不够完整。同时,这些产品也是用英文的数学专业用语显示相关的函数信息,对中国学生而言,不易理解,教学的难度较大。国外现有的这些便携式的设备普遍存在如下缺点1、所采用的结构不适合进行函数编程或者计算,并且缺乏与外界进行数据交换的接口,可扩展性不强,而且价格昂贵。2、以Ti图形计算器voyage200为例,它采用的是单色显示器,显示效果不佳,而且使用的是纯英文界面,不够友好,英文的函数名称不直观,不便于中国学生使用;3、在进行各项运算时,操作步骤非常复杂,同时它的帮助信息很缺乏,用户在开始使用时很难快速上手;4、不能够通过计算机为媒介自由的进行数据交互,如果要进行像编写程序这样输入量较大的工作时则会使用户浪费大量的时间在输入操作上。5、缺乏高效运算精确大整数和精确浮点数的能力,进一步限制了其在函数计算上的应用。
发明内容本发明要解决的第一个技术问题是提供一种便于个人携带的函数编程和计算装置,使其具有适合进行有效率的函数编程和计算的结构;要解决的第二个技术问题是使得该装置具有与外部进行数据交换的能力,便于进行功能上的扩展;要解决的第三个技术问题是使得该装置能够用中文的形式显示函数表达式等信息;要解决的第四个技术问题使得该装置具有高效运算精确大整数和精确浮点数的能力。为了解决上述技术问题,本发明提供一种便携式函数运算装置,包括微处理器、由所述微处理器控制的并交换数据的显示屏、键盘、存储器,以及电源模块;所述微处理器包括输入模块、函数编程模块、函数库、函数解析及计算模块、结果寄存器、函数名称库、以及输出接口;所述输入模块用于接收所述键盘输入的调用系统函数或者编辑函数的命令;所述函数库为一存储单元,存储有系统函数的信息以及所述函数编程模块输入的用户编辑函数的信息;所述函数编程模块根据所述输入模块的命令调用所述函数库的信息组成用户编辑函数的信息,并输出到所述函数解析及计算模块进行解析处理并计算;所述函数名称库为一存储单元,用于在所述输入模块的命令下调用所存储有所述函数库存储的系统函数的名称所对应的字符串;所述结果寄存器用于接收所述函数解析及计算模块和所述函数名称库输出的数据,并传送到所述输出接口以驱动所述显示屏显示。釆用上述技术方案,本发明能够进行有效率的函数编程和计算。作为上述技术方案更具体的实施方式,所述函数名称库所存储的系统函数的名称所对应的字符串包括中文字符串以及英文字符串;所述函数名称库在所述输入模块的命令下选择调用相应的中文字符串或者英文字符串。这样可以在用户的选择下,采用中文或者英文的形式切换显示函数表达式或者其他信息。所述系统函数的信息包括函数名称信息,以及参数信息。所述系统函数包括以下类型计算类函数、化简类函数、整数类函数、多项式类函数、函数方程式类函数、矩阵向量类函数、三角函数类函数、微积分类函数、常量类函数或者统计类函数。以上类型几乎包括了所有的函数类型,用户既可以直接调用所述系统函数来计算具体的函数值,又可以通过任意的编辑用户编辑函数来调用系统函数得到具体的函数值。作为本发明一个更具体的实施方式,所述函数编程模块采用Linux平台的编译器,使用类C语言的语法环境。这样便于用户进行使用。熟悉C语言的用户可以很容易掌握函数编程的语法规则使用习惯,但和C语言编程有一些明显的区别。下面列出本技术编程中的重要特点和C语言的重点不同。1)本技术编程中的变量不需要进行类型声明,系统可以通过用户的变量操作自动把变量实例化成相应A11类中的类型,ALL类型可以是整型、浮点型、长整型、高精度浮点型、复数型、分数型、多项式型、向量型、符号型和字符串类型;而C语言在使用变量前必须进行严格的声明且不支持如symb,zint,real等类型。2)本技术编程中的函数定义统一为函数名(参数列表)={函数体的形式,如Myfunc(argl,arg2):={上述函数中的函数体,即为函数表达式。定义了一个名为Myfunc的函数,这个函数有argl,arg2两个参数,被定义的函数如果没有错误会被添加到系统函数列表中,以便后续调用;而C语言中函数定义并没有"="符号,最后的"}"后面也没有";",没有及时编译及时调用的功能。3)本技术编程中函数一定有返回值,返回语句为return,若没有return语句则默认返回最后一条语句的值;而C语言函数可以是void无返回值类型,或者需要严格指定返回值类型且必须使用return语句返回。4)本技术编程中未使用指针,而C语言中广泛使用指针。5)本技术编程中赋值号使用":=",而C语言中使用"="。6)本技术编程只需要编译程序,不链接实际生成可执行程序,是类似Basic语言一样的在编程环境中解释执行,而C语言需要编译、链接生成系统级可执行程序。7)本技术编程中符号i、e、pi已经作为系统的虛数单位、自然常数、圆周率使用,故不能作为变量使用;而C语言中没有这样的常数单位,无此限制。8)本技术编程中提供多个可用系统函数,如factor、evalf、sin、gbasis等,在函数编程中可以直接调用这些函数;而C语言只能通过调用其他库函数(MATH库函数)来调用这些系统的函数,如通过MATH库函数来调用sin函数等。所述用户编辑函数的信息包括用户赋予的函数名称、参数列表,以及由用户编辑的函数表达式。所述用户编辑函数也可以称为扩展函数。所述由用户编辑的函数表达式文持顺序结构、if分支结构、if-else分支结构、switch-case分支结构、for循环结构,以及while循环结构。所述函数解析及计算模块输出计算结果为MATHML格式的过程如下所述的函数解析及计算模块输出ALL类型的计算结果,通过print函数将ALL实例转化为字符串结果,再将此字符串结果通过如gen2mathml函数转化为MathML数学标记语言,最后通过MathML公式转换器将MathML标记语言转化为公式图片并显示。这样显示的速度更快,界面更加美观。所述的便携式函数运算装置还进一步包括与所述微处理器和所述存储器双向连接,用于交换数据的下载端口。该装置具有与外部进行数据交换的能力,便于进行功能上的扩展。所述函数解析及计算模块包含有高精度大整数处理模块,该高精度大整数处理模块支持高精度大整数的开源软件包。该装置具有高效运算精确大整数的能力,并能计算万位的高精度大整数。所述函数解析及计算模块包含有高精度浮点数处理模块,该高精度浮点数处理模块支持高精度浮点数的开源软件包。该装置具有高效运算精确浮点数的能力,并能计算万位的高精度浮点数。本发明还提供一种在便携式函数运算装置进行函数处理和计算的方法,便携式函数运算装置包括微处理器、由所述微处理器控制的并交换数据的显示屏、键盘、存储器,以及电源模块;所述微处理器包括输入模块、函数编程模块、函数库、函数解析及计算模块、结果寄存器、函数名称库、以及输出接口;所述输入模块用于接收所述键盘输入的调用系统函数或者编辑函数的命令;所述函数库为一存储单元,存储有系统函数的信息以及所述函数编程模块输入的用户编辑函数的信息;所述函数编程模块根据所述输入模块的命令调用所述函数库的信息组成用户编辑函数的信息,并输出到所述函数解析及计算模块进行解析处理并计算;所述函数名称库为一存储单元,用于在所述输入模块的命令下调用所存储有所述函数库存储的系统函数的名称所对应的字符串;所述结果寄存器用于接收所述函数解析及计算模块和所述函数名称库输出的数据,并传送到所述输出接口以驱动所述显示屏显示。所述系统函数的信息包括函数名称信息,以及参数信息。所述系统函数包括以下类型计算类函数、化简类函数、整数类函数、多项式类函数、函数方程式类函数、矩阵向量类函数、三角函数类函数、微积分类函数、常量类函数或者统计类函数。用户既可以直接调用所述系统函数来计算具体的函数值,又可以通过编辑任意的用户编辑函数来调用系统函数得到具体的函数值。所述函数编程模块采用Linux平台的编译器,使用类C语言的语法环境。所述用户编辑函数的信息包括用户赋予的函数名称、参数列表,以及由用户编辑的函数表达式。所述由用户编辑的函数表达式支持顺序结构、if分支结构、if-else分支结构、switch-case分支结构、for循环结构,以及while循环结构。所述函数解析及计算模块输出的计算结果为MATHML格式。所述的函数解析及计算模块输出ALL类型的计算结果,通过后台计算平台的print函数将ALL实例转化为字符串结果,再将此字符串结果通过如gen2mathm1函数转化为MathML数学标记语言,最后通过MathML公式转换器将MathML标记语言转化为公式图片并显示。后台计算平台算法识别的All实例中,后台计算平台提供了一套可以把All实例转化为字符串结果的函数,如结果是一个多项式All类型,里面是"x的3次方加上y的平方减去z",通过字符串打印就可以得到通用的"xA3+yA2-Z"这样的结果,但这样的结果不够直观,所以系统提供另外一套把结果的All实例通过算法转化成W3C定义的数学标记语言MathML(MathematicalMarkupLanguage)语句的算法,再使用通用的MathML公式转换器把结果的All实例转化为png格式公式图片显示出来。所述函数解析及计算模块包含有高精度浮点数处理模块,该高精度浮点数处理模块支持高精度浮点数的开源软件包。所述函数解析及计算模块支持万位的精确大整数。所述便携式函数运算装置还包括分别与所述微处理器双向连接的下载端口和VGA输入输出模块;所述函数库能够通过所述下载端口交换数据。通过上述方式,本发明的系统函数可以进行扩展,既可以把所述用户编辑函数设定为系统函数,也可以通过外部信息进一步扩展系统函数。与现有技术相比,本发明的优点在于不仅能够处理系统函数,还能够处理用户编辑函数,具有进行有效率函数编程和计算的结构,能满足个人用户对函数编程和计算的需求,能够用中文的形式显示函数表达式等信息,并且本发明具有与外部进行数据交换的能力,便于进行功能上的扩展,也能够高效运算精确浮点数以及万位的精确大整数。图1为本发明的微处理器的组成结构示意图;图2为本发明便携式函数运算装置的硬件基础结构图;图3为本发明便携式函数运算装置的一个具体的硬件基础结构图;图4为本发明便携式函数运算装置的软件构架图;图5为在图4所示软件构架下CAS系统函数编辑或处理函数的流程图;图6为编辑用户编辑函数的软件流程图;图7为本发明便携式函数运算装置的CAS系统函数计算及中英文切换的流程;图8为本发明的函数解析及计算模块对函数进行解析处理并计算的流程图。具体实施方式以下结合附图对本发明的具体实施方式作出进一步的说明。如图1和图2所示,便携式函数运算装置包括微处理器101、由所述微处理器101控制的并交换数据的显示屏102、键盘103、存储器105,以及电源模块107。为了增强视频输入输出的扩展性,还具有所述微处理器101连接的VGA输入输出模块108,以及用于与外部交换数据的下载端口104,以及用于处理声音信号的语音处理单元106。所述微处理器101包括输入模块IO、函数编程模块ll、函数库12、函数解析及计算模块13、结果寄存器14、函数名称库16、以及输出接口15。所述键盘103可以釆用点触式输入的方式输入或者釆用键盘。所述代数计算系统包括CAS系统函数计算功能和函数编程功能,所述代数计算系统具有代数计算的能力。该代数计算能力包括CAS系统函数模块执行函数计算器计算系统函数的功能和函数编程模块编辑用户函数进行函数计算的功能。所述的CAS系统函数计算功能直接调用所述系统函数来计算具体的函数值,所述函数编程功能通过编辑用户编辑函数来调用系统函数得到具体的函数值。即所述的CAS系统函数计算功能和函数编程功能通过同一个后台的函数解析及计算模块进行系统函数的计算。所述的CAS为ComputerAlgebraSystem的英文简写,意即计算机代数系统。所述输入模块10用于接收所述键盘103输入的调用系统函数或者编辑函数的命令;所述函数库12为一存储单元,存储有系统函数的信息以及所述函数编程模块11输入的用户编辑函数的信息;所述函数编程模块11根据所述输入模块10的命令调用所述函数库12的信息组成用户编辑函数的信息,并输出到所述函数解析及计算模块13进行解析处理并计算;所述函数名称库16为一存储单元,用于在所述输入模块10的命令下调用所存储有所述函数库12存储的系统函数的名称所对应的字符串;所述结果寄存器14用于接收所述函数解析及计算模块13和所述函数名称库16输出的数据,并传送到所述输出接口15以驱动所述显示屏102显示。其中,所述函数解析及计算模块13包含有高精度浮点数处理模块,该高精度浮点数处理模块支持高精度浮点数的开源软件包。所述函数解析及计算模块13包含有高精度大整数处理模块,该高精度大整数处理模块支持高精度大整数的开源软件包。所述函数名称库16所存储的系统函数的名称所对应的字符串包括中文字符串以及英文字符串;所述函数名称库16在所述输入模块10的命令下选择调用相应的中文字符串或者英文字符串。由于具有所述下载端口104,本发明能够方便的进行系统函数库更新。一方面可以通过函数编程编辑"用户编辑函数"进行函数计算,另一方面可以将"用户编辑函数"注册进入"系统函数"实现系统函数库的扩展,第三开发人员可以随时修改程序,增加、修改函数功能,进行系统升级,以便满足各个行业人员的需求,第四可以通过下载端口与外部交换信息实现"用户编辑函数"在不同机器间的共享。并且所述下载端口104代数计算支持通过计算机、互联网共享数据,在进行输入量比较大的工作时这一点显得尤其重要。可以在计算机上编辑好文件再保存到学习机相应的存储目录中,然后即可以直接调用执行。为了描述方便,把便携式函数运算装置拥有计算能力的硬件部分称为后台计算平台。后台计算平台具有执行函数解析及计算的能力。如图3所示,本发明的装置还可以以此更具体的硬件结构进行搭建。包括有微处理器单元300、第一程序存储器301、逻辑处理单元302、第二程序存储器303、键盘单元304、数据存储器305、静态存储器306、通信传输单元308、语音处理单元309、液晶驱动单元310、液晶显示器311及电源单元312,其中,第二程序存储器301、逻辑处理单元302及第一程序存储器303—起构成了程序存储器。在存储器内预置并运行有特定的程序,用于连线PC机2、控制下载、及对下载的程序进行选择性的执行。所述第二程序存储器301与第一程序存储器303的区别在于分别隔离存储不同的数据,以便执行不同的处理进行调用。用户可输入的各类函数表达式的构成基础为以下系统函数计算类函数、化简类函数、整数类函数、多项式类函数、函数方程式类函数、矩阵向量类函数、三角函数类函数、微积分类函数、常量类函数或者统计类函数。如下表所示,包含了常用的数学函数,并将其根据不同归属划分为IO个大的类别,用户使用时可以很方便的找到想要的函数类别,然后直接选取函数名称输入到输入框中,这种方式可以使用户在使用过程中能够尽快的上手。另外,本发明的装置还可以存储详细的随机帮助信息,对每个函数都进行语法格式、用途和范例三个部分的说明。类函数格式函数功能别abs(CplxorLstCplx)计算参数的绝对值apply(Fnc(f),Lst(l))计算函数值计asc(Str)返回字符(串)的ASCII码算asin2acos(Expr)将函数表达式包含的arcsin(x)形式替换为及pi/2-arccos(x)综asin2atan(Expr)将函数表达式中包含的arcsin(x)形式替换为合arctan(x/sqrt(1-xA2》类at((Lst(l)orMtrx(m)),(Index①orLstlndex(j,k)))根据索引取出对应的元素值bitand(Intg,Intg)按位与bitor(Intg,Intg)按位或bixtor(Intg,Intg)按位异或ceil(RealorCpk)若参数为实数时,返回不小于参数的最小整数;若为复<table>tableseeoriginaldocumentpage12</column></row><table><table>tableseeoriginaldocumentpage13</column></row><table><table>tableseeoriginaldocumentpage14</column></row><table><table>tableseeoriginaldocumentpage15</column></row><table><table>tableseeoriginaldocumentpage16</column></row><table><table>tableseeoriginaldocumentpage17</column></row><table><table>tableseeoriginaldocumentpage18</column></row><table>tmn(Mtrx)返冋参数矩阵的转置二acos(Exp"反余弦角acot(Expr)反余切函acsc(Expr)反余割数asec(Expr)反正割类asin(Expr)反正弦atan(Expr)反正切cos(Expr)余弦cot(Expr)余切csc(Expr)余割sec(Expr)正割sin(Expr)正弦tati(Expr)正切comb(Intg(n),Intg(p))组合数C(n,p)统correlation((LstorMtrx),[Lst])相关系数计covariance((LstorMtrx),[Lst])协方差类mean((LstorMtrx),[Lst])计算平均数median(Lst)返回所有参数的中位数normald(Real(mu),Real(sigma),Real(xO))返回正态分布在点xO的概率密度函数值perm(Intg(n),Intg(p;))排列数P(n,p)stddev((LstorMtrx),[Lst])标准差variance((LstorMtrx),[Lst])方差所述系统函数的信息包括函数名称信息,以及参数信息。所述函数编程模块11采用Linux平台的编译器,使用类C语言的语法环境。所述用户编辑函数的信息包括用户赋予的函数名称、参数列表,以及由用户编辑的函数表达式。所述由用户编辑的函数表达式支持顺序结抅、if分支结构、if-else分支结构、switch-case分支结构、for循环结构,以及while循环结构。输入的函数格式与通常意义下的高级编程语言函数类似,为"函数名称(参数)"。先选择输入的函数类别,再选择该类别下的函数名称,最后输入具体的参数。如因式分解函数factor的参数必须是符号多项式;因数分解函数ifactor的参数必须是正的整数或正的长整数;极限计算函数limit的参数必须是三个,第一个是待求极限的表达式,第二个是趋近于极限的变量名,第三个是趋近的极限值。例如对表达式U3-l)进行因式分解,先选择函数类型为"多项式",再选择多项式下的"因式分解"函数名(即factor),则后台计算平台可接受的输入形式为factor(xA3-l),其中factor是函数名,表示这个函数进行的是因式分解行为;后面跟一对小括号,括号里面放入需要进行因式分解的表达式;参数是,3-1,表示x3-1,这里用A符号来表示未知数的次幂。如图8所示为函数解析及计算模块对函数进行解析处理并计算的流程。对于用户输入的函数表达式,包括用户编辑函数或者系统函数,系统使用了一个类C语言编译器的处理器来进行处理,对于正确的输入,解析为系统能够识别的内部符号并进行计算,对于不正确的输入会显示相应的错误信息。当用户输入表达式factor(xA3-l),则最终输出计算结果(x-1)(x2+x+l),而输入错误为factor(xA3-),则系统会返回错误信息未定义符号undefine。表达式语法分析过程建立一棵中缀二叉树对表达式进行语法检错,包括括号配对,算符顺序及算符参数,数值、符号识别。表达式解析通过内建的通用C语言编译器YACC(YetAnotherCompilerCompiler)对语法无错的表达式语句进行分析,对于变量初始化为相应类型的All实例,对于函数则进入相应的函数入口。计算过程为针对不同的函数有不同的算法流程,其中涉及到复杂而困难的数学原理和过程。结果公式转化的过程为计算的结果未经任何转化的时候是保存在只能后台计算平台算法识别的All实例中,后台计算平台提供了一套可以把All实例转化为字符串结果的函数,如结果是一个多项式All类型,里面是"x的3次方加上y的平方减去z",通过字符串打印print函数就可以得到通用的"xA3+yA2-Z"这样的结果,但这样的结果不够直观,所以系统提供另外一套把结果的All实例通过算法gen2mathml函数转化成W3C定义的数学标记语言MathML(MathematicalMarkupLanguage)语句的算法,再使用通用的MathML公式转换器把结果的All实例转化为png格式公式图片显示出来。如图4所示,为本发明装置的软件构架图。使用友好的人机交互图形界面提供方便快捷的函数输入方式,通过调用后台计算平台的入口函数eva1(string)将函数的表达式或以及相对应的字符串传递到后台计算平台,经过后台计算平台的解析及计算将公式计算结果或错误信息友好的返回给用户。而且还可以对输入的函数表达式进行存取操作。这里把整个函数计算应用分作上下两层,下层所述后台计算平台,主要负责对表达式的解析和计算工作;上层是专门与用户交互的用户界面,主要负责接收用户输入表达式、提供帮助、进行文件存取搡作等功能。其中,输入函数表达式可以选择普通的英文模式,也可以选用全球第一个实现的中文模式,用中文输入函数名称,从而使不能懂得专业数学英语术语的中、小学生能够快速的上手使用。如图5所示,为在图4所示软件构架下CAS系统函数编辑或处理函数的流程图。系统环境设置是可以影响后台计算平台计算的方式,如角度/幅度若设置成角度,则sin(l)就代表对1。的角度值求解正弦值,若设置成幅度,则表示对l幅度的角求解正弦值。中英文函数名可以对应转换,用户界面系统支持中文函数名的输入。所述函数名称库16所存储的系统函数的名称所对应的中文和英文的字符串,通过调用相应的字符串来实现这个切换。而后台计算平台只支持英文字母的字符串形式,所以在把字符串表达式传递到后台计算平台的eval(string)函数之前需要把中文函数名通过函数名对照表替换成相应的英文函数名。后台计算平台的入口函数eval(string)接受从用户界面传递的字符串参数并进行内部解析和计算,并把计算的结果通过MathML语言转化为相应的数学公式图片放在用户界面的输出区进行显示。保存现有工作区到文件、读取已保存文件是对当前的工作记录的文件操作,可以把已经计算的表达式或函数保存为相应的操作系统文件,也可以把已经保存的文件再从文件系统读取出来再次査看和计算。清空工作区若现有的表达式输入输出不再需要,可以清空工作区以备后续使用。本发明实施例的函数编程模块的编辑所述用户编辑函数有一套特定的规范。函数编程通过Linux平台的编译器YACC(YetAnotherCompilerCompiler)使用一套类C语言的语法环境,所以熟悉C语言的用户可以很容易掌握函数编程的语法规则和使用习惯,但和C语言编程有一些明显的区别。下面列出本技术编程中的重要特点和C语言的不同。本技术编程中的变量不需要进行类型声明,系统可以通过用户的变量操作自动把变量实例化成相应All类中的类型,这些类型可以是前文介绍A11类型中的所有类型;而C语言在使用变量前必须进行严格的声明且不支持如symb,zint,real等类型。本技术编程中的函数定义统一为函数名(参数列表)={函数表达式};的形式,如Myfunc(argl,arg2):如果定义了一个名为Myfimc的函数,这个函数有argl,arg2两个参数,被定义的函数如果没有错误会被添加到系统函数列表中,以便后续调用;而C语言中函数定义并没有":="符号,最后的"}"后面也没有";",没有及时编译及时调用的功能。本技术编程中函数一定有返回值,返回语句为return,若没有return语句则默认返回最后一条语句的值;而C语言函数可以是void无返回值类型,或者需要严格指定返回值类型且必须使用return语句返回。本技术编程中未使用指针,而C语言中广泛使用指针。本技术编程中赋值号使用":=",而C语言中使用"="。本技术编程只需要编译程序,不链接实际生成可执行程序,是类似Basic语言一样的在编程环境中解释执行,而C语言需要编译、链接生成系统级可执行程序。本技术编程中符号i、e、pi已经作为系统的虛数单位、自然常数、圆周率使用,故不能作为变量使用;而C语言中没有这样的常数单位,无此限制。本技术编程中提供多个可用系统函数,如factor、evalf、sin、gbasis等,在函数编程中可以直接调用这些系统函数;而C语言只能通过调用其他库函数(MATH库函数)实现这些系统函数的计算,如通过MATH库函数调用sin系统函数等。本技术编程中提供几乎所有C语言支持的程序结构,如顺序、if分支、if-else分支、switch-case分支、for循环、while循环等结构。如图6所示,为编辑用户编辑函数的软件流程图。后台计算平台的入口函数eval(string)接受从用户界面传递的字符串参数并进行内部解析和计算,并把计算的结果在用户界面的输出区进行显示。保存现有工作区到文件、读取已保存文件是对当前的工作记录的文件操作,可以把已经计算的表达式或函数保存为相应的操作系统文件,也可以把已经保存的文件再从文件系统读取出来再次查看和计算。如图7所示,在CAS系统的函数计算模块输入界面的函数下拉列表中显示函数中文名称,具体实现方案为针对三种显示格式英/英、中/英或者中/中,它们分别指定了在函数演算输入界面函数下拉列表中的显示格式为中文或英文,也指定了表达式命令在输入框中的显示格式为中文或英文。当输入的函数名为中文形式时,系统对该字符串表达式进行正则表达式匹配替换,将其中的中文函数名转换为英文函数名形式,再调用系统函数库进行计算。权利要求1、一种便携式函数运算装置,包括微处理器(101)、由所述微处理器(101)控制的显示屏(102)、键盘(103)、存储器(105)以及电源模块(107);其特征在于,所述微处理器(101)包括输入模块(10)、函数编程模块(11)、函数库(12)、函数解析及计算模块(13)、结果寄存器(14)、函数名称库(16)、以及输出接口(15);所述输入模块(10)用于接收所述键盘(103)输入的调用系统函数或者编辑函数的命令;所述函数库(12)为一存储单元,存储有系统函数的信息以及所述函数编程模块(11)输入的用户编辑函数的信息;所述函数编程模块(11)根据所述输入模块(10)的命令调用所述函数库(12)的信息组成用户编辑函数的信息,并输出到所述函数解析及计算模块(13)进行解析处理并计算;所述函数名称库(16)为一存储单元,储存包括与所述函数库(12)的系统函数的名称所对应的字符串,供所述输入模块(10)和所述函数库(12)调用;所述结果寄存器(14)用于接收所述函数解析及计算模块(13)和所述函数名称库(16)输出的数据,并把运算结果传送到所述输出接口(15)以驱动所述显示屏(102)显示。2、根据权利要求1所述的便携式函数运算装置,其特征在于,所述函数名称库(16)所存储的系统函数的名称所对应的字符串包括中文字符串以及英文字符串;所述函数名称库(16)根据所述输入模块(10)的命令选择调用相应的中文字符串或者英文字符串。3、根据权利要求1或者2所述的便携式函数运算装置,其特征在于,所述函数解析及计算模块U3)输出的计算结果为MATHML格式。4、根据权利要求3所述的便携式函数运算装置,其特征在于,所述函数解析及计算模块(13)包含有高精度浮点数处理模块,该高精度浮点数处理模块支持高精度浮点数的开源软件包。5、根据权利要求3所述的便携式函数运算装置,其特征在于,还包括分别与所述微处理器(101)双向连接的下载端口(104)和VGA输入输出模块(108)。6、根据权利要求3所述的便携式函数运算装置,其特征在于,还包括与所述存储器(105)双向连接的语音处理单元(106)。7、一种在便携式函数运算装置进行函数处理和计算的方法,所述便携式函数运算装置包括微处理器(101)、由所述微处理器(101)控制并交换数据的显示屏(102)、键盘(103)、存储器(105),以及电源模块(107);其特征在于所述微处理器(101)包括输入模块(IO)、函数编程模块(ll)、函数库U2)、函数解析及计算模块(13)、结果寄存器U4)、函数名称库(16)、以及输出接口(15);所述输入模块UO)接收所述键盘(103)输入的调用系统函数或者编辑函数的命令;所述函数库(12)存储有系统函数的信息以及所述函数编程模块(11)输入的用户编辑函数的信息;所述函数编程模块Ul)根据所述输入模块(lO)的命令调用所述函数库(12)的信息组成用户编辑函数的信息,并输出到所述函数解析及计算模块(13)进行解析处理并计算;所述函数名称库U6)储存与所述函数库(12)的系统函数的名称所对应的字符串,供所述输入模块(10)和所述函数库(12)调用;所述结果寄存器(")接收所述函数解析及计算模块(13)和所述函数名称库(16)输出的数据,并将运算结果传送到所述输出接口(15)以驱动所述显示屏(102)显示。8、根据权利要求7所述的方法,其特征在于,所述系统函数的信息包括函数名称信息,以及参数信息。9、根据权利要求7或者8所述的方法,其特征在于,所述系统函数包括以下类型计算类函数、化简类函数、整数类函数、多项式类函数、函数方程式类函数、矩阵向量类函数、三角函数类函数、微积分类函数、常量类函数或者统计类函数。10、根据权利要求9所述的方法,其特征在于,所述函数编程模块(ll)釆用Linux平台的编译器,使用类C语言的语法环境。11、根据权利要求9所述的方法,其特征在于,所述用户编辑函数的信息包括用户赋予的函数名称、参数列表,以及由用户编辑的函数表达式。12、根据权利要求11所述的方法,其特征在于,所述由用户编辑的函数表达式支持顺序结构、if分支结构、if-else分支结构、switch-case分支结构、for循环结构,以及while循环结构。13、根据权利要求9所述方法,其特征在于,所述函数解析及计算模块(13)输出的计算结果为MATHML格式。14、根据权利要求9所述的方法,其特征在于,所述函数解析及计算模块(13)包含有高精度浮点数处理模块,该高精度浮点数处理模块支持高精度浮点数的开源软件包。15、根据权利要求14所述的方法,其特征在于,所述函数解析及计算模块(13)支持万位的精确大整数。16、根据权利要求8所述的方法,其特征在于,所述便携式函数运算装置还包括分别与所述微处理器(101)双向连接的下载端口(104)和VGA输入输出模块(108);所述函数库(12)能够通过所述下载端口(104)交换数据。全文摘要本发明提供一种便携式函数运算装置及其函数处理和计算的方法,不仅能够处理系统函数,还能够处理用户编辑函数。该装置包括微处理器、显示屏、键盘、存储器、下载端口,以及电源模块;所述微处理器包括输入模块、函数编程模块、函数库、函数解析及计算模块、结果寄存器、函数名称库、以及输出接口。与现有技术相比本发明的优点在于,本发明具有适合进行有效率的函数编程和计算的结构,能满足个人用户对函数编程和计算较高的需求,能够用中文的形式显示函数表达式等信息,并且本发明具有与外部进行数据交换的能力,便于进行功能上的扩展,也能够高效运算精确浮点数以及精确大整数。文档编号G06F17/15GK101281514SQ20081006655公开日2008年10月8日申请日期2008年4月3日优先权日2008年4月3日发明者王晓童,符红光申请人:博采林电子科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1