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

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

Info

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
Application number
CN 00108984
Other languages
English (en)
Other versions
CN1293499C (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 A0010898400082
→发生在单操作符计算前……(1)
Figure A0010898400083
→对30进行正弦函数计算……(2)
Figure A0010898400084
→发生双操作符计算,合并…(3)
例3:当输入“(”时,增加一个特殊“(”节点:输入“)”后,则合并“(”“)”之间的节点,如下列所示。输入(“…(1)
Figure A0010898400092
输入(“…(2)
Figure A0010898400093
发生计算,进行合并(3)
Figure A0010898400094
输入(“…(4)
Figure A0010898400095
进行合并………(5)
例4:若连续输入双操作符,则进行操作符替换。
例5:当操作数在替换时,若发生右括号或单操作符计算后,接着输入数字,则进行该替换,如下列所示。
Figure A0010898400097
 对30进行正弦函数计算……(1) 单操作符计算后,输入数字,替换最后节点(2)
Figure A0010898400099
 括号后合并……(3) 右括号计算后,输入数字,替换最后节点……(4)
例6:当使用者进行取反函数操作时,对并未发生计算的双操作符会进行取反替换,如下列所示。
Figure A00108984000911
 有左移运算……(1) 进行了取反函数操作,替换成右移运算
                                          ……(2)
例7:使用括号让使用者清楚优先级运算顺序,如下列所示。
Figure A0010898400102
依次进行*X^Y(乘方)*操作(1)
Figure A0010898400103
发生(3X^Y3)局部运算(由于X^Y与*),优先级不同,使用括号……(2)
上述例子所述的优先级不同,是指在运算时,根据运算规则,将运算符号的优先次序排列出来(如下列所示),并整理成一对照表(如图3所示):高“(”、“)”“X^Y”、“X^(1/Y)”“*”、“/”、“MOD”、“LSH”、“RSH”“+”、“-”“AND”“OR”、“XOR”“=”低
另参照图4所示,其是为本发明一具体实施例:当使用者在使用计算应用程序进行
“2+1.5+5/2*16.5/2”的计算时,其操作步骤如下:操作步骤说明
操作步骤说明                                               
Figure A0010898400111
1.输入操作数“2”,表达式无显示                             
Figure A0010898400112
2输入操作符“+”                                                                                        
Figure A0010898400113
3.输入操作数“1.5”和操作符“+”                                                        
Figure A0010898400114
4.输入操作数“5”和操作符“/”                                                             
Figure A0010898400115
5.输入操作数“2”和操作符“*”。发生计算,运算符不会使用括号
Figure A0010898400116
6.输入操作数“16”和操作符“/”。发生计算,运算符不同使用括号
7.输入操作数“2”和操作符“=”                                                                
Figure A0010898400118
9.输入操作符“+”                                                                                           
Figure A0010898400119
10.输入操作数“4”和操作符“/”。                             
Figure A00108984001110
11.输入操作数“0”和操作符“+”。终止溢出,终止输入。
Figure A0010898400121
综上所述,本发明的动态记录计算步骤的方法,不但可改良现有技术的各种缺点,且在使用上能增进功效,适合实用,充分符合发明专利的要求。

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),将其显示于显示界面上。
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 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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105740198A (zh) * 2014-12-24 2016-07-06 卡西欧计算机株式会社 电子设备以及电子设备的执行验证时的显示方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2202335Y (zh) * 1994-09-05 1995-06-28 金宝电子工业股份有限公司 可执行反复修改运算式的计算机
JP3485406B2 (ja) * 1995-12-22 2004-01-13 シャープ株式会社 グラフ機能付き関数計算機

Cited By (2)

* Cited by examiner, † Cited by third party
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