分享

数与图(6)——多项式乘法

 老巫婆图书馆 2021-07-06

在上一篇文章《数与图(5)》中,我们实现了合并同类项操作,而合并同类项是多项式乘法的基础,本文在此基础上,用程序实现多项式的乘法运算。

首先将上一篇文章的项目“合并同类项”另存为“多项式乘法”,将屏幕的标题修改为“多项式乘法”,然后就可以切换到编程视图,开始编写程序了。

一、修改原有程序

1、修改已有过程名称

将有返回值过程“多项式列表”的名称修改为“单项式列表”。如图1所示。这样修改的原因有两个,一是就列表本身的内容来看,其中的列表项均为单项式;二是新建程序的需要,我们将创建一个新的有返回值过程“多项式列表”,见图5。

图1 修改已有过程的名称

2、修改全局变量的名称及内容

如图2所示,将原有的全局变量“多项式”修改为“多项式题目”,并改写变量内容。

图2 修改全局变量的名称及变量值

二、新建过程

1、双多项式乘积

求两个单项式的乘积,代码如图3所示。首先求出两个单项式的系数和指数,然后将系数相乘,指数相加,最后拼写出单项式乘积字串。

图3 有返回值过程——双单项式乘积

2、双多项式乘积

求两个多项式的乘积,代码如图4所示。首先将两个多项式表达式转化为多项式列表,然后利用双重针对列表的循环,逐项求单项式的乘积。注意这时的返回结果尚未合并同类项。

图4 有返回值过程——双多项式乘积

3、多项式列表

将多项式的乘积表达式转化为多项式列表,代码如图5所示,首先用“*”将乘积表达式(形式见图2中的全局变量)分解为列表,再针对列表进行循环,将每个列表项中的左右括号去掉,最后返回一个多项式列表。注意列表项的替换操作,单纯修改列表项的值,而不执行替换操作,无法更新列表项的值

图5 有返回值过程——多项式列表

4、求多项式的乘积

求多个多项式的乘积,代码如图6所示。首先提取出多项式列表中的第一项,命名为“前项”,然后利用针对数字的循环,逐一提取后面的列表项,命名为“后项”,将前项与后项的乘积保存到前项中。注意此时对乘积进行了合并同类项操作,以便减少运算次数。

图6 有返回值过程——多项式乘积

三、事件处理程序

在按钮1的点击事件处理程序中,用标签来显示题目及运算结果,代码如图7所示。

图7 按钮点击事件处理程序

四、测试

针对全局变量中给定的题目进行运算测试,所得结果如图8所示。这里没有针对系数作进一步的完善,请读者参照文章《数与图(4)》自行加以修改。

图8 测试结果

五、讨论

简单的多项式乘法,例如(x+3.6)*(x+2.5),对我们人类来说并不困难,但是随着多项式数量的增加,计算的难度会急剧加大,这时就显示出程序的威力。

在安卓的应用商店里可以找到“公式计算器”一类的应用,如图9所示,其实我们也可以开发出自己的公式计算器。

图9 一款公式计算器应用的用户界面

我们用三篇文章的篇幅讲解了与多项式有关的程序问题,目的是在后续文章中使用它们,也就是说,围绕着多项式,有许多的话题可以展开。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多