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

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

Info

Publication number
CN101281514A
CN101281514A CNA2008100665512A CN200810066551A CN101281514A CN 101281514 A CN101281514 A CN 101281514A CN A2008100665512 A CNA2008100665512 A CN A2008100665512A CN 200810066551 A CN200810066551 A CN 200810066551A CN 101281514 A CN101281514 A CN 101281514A
Authority
CN
China
Prior art keywords
function
module
information
user
class
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2008100665512A
Other languages
English (en)
Other versions
CN101281514B (zh
Inventor
王晓童
符红光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Yirun Noah Technology Co., Ltd.
Original Assignee
BRIGHT SOUND ELECTRIC TECHNOLOGY (SHENZHEN) Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BRIGHT SOUND ELECTRIC TECHNOLOGY (SHENZHEN) Co Ltd filed Critical BRIGHT SOUND ELECTRIC TECHNOLOGY (SHENZHEN) Co Ltd
Priority to CN2008100665512A priority Critical patent/CN101281514B/zh
Publication of CN101281514A publication Critical patent/CN101281514A/zh
Application granted granted Critical
Publication of CN101281514B publication Critical patent/CN101281514B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供一种便携式函数运算装置及其函数处理和计算的方法,不仅能够处理系统函数,还能够处理用户编辑函数。该装置包括微处理器、显示屏、键盘、存储器、下载端口,以及电源模块;所述微处理器包括:输入模块、函数编程模块、函数库、函数解析及计算模块、结果寄存器、函数名称库、以及输出接口。与现有技术相比本发明的优点在于,本发明具有适合进行有效率的函数编程和计算的结构,能满足个人用户对函数编程和计算较高的需求,能够用中文的形式显示函数表达式等信息,并且本发明具有与外部进行数据交换的能力,便于进行功能上的扩展,也能够高效运算精确浮点数以及精确大整数。

Description

便携式函数运算装置及其函数处理和计算的方法
技术领域
本发明涉及一种函数运算装置及其处理和计算的方法,尤其涉及一种便携式函数运算装置及其函数处理和计算的方法。
背景技术
目前绝大多数的代数计算系统都是应用到个人计算机甚至大型机上,主要针对数学研究而开发,其应用范围窄、不利于携带。由于教学等领域对较复杂的函数计算的需求不断增长,在国外出现了应用到个人手持式设备上的代数计算系统。但是这些系统不仅受制于硬件条件,只是在较低级的系统上增加了一些简单的函数计算或者编程功能,如整数和浮点数长度支持有限,计算函数不完整,按键输入复杂,界面不够友好,功能不够完整。同时,这些产品也是用英文的数学专业用语显示相关的函数信息,对中国学生而言,不易理解,教学的难度较大。
国外现有的这些便携式的设备普遍存在如下缺点:1、所采用的结构不适合进行函数编程或者计算,并且缺乏与外界进行数据交换的接口,可扩展性不强,而且价格昂贵。2、以Ti图形计算器voyage 200为例,它采用的是单色显示器,显示效果不佳,而且使用的是纯英文界面,不够友好,英文的函数名称不直观,不便于中国学生使用;3、在进行各项运算时,操作步骤非常复杂,同时它的帮助信息很缺乏,用户在开始使用时很难快速上手;4、不能够通过计算机为媒介自由的进行数据交互,如果要进行像编写程序这样输入量较大的工作时则会使用户浪费大量的时间在输入操作上。5、缺乏高效运算精确大整数和精确浮点数的能力,进一步限制了其在函数计算上的应用。
发明内容
本发明要解决的第一个技术问题是提供一种便于个人携带的函数编程和计算装置,使其具有适合进行有效率的函数编程和计算的结构;要解决的第二个技术问题是使得该装置具有与外部进行数据交换的能力,便于进行功能上的扩展;要解决的第三个技术问题是使得该装置能够用中文的形式显示函数表达式等信息;要解决的第四个技术问题使得该装置具有高效运算精确大整数和精确浮点数的能力。
为了解决上述技术问题,本发明提供一种便携式函数运算装置,包括:微处理器、由所述微处理器控制的并交换数据的显示屏、键盘、存储器,以及电源模块;
所述微处理器包括:输入模块、函数编程模块、函数库、函数解析及计算模块、结果寄存器、函数名称库、以及输出接口;
所述输入模块用于接收所述键盘输入的调用系统函数或者编辑函数的命令;所述函数库为一存储单元,存储有系统函数的信息以及所述函数编程模块输入的用户编辑函数的信息;所述函数编程模块根据所述输入模块的命令调用所述函数库的信息组成用户编辑函数的信息,并输出到所述函数解析及计算模块进行解析处理并计算;所述函数名称库为一存储单元,用于在所述输入模块的命令下调用所存储有所述函数库存储的系统函数的名称所对应的字符串;所述结果寄存器用于接收所述函数解析及计算模块和所述函数名称库输出的数据,并传送到所述输出接口以驱动所述显示屏显示。
采用上述技术方案,本发明能够进行有效率的函数编程和计算。
作为上述技术方案更具体的实施方式,所述函数名称库所存储的系统函数的名称所对应的字符串包括:中文字符串以及英文字符串;所述函数名称库在所述输入模块的命令下选择调用相应的中文字符串或者英文字符串。这样可以在用户的选择下,采用中文或者英文的形式切换显示函数表达式或者其他信息。
所述系统函数的信息包括:函数名称信息,以及参数信息。
所述系统函数包括以下类型:计算类函数、化简类函数、整数类函数、多项式类函数、函数方程式类函数、矩阵向量类函数、三角函数类函数、微积分类函数、常量类函数或者统计类函数。以上类型几乎包括了所有的函数类型,用户既可以直接调用所述系统函数来计算具体的函数值,又可以通过任意的编辑用户编辑函数来调用系统函数得到具体的函数值。
作为本发明一个更具体的实施方式,所述函数编程模块采用Linux平台的编译器,使用类C语言的语法环境。这样便于用户进行使用。熟悉C语言的用户可以很容易掌握函数编程的语法规则使用习惯,但和C语言编程有一些明显的区别。下面列出本技术编程中的重要特点和C语言的重点不同。
1)本技术编程中的变量不需要进行类型声明,系统可以通过用户的变量操作自动把变量实例化成相应All类中的类型,ALL类型可以是整型、浮点型、长整型、高精度浮点型、复数型、分数型、多项式型、向量型、符号型和字符串类型;而C语言在使用变量前必须进行严格的声明且不支持如symb,zint,real等类型。
2)本技术编程中的函数定义统一为:
函数名(参数列表):={
……
函数体
……
};
的形式,如:
Myfunc(arg1,arg2):={
……
……
};
上述函数中的函数体,即为函数表达式。
定义了一个名为Myfunc的函数,这个函数有arg1,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实例转化为字符串结果,再将此字符串结果通过如gen2ma thml函数转化为MathML数学标记语言,最后通过MathML公式转换器将MathML标记语言转化为公式图片并显示。这样显示的速度更快,界面更加美观。
所述的便携式函数运算装置还进一步包括:与所述微处理器和所述存储器双向连接,用于交换数据的下载端口。该装置具有与外部进行数据交换的能力,便于进行功能上的扩展。
所述函数解析及计算模块包含有高精度大整数处理模块,该高精度大整数处理模块支持高精度大整数的开源软件包。该装置具有高效运算精确大整数的能力,并能计算万位的高精度大整数。
所述函数解析及计算模块包含有高精度浮点数处理模块,该高精度浮点数处理模块支持高精度浮点数的开源软件包。该装置具有高效运算精确浮点数的能力,并能计算万位的高精度浮点数。
本发明还提供一种在便携式函数运算装置进行函数处理和计算的方法,便携式函数运算装置包括微处理器、由所述微处理器控制的并交换数据的显示屏、键盘、存储器,以及电源模块;
所述微处理器包括:输入模块、函数编程模块、函数库、函数解析及计算模块、结果寄存器、函数名称库、以及输出接口;
所述输入模块用于接收所述键盘输入的调用系统函数或者编辑函数的命令;所述函数库为一存储单元,存储有系统函数的信息以及所述函数编程模块输入的用户编辑函数的信息;所述函数编程模块根据所述输入模块的命令调用所述函数库的信息组成用户编辑函数的信息,并输出到所述函数解析及计算模块进行解析处理并计算;所述函数名称库为一存储单元,用于在所述输入模块的命令下调用所存储有所述函数库存储的系统函数的名称所对应的字符串;所述结果寄存器用于接收所述函数解析及计算模块和所述函数名称库输出的数据,并传送到所述输出接口以驱动所述显示屏显示。
所述系统函数的信息包括:函数名称信息,以及参数信息。
所述系统函数包括以下类型:计算类函数、化简类函数、整数类函数、多项式类函数、函数方程式类函数、矩阵向量类函数、三角函数类函数、微积分类函数、常量类函数或者统计类函数。用户既可以直接调用所述系统函数来计算具体的函数值,又可以通过编辑任意的用户编辑函数来调用系统函数得到具体的函数值。
所述函数编程模块采用Linux平台的编译器,使用类C语言的语法环境。
所述用户编辑函数的信息包括:用户赋予的函数名称、参数列表,以及由用户编辑的函数表达式。
所述由用户编辑的函数表达式支持顺序结构、if分支结构、if-else分支结构、switch-case分支结构、for循环结构,以及while循环结构。
所述函数解析及计算模块输出的计算结果为MATHML格式。
所述的函数解析及计算模块输出ALL类型的计算结果,通过后台计算平台的print函数将ALL实例转化为字符串结果,再将此字符串结果通过如gen2ma thml函数转化为MathML数学标记语言,最后通过MathML公式转换器将MathML标记语言转化为公式图片并显示。后台计算平台算法识别的All实例中,后台计算平台提供了一套可以把All实例转化为字符串结果的函数,如:结果是一个多项式All类型,里面是“x的3次方加上y的平方减去z”,通过字符串打印就可以得到通用的“x^3+y^2-z”这样的结果,但这样的结果不够直观,所以系统提供另外一套把结果的All实例通过算法转化成W3C定义的数学标记语言MathML(Mathematical Markup Language)语句的算法,再使用通用的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包括:输入模块10、函数编程模块11、函数库12、函数解析及计算模块13、结果寄存器14、函数名称库16、以及输出接口15。
所述键盘103可以采用点触式输入的方式输入或者采用键盘。
所述代数计算系统包括CAS系统函数计算功能和函数编程功能,所述代数计算系统具有代数计算的能力。该代数计算能力包括CAS系统函数模块执行函数计算器计算系统函数的功能和函数编程模块编辑用户函数进行函数计算的功能。
所述的CAS系统函数计算功能直接调用所述系统函数来计算具体的函数值,所述函数编程功能通过编辑用户编辑函数来调用系统函数得到具体的函数值。即所述的CAS系统函数计算功能和函数编程功能通过同一个后台的函数解析及计算模块进行系统函数的计算。
所述的CAS为Computer Algebra System的英文简写,意即计算机代数系统。
所述输入模块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的区别在于分别隔离存储不同的数据,以便执行不同的处理进行调用。
用户可输入的各类函数表达式的构成基础为以下系统函数:计算类函数、化简类函数、整数类函数、多项式类函数、函数方程式类函数、矩阵向量类函数、三角函数类函数、微积分类函数、常量类函数或者统计类函数。如下表所示,包含了常用的数学函数,并将其根据不同归属划分为10个大的类别,用户使用时可以很方便的找到想要的函数类别,然后直接选取函数名称输入到输入框中,这种方式可以使用户在使用过程中能够尽快的上手。另外,本发明的装置还可以存储详细的随机帮助信息,对每个函数都进行语法格式、用途和范例三个部分的说明。
Figure A20081006655100111
Figure A20081006655100121
Figure A20081006655100131
Figure A20081006655100141
Figure A20081006655100151
Figure A20081006655100161
Figure A20081006655100171
Figure A20081006655100181
Figure A20081006655100191
所述系统函数的信息包括:函数名称信息,以及参数信息。所述函数编程模块11采用Linux平台的编译器,使用类C语言的语法环境。
所述用户编辑函数的信息包括:用户赋予的函数名称、参数列表,以及由用户编辑的函数表达式。
所述由用户编辑的函数表达式支持顺序结构、if分支结构、if-else分支结构、switch-case分支结构、for循环结构,以及while循环结构。
输入的函数格式与通常意义下的高级编程语言函数类似,为:“函数名称(参数)”。先选择输入的函数类别,再选择该类别下的函数名称,最后输入具体的参数。如因式分解函数factor的参数必须是符号多项式;因数分解函数ifactor的参数必须是正的整数或正的长整数;极限计算函数limit的参数必须是三个,第一个是待求极限的表达式,第二个是趋近于极限的变量名,第三个是趋近的极限值。
例如:对表达式(x3-1)进行因式分解,先选择函数类型为“多项式”,再选择多项式下的“因式分解”函数名(即factor),则后台计算平台可接受的输入形式为:factor(x^3-1),其中factor是函数名,表示这个函数进行的是因式分解行为;后面跟一对小括号,括号里面放入需要进行因式分解的表达式;参数是x^3-1,表示x3-1,这里用^符号来表示未知数的次幂。
如图8所示为函数解析及计算模块对函数进行解析处理并计算的流程。对于用户输入的函数表达式,包括用户编辑函数或者系统函数,系统使用了一个类C语言编译器的处理器来进行处理,对于正确的输入,解析为系统能够识别的内部符号并进行计算,对于不正确的输入会显示相应的错误信息。
当用户输入表达式factor(x^3-1),则最终输出计算结果(x-1)(x2+x+1),而输入错误为factor(x^3-),则系统会返回错误信息:未定义符号undefine。
表达式语法分析过程:建立一棵中缀二叉树对表达式进行语法检错,包括:括号配对,算符顺序及算符参数,数值、符号识别。表达式解析:通过内建的通用C语言编译器YACC(Yet Another Compiler Compiler)对语法无错的表达式语句进行分析,对于变量初始化为相应类型的All实例,对于函数则进入相应的函数入口。计算过程为针对不同的函数有不同的算法流程,其中涉及到复杂而困难的数学原理和过程。结果公式转化的过程为:计算的结果未经任何转化的时候是保存在只能后台计算平台算法识别的All实例中,后台计算平台提供了一套可以把All实例转化为字符串结果的函数,如:结果是一个多项式All类型,里面是“x的3次方加上y的平方减去z”,通过字符串打印print函数就可以得到通用的“x^3+y^2-z”这样的结果,但这样的结果不够直观,所以系统提供另外一套把结果的All实例通过算法gen2mathml函数转化成W3C定义的数学标记语言MathML(Mathematical Markup Language)语句的算法,再使用通用的MathML公式转换器把结果的All实例转化为png格式公式图片显示出来。
如图4所示,为本发明装置的软件构架图。使用友好的人机交互图形界面提供方便快捷的函数输入方式,通过调用后台计算平台的入口函数eval(string)将函数的表达式或以及相对应的字符串传递到后台计算平台,经过后台计算平台的解析及计算将公式计算结果或错误信息友好的返回给用户。而且还可以对输入的函数表达式进行存取操作。这里把整个函数计算应用分作上下两层,下层所述后台计算平台,主要负责对表达式的解析和计算工作;上层是专门与用户交互的用户界面,主要负责接收用户输入表达式、提供帮助、进行文件存取操作等功能。其中,输入函数表达式可以选择普通的英文模式,也可以选用全球第一个实现的中文模式,用中文输入函数名称,从而使不能懂得专业数学英语术语的中、小学生能够快速的上手使用。
如图5所示,为在图4所示软件构架下CAS系统函数编辑或处理函数的流程图。系统环境设置是可以影响后台计算平台计算的方式,如角度/幅度若设置成角度,则s in(1)就代表对1°的角度值求解正弦值,若设置成幅度,则表示对1幅度的角求解正弦值。
中英文函数名可以对应转换,用户界面系统支持中文函数名的输入。所述函数名称库16所存储的系统函数的名称所对应的中文和英文的字符串,通过调用相应的字符串来实现这个切换。而后台计算平台只支持英文字母的字符串形式,所以在把字符串表达式传递到后台计算平台的eval(string)函数之前需要把中文函数名通过函数名对照表替换成相应的英文函数名。
后台计算平台的入口函数eval(string)接受从用户界面传递的字符串参数并进行内部解析和计算,并把计算的结果通过MathML语言转化为相应的数学公式图片放在用户界面的输出区进行显示。保存现有工作区到文件、读取已保存文件:是对当前的工作记录的文件操作,可以把已经计算的表达式或函数保存为相应的操作系统文件,也可以把已经保存的文件再从文件系统读取出来再次查看和计算。清空工作区:若现有的表达式输入输出不再需要,可以清空工作区以备后续使用。
本发明实施例的函数编程模块的编辑所述用户编辑函数有一套特定的规范。函数编程通过Linux平台的编译器YACC(Yet Another Compiler Compiler)使用一套类C语言的语法环境,所以熟悉C语言的用户可以很容易掌握函数编程的语法规则和使用习惯,但和C语言编程有一些明显的区别。下面列出本技术编程中的重要特点和C语言的不同。
本技术编程中的变量不需要进行类型声明,系统可以通过用户的变量操作自动把变量实例化成相应All类中的类型,这些类型可以是前文介绍All类型中的所有类型;而C语言在使用变量前必须进行严格的声明且不支持如symb,zint,real等类型。
本技术编程中的函数定义统一为:
函数名(参数列表):={
……
函数表达式
……
};
的形式,如:
Myfunc(arg1,arg2):={
……
……
};
如果定义了一个名为Myfunc的函数,这个函数有arg1,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系统的函数计算模块输入界面的函数下拉列表中显示函数中文名称,具体实现方案为针对三种显示格式:英/英、中/英或者中/中,它们分别指定了在函数演算输入界面函数下拉列表中的显示格式为中文或英文,也指定了表达式命令在输入框中的显示格式为中文或英文。当输入的函数名为中文形式时,系统对该字符串表达式进行正则表达式匹配替换,将其中的中文函数名转换为英文函数名形式,再调用系统函数库进行计算。

Claims (16)

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所述的便携式函数运算装置,其特征在于,所述函数解析及计算模块(13)输出的计算结果为MATHML格式。
4、根据权利要求3所述的便携式函数运算装置,其特征在于,所述函数解析及计算模块(13)包含有高精度浮点数处理模块,该高精度浮点数处理模块支持高精度浮点数的开源软件包。
5、根据权利要求3所述的便携式函数运算装置,其特征在于,还包括:分别与所述微处理器(101)双向连接的下载端口(104)和VGA输入输出模块(108)。
6、根据权利要求3所述的便携式函数运算装置,其特征在于,还包括与所述存储器(105)双向连接的语音处理单元(106)。
7、一种在便携式函数运算装置进行函数处理和计算的方法,所述便携式函数运算装置包括微处理器(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)显示。
8、根据权利要求7所述的方法,其特征在于,所述系统函数的信息包括:函数名称信息,以及参数信息。
9、根据权利要求7或者8所述的方法,其特征在于,所述系统函数包括以下类型:计算类函数、化简类函数、整数类函数、多项式类函数、函数方程式类函数、矩阵向量类函数、三角函数类函数、微积分类函数、常量类函数或者统计类函数。
10、根据权利要求9所述的方法,其特征在于,所述函数编程模块(11)采用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)交换数据。
CN2008100665512A 2008-04-03 2008-04-03 便携式函数运算装置及其函数处理和计算的方法 Expired - Fee Related CN101281514B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008100665512A CN101281514B (zh) 2008-04-03 2008-04-03 便携式函数运算装置及其函数处理和计算的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100665512A CN101281514B (zh) 2008-04-03 2008-04-03 便携式函数运算装置及其函数处理和计算的方法

Publications (2)

Publication Number Publication Date
CN101281514A true CN101281514A (zh) 2008-10-08
CN101281514B CN101281514B (zh) 2010-09-08

Family

ID=40013994

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100665512A Expired - Fee Related CN101281514B (zh) 2008-04-03 2008-04-03 便携式函数运算装置及其函数处理和计算的方法

Country Status (1)

Country Link
CN (1) CN101281514B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105243049A (zh) * 2015-10-15 2016-01-13 武汉筑信科技有限公司 基于堆栈的可执行文件对数学函数式读入解析计算方法
CN109829130A (zh) * 2019-01-29 2019-05-31 武汉轻工大学 二重积分计算方法、装置、终端设备及可读存储介质
CN110069743A (zh) * 2019-04-29 2019-07-30 武汉轻工大学 多模式微积分计算方法、装置、设备及存储介质
CN110083794A (zh) * 2019-04-29 2019-08-02 武汉轻工大学 三重积分信息的模式变换方法、设备、存储介质及装置
CN110096675A (zh) * 2019-04-29 2019-08-06 武汉轻工大学 二重积分求解方法、装置、设备及存储介质
CN113051210A (zh) * 2019-12-27 2021-06-29 张家界航空工业职业技术学院 一种财会用专用计算器
CN113535139A (zh) * 2020-04-15 2021-10-22 北京配天技术有限公司 功能函数实现的方法、解释器及计算机可读存储介质
CN115794043A (zh) * 2023-01-31 2023-03-14 帆软软件有限公司帆软南京分公司 Bi工具的表数据聚合处理的计算系统及计算方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105243049A (zh) * 2015-10-15 2016-01-13 武汉筑信科技有限公司 基于堆栈的可执行文件对数学函数式读入解析计算方法
CN109829130A (zh) * 2019-01-29 2019-05-31 武汉轻工大学 二重积分计算方法、装置、终端设备及可读存储介质
CN110069743A (zh) * 2019-04-29 2019-07-30 武汉轻工大学 多模式微积分计算方法、装置、设备及存储介质
CN110083794A (zh) * 2019-04-29 2019-08-02 武汉轻工大学 三重积分信息的模式变换方法、设备、存储介质及装置
CN110096675A (zh) * 2019-04-29 2019-08-06 武汉轻工大学 二重积分求解方法、装置、设备及存储介质
CN110069743B (zh) * 2019-04-29 2023-02-24 武汉轻工大学 多模式微积分计算方法、装置、设备及存储介质
CN110096675B (zh) * 2019-04-29 2023-05-12 武汉轻工大学 二重积分求解方法、装置、设备及存储介质
CN113051210A (zh) * 2019-12-27 2021-06-29 张家界航空工业职业技术学院 一种财会用专用计算器
CN113535139A (zh) * 2020-04-15 2021-10-22 北京配天技术有限公司 功能函数实现的方法、解释器及计算机可读存储介质
CN115794043A (zh) * 2023-01-31 2023-03-14 帆软软件有限公司帆软南京分公司 Bi工具的表数据聚合处理的计算系统及计算方法

Also Published As

Publication number Publication date
CN101281514B (zh) 2010-09-08

Similar Documents

Publication Publication Date Title
CN101281514B (zh) 便携式函数运算装置及其函数处理和计算的方法
Wilson Software carpentry: getting scientists to write better code by making them more productive
US7499848B2 (en) Scripting support for an emulator
Irvine et al. Assembly language for x86 processors
Trachsler WebTigerJython-a browser-based programming IDE for education
Baesens et al. Beginning Java programming: the object-oriented approach
Chen et al. Lingua manga: A generic large language model centric system for data curation
Finch Sage beginner's guide
Manso et al. Algorithmi IDE-Integrated learning environment for the teaching and learning of algorithmics
Xu et al. Chirp on crickets: teaching compilers using an embedded robot controller
Lambert Fundamentals of Python: data structures
Moran et al. Physical Bits: A Live Programming Environment for Educational Robotics
Nisan et al. The Elements of Computing Systems
Kloboves et al. FPGA-based SIC/XE processor and supporting toolchain
Kimuro et al. Numeric key programming: Programmable robot kit for both visually impaired and sighted elementary school students
Hazlett A MIPS datapath simulator for enhancing visual learning of computer architecture
Ismail et al. Eat, sleep, code, repeat: tips for early-career researchers in computational science
Hilton et al. All of programming
Gilder et al. A versatile tool for student projects: an ASM programming language for the Lego mindstorm
Windus et al. Scientific software developer productivity challenges from the molecular sciences
Cahill et al. Learning to Program the Object-oriented Way with C
Fagin et al. IASSim: a programmable emulator for the Princeton IAS/Von Neumann machine
Fest Adding intelligent assessment: a Java framework for integrating dynamic mathematical software components into interactive learning activities
Nielsen A concise and practical introduction to programming algorithms in Java
Deitel et al. C++ 20 for Programmers: An Objects-Natural Approach

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: NEW NOAH TECHNOLOGY (SHENZHEN) CO., LTD.

Free format text: FORMER OWNER: BRIGHT SOUND ELECTRIC TECHNOLOGY (SHENZHEN) CO., LTD.

Effective date: 20110516

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 518040 ROOM 601, EAST OF 6/F, BUILDING 303, CHEGONGMIAO INDUSTRIAL ZONE, FUTIAN DISTRICT, SHENZHEN CITY, GUANGDONG PROVINCE TO: 518048 EAST OF 6/F, BUILDING 303, CHEGONGMIAO INDUSTRIAL ZONE, FUTIAN DISTRICT, SHENZHEN CITY, GUANGDONG PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20110516

Address after: 6, building 303, 518048 floor, Che Kung Temple Industrial Zone, Shenzhen, Guangdong, Futian District

Patentee after: New Noah Technology(Shenzhen) Co., Ltd.

Address before: 518040, room 6, building 303, building 601, Che Kung Temple Industrial Zone, Futian District, Guangdong, Shenzhen

Patentee before: Bright Sound Electric Technology (Shenzhen) Co., Ltd.

ASS Succession or assignment of patent right

Owner name: SHENZHEN YIRUN NOAH TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: XINNUOYAZHOU SCIENCE AND TECHNOLOGY (SHENZHEN) CO. LTD.

Effective date: 20130522

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20130522

Address after: After building 518048 Guangdong city of Shenzhen province Futian District Tian Industrial Zone of Che Kung Temple F3 8B-8B4

Patentee after: Shenzhen Yirun Noah Technology Co., Ltd.

Address before: 6, building 303, 518048 floor, Che Kung Temple Industrial Zone, Shenzhen, Guangdong, Futian District

Patentee before: New Noah Technology(Shenzhen) Co., Ltd.

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100908

Termination date: 20140403