一种基于搜索框的计算方法及装置的制造方法_4

文档序号:8299163阅读:来源:国知局
统一而导致整个公式的计算结果错误。可以理解的,该一个操作数不仅可以设置在左子树节点上,也可以设置在右子树节点上,并且任何能够统一对该一个操作数的位置进行规定的方式均可使用在本实施例中。
[0108]当用户输入的内容解析成的二叉树同时满足条件I和条件2时,则认为用户输入的内容是数学公式。当用户输入的内容解析成的二叉树同时满足条件3和条件4,也可只满足条件3和条件4中的一个。例如用户输入的内容既包括具有两个操作数的操作符也包括具有一个操作数的操作符时,则需要同时满足条件3和条件4;当用户输入的内容只包括具有两个操作数的操作符或者只包括具有一个操作数的操作符时,可以只满足条件3或条件4中的一个。
[0109]以上所列举的条件仅为例举,本领域技术人员应理解还有其他可适用于本发明的条件,也应落入本发明的保护范围,为简明起见,仅以引用方式包含于此,而不做赘述。
[0110]以下结合图3来说明根据本发明的基于搜索框的计算方法的一个实例:
[0111]如图3所示,当用户输入“22+3-5”时,只在搜索框的下方提供该输入的内容的联想内容,而不会触发对该输入的内容的计算过程。当用户继续输入“=”时,则触发了对“=”之前输入的内容的计算过程。该用户输入的“22+3-5”的计算结果为“20”,则在搜索框中的“=”后显示“20”,从而完成一次对用户输入内容的计算及显示。
[0112]在触发对用户输入的内容的计算过程后,接收解析单元800首先可将所述用户输入的内容解析为二叉树,该二叉树包括由至少一个操作符和操作数组成的树形层次结构。以用户输入的内容是l*2+logl0为例,该输入的内容可解析为如图4所示的二叉树,其中的
”及“ log”均可视为操作符,“ I ”、“2”及“ 10”均可视为操作数。
[0113]若根据二叉树规则无法将所述用户输入的内容解析成二叉树,例如用户输入的内容是“1*2申请loglO”,由于“申请”无法被识别为任何操作符,则“1*2”和“loglO”只能被解析成单独的二叉树,所以该输入的内容无法被解析成一个完整的二叉树,此时可以认为用户并不是需要对输入的内容进行计算,因此可将所述用户输入的内容对应的联想内容或搜索结果显示在所述搜索框中。
[0114]可选地,计算显示单元810可通过调用计算器应用程序来对所述二叉树对应的数学公式进行计算或由自带的计算模块来对所述二叉树对应的数学公式进行计算。
[0115]优选的,考虑到移动终端的计算能力以及用户的输入体验,本实施例可只对+、_、*、+、sin函数、cos函数、tan函数、ctg函数、阶乘函数(!)、幂函数O、对数(log)以及括号等基本数学运算进行计算,自定义变量则可认为是不属于操作符和操作数的内容而不会被用于计算。
[0116]因此,对于如图4所示的二叉树,计算显示单元810可以从根节点开始,先递归计算出其左子树节点和右子树节点的值,再根据数学运算计算出根节点的值即可,即整个计算过程是对二叉树的后序遍历。具体的计算过程包括:首先计算根节点“ + ”的左子树节点“*”,根据后序遍历的原则,该左子树节点表示的数学公式为“1*2”,则该左子树节点的值为“2” ;然后计算根节点“ + ”的右子树节点“ log”,根据后序遍历的原则,该右子树节点表示的数学公式为“loglO”,则该右子树节点的值为I ;最后计算根节点“ + ”的值,根据后续遍历原贝1J,该根节点表示的数学公式是“2+1”,则该根节点的值为2。
[0117]计算显示单元810通过该计算过程获得的结果“2”就是用户输入的内容对应的计算结果,并将该计算结果显示在所述搜索框中,即完成了本次基于搜索框的计算。
[0118]在一个具体实施例中,所述计算显示单元810中包括有计算子单元(未示出)与显示子单元(未示出),其中,该计算子单元用于从所述二叉树的根节点开始后序遍历所述根节点的左子树节点和右子树节点的值,再根据数学运算计算出所述根节点的值,将所述根节点的值作为所述用户输入的内容的计算结果。随后,显示子单元,将所述计算结果显示在所述搜索框中。
[0119]在另一实施例中,如图11所示,所述基于搜索框的计算装置还可以包括用于当检测到用户删除所述用于启动计算的字符时,则将所述用户输入的内容对应的联想内容或搜索结果显示在所述搜索框中的装置(以下简称“搜索显示单元”)820。该搜索显示单元820用于当检测到用户删除所述用于启动计算的字符时,则将所述用户输入的内容对应的联想内容或搜索结果显示在所述搜索框中。
[0120]具体的,如图6所示的,当用户输入了用于启动计算的字符“=”后又通过删除键将“=”删除,则会认为用户操作由获得计算结果改为对输入的内容进行搜索,因此搜索显示单元820将所述用户输入的内容对应的联想内容或搜索结果显示在所述搜索框中。当用户进一步如图7所示的输入“*5”,并如图8所示的输入“=”时,则会认为用户从“22+3-5”到“*5”的内容均是为获得计算结果,因此搜索显示单元820将该数学公式“22+3-5”的计算结果“20”与“*5”再进行计算后,将最终的结果“ 100”显示在所述搜索框中。
[0121]本实施例所述基于搜索框的计算装置,可以根据用于启动计算的字符,将用户输入的内容解析为表示数学公式的二叉树,并将该二叉树对应的数学公式的计算结果直接显示在搜索框中,使移动终端用户无需通过第三方应用即可获得所见即所得的计算结果,从而降低了操作成本,为移动终端用户提供了较好的用户体验。
[0122]需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,本发明的各个装置可采用专用集成电路(ASIC)或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
[0123]对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此夕卜,显然“包括” 一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
[0124]虽然前面特别示出并且描述了示例性实施例,但是本领域技术人员将会理解的是,在不背离权利要求书的精神和范围的情况下,在其形式和细节方面可以有所变化。这里所寻求的保护在所附权利要求书中做了阐述。在下列编号条款中规定了各个实施例的这些和其他方面:
[0125]1、一种基于搜索框的计算方法,其包括:
[0126]接收用户输入的内容,当检测到用于启动计算的字符时,则根据二叉树规则对所述用户输入的内容进行解析;
[0127]若所述用户输入的内容能够解析成二叉树,则获取所述二叉树对应的数学公式的计算结果,并将所述计算结果显示在所述搜索框中。
[0128]2、条款I的方法,所述若所述用户输入的内容能够解析成二叉树,则获取所述二叉树对应的数学公式的计算结果,并将所述计算结果显示在所述搜索框中的步骤包括:
[0129]-若所述用户输入的内容能够解析成满足预定条件的二叉树,则获取所述二叉树对应的数学公式的计算结果,并将所述计算结果显示在所述搜索框中。
[0130]3、条款2的方法,所述预定
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1