CN1293499C - 一种动态记录计算步骤的方法 - Google Patents

一种动态记录计算步骤的方法 Download PDF

Info

Publication number
CN1293499C
CN1293499C CNB001089846A CN00108984A CN1293499C CN 1293499 C CN1293499 C CN 1293499C CN B001089846 A CNB001089846 A CN B001089846A CN 00108984 A CN00108984 A CN 00108984A CN 1293499 C CN1293499 C CN 1293499C
Authority
CN
China
Prior art keywords
function
call
computer system
formula
content
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.)
Expired - Fee Related
Application number
CNB001089846A
Other languages
English (en)
Other versions
CN1326154A (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.)
Inventec Corp
Original Assignee
Inventec Corp
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 Inventec Corp filed Critical Inventec Corp
Priority to CNB001089846A priority Critical patent/CN1293499C/zh
Publication of CN1326154A publication Critical patent/CN1326154A/zh
Application granted granted Critical
Publication of CN1293499C publication Critical patent/CN1293499C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明是一种动态记录计算步骤的方法,在算式输入过程中通过电脑系统拦截使用者所输入的操作,加以判断后,调用显示模块中的函数并将其加入与该函数链接的链接表中,不断重复上述步骤直到该算式结束时,即能将该算式完整地显示出来,使用者只要观看以横式所显示出来的算式,即可得知该算式中的每一步的操作是否正确,且电脑系统在拦截该算式的过程中,如有不合运算规则的操作输入时,电脑系统即会进行中断输入动作,并显示错误讯息。

Description

一种动态记录计算步骤的方法
技术领域
本发明涉及提供一种动态记录计算步骤的方法。
背景技术
目前,各种电子产品(如:电子字典、电脑等等)皆具有计算应用程序(如:Windows中的小算盘),这种计算应用程序,虽具有运算的功能,然而在运算过程中,仍有下述的缺点:
1.这种电子产品中的计算应用程序,大多没有将整个算式完整显示出来的功能,如此,当算式的操作步骤非常多时,不但使用者无法记住每一步的操作,而发生错误,且没有完整的算式显示出来,使用者往往会因无法核对算式是否正确,而对计算结果产生怀疑。
2.现有的以横式显示算式的应用程序,在算式的输入过程中缺少溢出检查和运算合法性检查,亦没有就运算的优先顺序级显示的功能。
3.虽有某些电子产品的计算应用程序,可以将整个算式显示出来,但却是以竖式显示出来的,因为只能显示当前操作数与上一步的操作结果,且一般人仍习惯观看以横式表达出来的算式,所以,该竖式显示出来的算式,仍有下列之缺点:
(a)不符合一般人观看算式的习惯,
(b)无法清楚地将整个算式完整显示出来,
(c)因该算式仅是依操作的顺序进行运算,无法就运算优先次序进行计算,更何况,将算式以竖式显示,复杂的操作不易显示出来(如:括号操作),再者,因该竖式在进行运算过程中,加入许多运算后的结果,影响了使用者观察整个算式的正确与否。
发明内容
鉴于上述传统的应用软件在使用时所存在的一些缺陷,本发明提供一种动态记录计算步骤的方法,该方法利用电脑系统拦截算式的每一步的操作,并将每一步的操作以显示模块所提供的函数替代,并以横式显示出来,以便于使用者察看。
本发明的目的之一,在于提供一种动态记录计算步骤的方法,此目的如下进行解决,请参照图1、2所示,该方法主要先在电脑系统中建立显示模块,并在显示模块中设有各种不同的函数,并将这些函数与一链接表相链接,当算式在输入过程中,电脑系统拦截使用者所输入的每一步操作,并对操作内容进行判断后,再根据判断的结果,调用显示模块中不同的函数替代,加入与该函数链接的链接表中,如此,不断重复上述的步骤,即可完成该算式中所有操作的建立与修改,并能以横式,将该算式中所有的操作内容显示出来。如此,不但完全符合使用者观看算式的习惯,且使用者只要观察该横式的显示,即可得知所输入的计算步骤是否正确,而不必反复验算。
本发明的另一目的是提供一种动态记录计算步骤的方法,即在算式的输入过程中,出现溢出,如:5/0,或不合运算规则时,如:√-4,电脑系统即会进行中断输入动作,并显示错误信息告知使用者。
本发明的再一目的是提供一种动态记录计算步骤的方法,即当使用者在算式输入过程中,输入任一个双操作符时,如X^Y(乘方运算),电脑系统等待反函数操作符,输入后,再将输入其中的操作内容自动合并起来,并将对应的反函数显示出来,如:
X^Y-1(开方运算)。
X^(1/Y)
本发明的次一目的是提供一种动态记录计算步骤的方法,即当算式在运行过程中,有运算产生时,如:5/2+7-8,电脑系统会根据运算规则,如:加减乘除的优先次序(先乘除后加减),自动将括号添加在适当位置上,如:(5/2)。
本发明的又一目的是提供一种动态记录计算步骤的方法,即在算式输入的过程中,使用者连续输入双操作符时,电脑系统会自动将该次所输入的运算符号,与前次操作内容所显示的运算符号,加以比较,如不同,则将会取而代之。
附图说明
为使能对本发明作更进一步的认识与了解,现通过实施例配合附图,进一步详细说明如下:
图1为本发明的结构示意图,
图2为本发明的主要流程图,
图3为本发明的优先运算对照表,
图4为本发明的具体实施例。
具体实施方式
本发明涉及一种动态记录计算步骤的方法,其是一种令计算应用程序中具有显示横式算式的功能,并可以动态记录算式每一步计算步骤的方法,该方法主要是在电脑系统建立一显示模块,该显示模块中设有各种不同的函数,这种函数并与一链接表相链接(如图1所示)。
当算式在输入过程中,电脑系统会拦截操作的内容,并对操作内容进行判断后,再根据判断的结果,调用显示模块中不同的函数替代后,加入与该函数链接的链接表中,如此,不断重复上述的步骤,即可完成该算式中所有操作(包括增加、删除、替换等等)的建立与修改,并能以横式的方式,将该算式中所有的操作内容显示出来。
另外,电脑系统对所拦截的操作内容进行判断时,主要是依操作内容的性质,将其分为操作数、操作符及清除符,其中,操作数,如:1、2、3…,又依据数位进制规则的不同,分为下列各类:
1.十位制:其后不加任何缀字或符号,如:123,12.34。
2.二进制:其后加缀b,如10b,1101011b。
3.八进制:其后加缀o,如57o,377777o。
4.十六进制,其后加缀h,如:5Ah,AFFFh。
而操作符则分为两类:其中一类是运算时,只需一个操作数,称为单操作符,如三角函数Sin(x),Cos(x)等,对数操作Log(x),Ln(x)等等;另一类则是在运算时,需要两个操作数,称为双操作符,如:+,-,*,/,X^Y(乘方),N!(阶乘)等。
另外,清除符:是作为清除原有在链接表中的表达式之用,如:Del。
再者,本发明在显示模块中的函数,如下列所示:
(1)复项加入函数(如:AddItem):其是将双操作符及操作数添加在算式中:如2+、5*。
(2)单项加入函数(如:AddSingle),其是将单操作符添加在算式中,如Sin。
(3)清除函数(如:DeleteAll):其是将加入链接表中所有的表达式清除。
(4)清除单项函数(如:DeleteItem):其是将加入链接表中其中一表达式清除。
(5)合并函数(如:CombinItem):其是将数个加入链接表中的若干项的表达式合并在一起,如2+、3*。
(6)替换操作符函数(如:ReplaceOperator):其具有替换双操作符的作用,如以*替代/。
(7)替换数字函数(如:ReplaceNum):其具有替换操作数的作用。
(8)替换反函数函数(如:ReplaceArc):其具有替换双操作符反函数的作用。
(9)显示函数(如:GetExpression),将加入链接表中的表达式,显示于显示界面上。
为了能够充分了解本发明在进行不同操作内容处理的过程,现将过程说明如下:
首先,电脑系统会将使用者所输入的操作内容拦截下来,并判断该内容是否为操作数,如是,则再进一步,比较该内容的数位进制方式,与前次所输入的操作数的数位进制方式是否相同,如相同时,电脑系统会在显示模块中调用替换数字函数(如:ReplaceNum)进行替换后,再调用复项加入函数(如:AddItem),将其加入显示模块中的链接表中后,调用显示函数(如:GetExpression)函数,将其显示于显示界面上;如不同,则直接调用复项加入函数(如:AddItem),将其加入显示模块中的链接表中,并调用显示函数(如:GetExpression),将其显示于显示界面上。
另外,如电脑系统判断该内容不是操作数时,则继续判断该内容是否为双操作符,如是,则再判断该内容与紧邻其前的双操作符,是否为连续两个双操作符(如5+,+),如是,则电脑系统会在显示模块中,调用替换操作符函数(如:ReplaceOperator)进行替换,令其替代紧邻其前的双操作符(但如超出规则外,另行处理)。
如不是,会继续判断是否为与前项不相关的新表达式,如是,则调用清除单项函数(如:DeleteItem),删除已加入链接表中的一项;如不是,则继续判断在该操作符加入时,是否已有运算发生,如:在(sin(30+,5*6后加入),如有,则调用合并函数(如:CombinItem),将在已加入链接表中的若干项合并在一起,如:(30+,5*6,)合并为(30+5*6),再调用替换反函数函数(如:ReplaceArc),进行反函数的替换后,调用复项加入函数(如:AddItem),将其替换后的结果加入显示模块中的链接表中,再调用显示函数(如:GetExpression),将其显示于显示界面上:如没有,则直接调用复项加入函数(如:AddItem),将该双操作符加入显示模块中的链接表中,再调用显示函数(如:GetExpression),将其显示于显示界面上。
再者,当电脑系统判断所拦截的操作内容不是操作数也不是双操作符时,则电脑系统会继续判断其是否为单操作符,如是,则调用单项加入函数(如:AddSingle),将单操作符加入链接表中,如Sin,并调用显示函数(如:GetExpression),将其显示于显示界面上;如不是,则继续判断是否为清除符,如是,则调用清除函数(如:DeleteAll),将已加入链接表中所有的表达式清除,再调用显示函数(如:GetExpression)函数,将其显示于显示界面上,如不是,则直接调用显示函数(如:GetExpression),将其显示于显示界面上。
为了更进一步了解上述的处理过程,现举几种实施例并加以说明如下:
例1:当两个节点的操作数发生双操作符计算时,电脑系统会调用合并函数(如:CombinItem),合并两个节点成为一个操作数节点,其中所谓的‘节点’是代表加入链接表中的操作数皆附加有一操作符(如1+,2*),如下列所示:
例2:当操作数进行单操作符计算时,只对单个节点内容进行修改,如下列所示:
Figure C0010898400083
Figure C0010898400091
例3:当输入“(”时,增加一个特殊“(”节点:输入“)”后,则合并“(”“)”之间的节点,如下列所示。
Figure C0010898400092
Figure C0010898400094
Figure C0010898400095
例4:若连续输入双操作符,则进行操作符替换。
例5:当操作数在替换时,若发生右括号或单操作符计算后,接着输入数字,则进行该替换,如下列所示。
Figure C0010898400099
Figure C00108984000910
Figure C00108984000911
例6:当使用者进行取反函数操作时,对并未发生计算的双操作符会进行取反替换,如下列所示。
Figure C0010898400101
例7:使用括号让使用者清楚优先级运算顺序,如下列所示。
上述例子所述的优先级不同,是指在运算时,根据运算规则,将运算符号的优先次序排列出来(如下列所示),并整理成一对照表(如图3所示):
“(”、“)”
“X^Y”、“X^(1/Y)”
“*”、“/”、“MOD”、“LSH”、“RSH”
“+”、“-”
“AND”
“OR”、“XOR”
“=”
另参照图4所示,其是为本发明一具体实施例:当使用者在使用计算应用程序进行
“2+1.5+5/2*16.5/2”的计算时,其操作步骤如下:
操作步骤说明
综上所述,本发明的动态记录计算步骤的方法,不但可改良现有技术的各种缺点,且在使用上能增进功效,适合实用,充分符合发明专利的要求。

Claims (4)

1.一种动态记录计算步骤的方法,该方法主要是在电脑系统建立一显示模块,该显示模块中设有各种不同的函数,这些函数与一链接表相链接,当算式在输入过程中,电脑系统会拦截使用者所输入的每一步操作的内容,并对操作内容进行判断后,再根据判断的结果,调用显示模块中不同的函数替代后,加入与该函数链接的链接表中,如此,不断重复上述的步骤,即可完成该算式中所有操作的建立与修改,并能以横式方式,将该算式中所有的操作内容显示出来。
2.如权利要求1所述的动态记录计算步骤的方法,其特征在于,当电脑系统判断所拦截到的操作内容为操作数时,则再进一步,比较该内容的数位进制方式,与前次所输入的操作数的数位进制方式是否相同,如相同时,电脑系统会由显示模块中,调用替换数字函数,进行替换后,再调用复项加入函数将其加入显示模块中的链接表中后,调用显示函数,将其显示于显示界面上,如电脑系统判断正在操作的内容与前次所输入的操作数的数位进制方式不同,则直接调用复项加入函数,将其加入显示模块中的链接表中,并调用显示函数,将其显示于显示界面上。
3.如权利要求1所述的动态记录计算步骤的方法,其特征在于,如电脑系统判断所拦截到的操作内容为双操作符时,则再判断该内容与紧邻其前的双操作符,是否为连续两个双操作符,
如不是连续两个双操作符,则电脑系统会继续判断是否为与前项不相关的新表达式,如果是与前项不相关的新表达式,则调用清除单项函数,删除已加入链接表中的一项;如果不是与前项不相关的新表达式,则继续判断在该操作符加入时,是否已有运算发生,如果已有运算发生,则调用合并函数,将已加入链接表中的若干项合并在一起,再调用替换反函数函数,进行反函数的替换后,调用复项加入函数,将其替换后的结果加入显示模块中的链接表中,再调用显示函数,将其显示于显示界面上,如果没有运算发生,则直接调用复项加入函数,将该双操作符加入显示模块中的链接表中,再调用显示函数,将其显示于显示界面上。
4.如权利要求1所述的动态记录计算步骤的方法,其特征在于,如电脑系统判断所拦截到的操作内容为单操作符时,则调用单项加入函数,将单操作符加入链接表中,并调用显示函数,将其显示于显示界面上;如电脑系统判断该操作内容不是单操作数时,则继续判断是否为清除符,如是,则调用清除函数值,将已加入链接表中所有的表达式清除,再调用显示函数,将其显示于显示界面上,如不是,则直接调用显示函数,将其显示于显示界面上。
CNB001089846A 2000-05-25 2000-05-25 一种动态记录计算步骤的方法 Expired - Fee Related CN1293499C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB001089846A CN1293499C (zh) 2000-05-25 2000-05-25 一种动态记录计算步骤的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB001089846A CN1293499C (zh) 2000-05-25 2000-05-25 一种动态记录计算步骤的方法

Publications (2)

Publication Number Publication Date
CN1326154A CN1326154A (zh) 2001-12-12
CN1293499C true CN1293499C (zh) 2007-01-03

Family

ID=4579357

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB001089846A Expired - Fee Related CN1293499C (zh) 2000-05-25 2000-05-25 一种动态记录计算步骤的方法

Country Status (1)

Country Link
CN (1) CN1293499C (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5979212B2 (ja) * 2014-12-24 2016-08-24 カシオ計算機株式会社 電子機器およびプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2202335Y (zh) * 1994-09-05 1995-06-28 金宝电子工业股份有限公司 可执行反复修改运算式的计算机
JPH09179829A (ja) * 1995-12-22 1997-07-11 Sharp Corp グラフ機能付き関数計算機

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2202335Y (zh) * 1994-09-05 1995-06-28 金宝电子工业股份有限公司 可执行反复修改运算式的计算机
JPH09179829A (ja) * 1995-12-22 1997-07-11 Sharp Corp グラフ機能付き関数計算機

Also Published As

Publication number Publication date
CN1326154A (zh) 2001-12-12

Similar Documents

Publication Publication Date Title
CN1941706A (zh) 一种即时通信提醒方法及装置
CN101079784A (zh) 互联网资源的搜索方法及其搜索系统
CN1882006A (zh) 一种通用智能点击拨号方法及其软件结构
CN102625144A (zh) 基于局域网云网络的并行视频处理方法
CN101075989A (zh) 一种验证字段有效性的方法和系统
CN1293499C (zh) 一种动态记录计算步骤的方法
CN112667480A (zh) 业务数据的动态监控方法、装置、电子设备及存储介质
CN1826580A (zh) 具有初步饱和检测的加法或者减法运算单元
CN1918570A (zh) 字符显示方法
CN1739082A (zh) 用于在传统操作系统中启用统一字符编码输入的装置与方法
CN1556654A (zh) 软件定时器的定时及控制方法
CN1082207C (zh) 高速动态二进制加法器
CN1696880A (zh) 藏文计算机通用键盘布局与输入法
CN1859268A (zh) 一种后台进行正反向解析报文的方法和系统
CN1885888A (zh) 一种话单分拣方法及系统
CN1945586A (zh) 电子电路设计的自动构建系统及自动构建方法
CN1534905A (zh) 基于构件化的智能业务测试方法
CN1267818C (zh) 将单处理器的软件程序转换为多处理器的软件程序的方法
CN1896954A (zh) 用于复杂多业务的动态编译器的构件化实现
CN1731344A (zh) 快速多周期二进制及十进制加法器单元的高度并行结构
CN115826961B (zh) 设计器及引擎分离重用的数据分析系统设计方法及装置
CN1991703A (zh) 一种使用键盘输入特定信息的方法
CN1057168C (zh) 以笔势符号做为编辑指令的系统
CN111090824B (zh) 内容处理方法和装置
CN1804787A (zh) 一种用于左移数据的方法与系统

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070103

Termination date: 20110525