微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

符号计算器符号表示结构

如何解决符号计算器符号表示结构

我正在尝试制作一个可以进行符号计算的小程序。没有什么比五种基本运算(求和、减法、乘法、除法和求幂)更复杂的了。这些事情在纸面上看起来很简单,但我发现让计算机理解如何进行这些计算非常困难。

现在的问题是,如何表示一个符号以便于计算?

我尝试了以下方法: 数字是具有数字(整数)分子和分母的有理数。其余的是带有标签 (x,y) 的符号,它们具有由其他符号和有理数组成的计数,即相加的符号在一个数组中,相乘的符号是符号的计数.因此,(x+y)*z 变成符号 z,计数为 [符号 x,符号 y],x*y*z 变成符号 z,计数为 [符号 y,计数为 [符号 x]]。

加法很简单,如果其他符号标签匹配,则将两个计数相加: 3x+yx => 带有 [有理数 3/1,符号 y] 计数的符号 x

减法和加法一样简单,只需将负数的有理数加到另一个上即可: 3x+(-yx) => 符号 x 计数为 [有理数 3/1,符号 y 计数为 [有理数 -1/1]

乘法变得更难,但是对于符号的每个元素计数,将乘数添加到它们的计数中: (1+y)x * z => 带有 [符号 z] 计数的符号 x,带有 [符号 z] 计数的符号 y]

除法是我没搞懂的东西,因为如何找到一个东西是否可整除实际上很难,因为需要为符号计数的每个元素找到它是否可整除,包括原始符号计数,然后找出可以消除的地方。

所以在这一点上我有点迷茫,想知道是否有一种相当好的方法来表示符号计算中的符号。我做得对吗,或者如果我继续下去,这个烂摊子会变得更糟。

我也尝试过使用二叉树,但那里的划分也变得太难了。

将符号表示为字符串并尝试逐个字符计算是否更有意义?如果是,那么除法如何再次起作用,特别是如果涉及到分数?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。