CN1326154A - 一种动态记录计算步骤的方法 - Google Patents
一种动态记录计算步骤的方法 Download PDFInfo
- Publication number
- CN1326154A CN1326154A CN 00108984 CN00108984A CN1326154A CN 1326154 A CN1326154 A CN 1326154A CN 00108984 CN00108984 CN 00108984 CN 00108984 A CN00108984 A CN 00108984A CN 1326154 A CN1326154 A CN 1326154A
- Authority
- CN
- China
- Prior art keywords
- function
- call
- computer system
- chained list
- 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.)
- Granted
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*),如下列所示:
例4:若连续输入双操作符,则进行操作符替换。
例5:当操作数在替换时,若发生右括号或单操作符计算后,接着输入数字,则进行该替换,如下列所示。 对30进行正弦函数计算……(1) 单操作符计算后,输入数字,替换最后节点(2) 括号后合并……(3) 右括号计算后,输入数字,替换最后节点……(4)
……(2)
上述例子所述的优先级不同,是指在运算时,根据运算规则,将运算符号的优先次序排列出来(如下列所示),并整理成一对照表(如图3所示):高“(”、“)”“X^Y”、“X^(1/Y)”“*”、“/”、“MOD”、“LSH”、“RSH”“+”、“-”“AND”“OR”、“XOR”“=”低
另参照图4所示,其是为本发明一具体实施例:当使用者在使用计算应用程序进行
“2+1.5+5/2*16.5/2”的计算时,其操作步骤如下:操作步骤说明
6.输入操作数“16”和操作符“/”。发生计算,运算符不同使用括号
综上所述,本发明的动态记录计算步骤的方法,不但可改良现有技术的各种缺点,且在使用上能增进功效,适合实用,充分符合发明专利的要求。
Claims (7)
1.一种动态记录计算步骤的方法,该方法主要是在电脑系统建立一显示模组,该显示模组中设有各种不同的函数,这种函数并与一链接表相链接,当算式在输入过程中,电脑系统会拦截操作的内容,并对操作内容进行判断后,再根据判断的结果,调用显示模组中不同的函数替代后,加入与该函数链接的链接表中,如此,不断重复上述的步骤,即可完成该算式中所有操作的建立与修改后,并能以横式方式,将该算式中所有的操作内容显示出来。
2.如权利要求1所述的动态记录计算步骤的方法,其特征在于,当电脑系统判断所拦截到的操作内容为操作数时,则再进一步,比较该内容的数位进制方式,与前次所输入的操作数的数位进制方式是否相同,如相同时,电脑系统会由显示模组中,调用替换数字函数(如ReplaceNum),进行替换后,再调用复项加入函数(如:AddItem)将其加入显示模组中的链接表中后,调用显示函数(如:GetExpression),将其显示于显示界面上。
3.如权利要求2所述的动态记录计算步骤的方法,其特征在于,如电脑系统判断正在操作的内容,与前次所输入的操作数的数位进制方式不同,则直接调用复项加入函数(如:AddItem),将其加入显示模组中的链接表中,并调用显示函数,将其显示于显示界面上。
4.如权利要求1所述的动态记录计算步骤的方法,其特征在于,如电脑系统判断所拦截到的操作内容为双操作符时,则再判断该内容与紧邻其前的双操作符,是否为连续两个双操作符,如不是,则电脑系统会继续判断是否为与前项不相关的新表达式,如是,则调用清除单项函数(如:DeleteItem),删除已加入链接表中的一项;
如不是,则继续判断在该操作符加入时,是否已有运算发生,如有,则调用合并函数(如:CombinItem),将已加入链接表中的若干项合并在一起,再调用替换反函数函数(如:ReplaceArc),进行反函数的替换后,调用复项加入函数(如:AddItem),将其替换后的结果加入显示模组中的链接表中,再调用显示函数(如:GetExpression),将其显示于显示界面上,如没有则直接调用复项加入函数(如:AddItem),将该双操作符加入显示模组中的链接表中,再调用显示函数(如:GetExpression),将其显示于显示界面上。
5.如权利要求4所述的动态记录计算步骤的方法,其特征在于,如电脑系统判断没有运算发生,则会直接调用复项加入函数(如:AddItem),将该双操作符加入显示模组中的链接表中,再调用显示函数(如:GetExpression)将其显示于显示界面上。
6.如权利要求1所述的动态记录计算步骤的方法,其特征在于,如电脑系统判断所拦截到的操作内容为单操作符时,则调用单项加入函数(如:AddSingle),将单操作符加入链接表中,并调用显示函数(如:GetExpression),将其显示于显示界面上。
7.如权利要求6所述的动态记录计算步骤的方法,其特征在于,如电脑系统判断该操作内容不是单操作数时,则继续判断是否为清除符,如是,则调用清除函数值(如:DeleteAll),将已加入链接表中所有的表达式清除,再调用显示函数(如:GetExpression),将其显示于显示界面上,如不是,则直接调用显示函数(如:GetExpression),将其显示于显示界面上。
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 true CN1326154A (zh) | 2001-12-12 |
CN1293499C 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740198A (zh) * | 2014-12-24 | 2016-07-06 | 卡西欧计算机株式会社 | 电子设备以及电子设备的执行验证时的显示方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2202335Y (zh) * | 1994-09-05 | 1995-06-28 | 金宝电子工业股份有限公司 | 可执行反复修改运算式的计算机 |
JP3485406B2 (ja) * | 1995-12-22 | 2004-01-13 | シャープ株式会社 | グラフ機能付き関数計算機 |
-
2000
- 2000-05-25 CN CNB001089846A patent/CN1293499C/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740198A (zh) * | 2014-12-24 | 2016-07-06 | 卡西欧计算机株式会社 | 电子设备以及电子设备的执行验证时的显示方法 |
CN105740198B (zh) * | 2014-12-24 | 2018-12-28 | 卡西欧计算机株式会社 | 电子设备以及电子设备的执行验证时的显示方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1293499C (zh) | 2007-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106873949A (zh) | 代码生成方法及其装置 | |
CN1570848A (zh) | 使用进位存储加法的蒙哥马利模乘器及其方法 | |
CN1821951A (zh) | 算术单元 | |
CN1826580A (zh) | 具有初步饱和检测的加法或者减法运算单元 | |
CN112667480A (zh) | 业务数据的动态监控方法、装置、电子设备及存储介质 | |
CN1293499C (zh) | 一种动态记录计算步骤的方法 | |
CN113343042B (zh) | 数据分片存储方法、装置、电子设备及存储介质 | |
CN1556654A (zh) | 软件定时器的定时及控制方法 | |
KR960704265A (ko) | 고속 산술 장치에서 올림수 예견 가산기 스테이지의 수를 감소시키는 장치 및 방법 | |
CN114385540B (zh) | 一种数据单位换算方法及装置 | |
CN115695589A (zh) | 一种自动生成can报文解析代码的方法、系统、装置及介质 | |
CN1896954A (zh) | 用于复杂多业务的动态编译器的构件化实现 | |
CN87100555A (zh) | 双笔顺计算机汉字输入方案及其键盘 | |
CN1862520A (zh) | 一种数据处理装置及其建立方法 | |
CN113064928A (zh) | 报表数据查询方法、装置、电子设备及存储介质 | |
CN1945586A (zh) | 电子电路设计的自动构建系统及自动构建方法 | |
CN113485711A (zh) | 基于依赖关系的任务触发方法、装置、电子设备及介质 | |
CN1731344A (zh) | 快速多周期二进制及十进制加法器单元的高度并行结构 | |
CN1178588A (zh) | 使用移位装置的求幂电路及其使用方法 | |
CN1889115A (zh) | 一种计算机辅助设计产品的在线评审系统与方法 | |
CN1057168C (zh) | 以笔势符号做为编辑指令的系统 | |
CN1642292A (zh) | 色彩格式转换方法及使用该方法的远程控制装置 | |
CN102929575A (zh) | 一种模乘法器 | |
CN1291309C (zh) | 一种快速除法器 | |
Nagendra et al. | Unifying carry-sum and signed-digital number representations for low power |
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 |