1、求多项式和的算法研究 求多项式的和,是小学一年级数学中常见的计算题型。1到10的数值相加,相信同学们不费吹灰之力,就可以写出正确答案。本课我们还将探究多个偶数相加的内容,通过的“累加法”和“取余法”能求出100以内偶数的和。例一、求多项式“1+2+3+.+10”的和要求多项式“1+2+3+10”的和,我们通常会先计算第1项和第2项加数的和,再把得到的结果和第3项相加,依次类推,直到加上最后一项。1.用实例推演算法为了更好地理解求这种多项式和的算法,可以逐步进行推演:1.计算1+2的值,结果为3;2.把第1步计算得到的结果3和多项式中的3相加,结果为6;3.把第2步计算得到的结果6和多项式中的4
2、相加,结果为10;4.依次类推,把前1步得到的结果值和多项式中的下一个值相加,直到加上多项式中的10为止;试一试:推演求多项式“1+2+3+100”和值的算法,并记录下来。1.用表格表述算法为让推演过程更加具体,可以用如下所示的表格表述算法:步 骤 描 述第一步新建两个变量:“一个数”、“和”,分别用于存储多项式的值和结果值;第二步变量初始化:“一个数”=1,“和”=0;第三步条件判断:“一个数”是否大于10;第四步 如果条件不成立,则把“和”的值和“一个数”的值相加,并把得到的最新结果存入变量“和”中;第五步 变量“一个数”的值累加1,并跳转到第3步;第六步 如果条件成立,输出变量“和”的值
3、,结束程序。2.用流程图规范算法为让算法更加清晰明了,以上用表格表述的算法可以用如下所示的流程图表示:试一试:打开流程图绘制网站(https:/www.draw.io/),仿照如上所示的流程图,绘制一幅求多项式”1+2+3+100“和的流程图。3.编写代码实现算法根据以上用流程图表示的算法,可以编写这个求“1+2+3+.+10”的和的程序。编写程序代码要编写求多项式”1+2+3+10“和的程序代码,具体可以按以下步骤操作:1.新建“一个数”、“和”两个变量。2.在“当绿旗被点击”指令下方,添加一个“将变量设为指定值”指令;设置该指令的第一个参数为第1步新建的变量“和”;第二个参数设置为数值0。
4、3.复制第2步添加的“将变量设为指定值”指令;修改指令的第一个参数为“一个数”;第二个参数设置为数值1。4.再添加“多条件判断”指令,设置指令的指定条件为“大于”指令;设置“大于”指令的第一个参数为“一个数”,第二个参数为数值10。5.如果“多条件判断”指令条件成立,则执行指令块:将“连接字符”指令设置为“说”这个指令参数,设置这个“连接字符”指令的参数依次为:字符“1+2+3+.+10”的和为”和变量“和”。6.如果“多条件判断”指令条件不成立,则执行第二个指令块;第二个指令块为两条指令,均为“将变量值增加”指令,设置这4个参数依次为:变量“和”、变量“一个数”、变量“一个数”以及数值1。7
5、.最后再添加一个“重复执行”指令,将第4步添加的“多条件判断”指令嵌套进来。点击此处可以查看完整程序代码。练一练:程序运行正常后,请试着修改程序中的一些参数,让计算机算出多项式”1+2+3+.+100“的值。例二、求100以内偶数的和方法一、 累加法要求100以内偶数的和,我们通常会先取100以内最小的偶数2加上第二个偶数4,将得到的和再加上第三个偶数6,并存入和,依次类推,直到加上最后一项。这种方法类似前面求多项式“1+2+3+.+10”的和,区别在于第一项数值并非从1开始,每次累加的数值也并非为1。1.用实例推演算法为了更好的理解这种算法,可以用具体实例,推演这种算法:1.计算2+4的值,
6、结果为6;2.把第1步计算得到的结果6和下一项偶数6相加,结果为12;3.把第2步计算得到的结果12和下一项偶数8相加,结果为20;4.依次类推,把前1步得到的结果值和多项式中的下一个偶数值相加,直到加上多项式中的最后一项偶数为止。试一试:试着随机输入一个数字,去求100以内该数的倍数之和。1.用表格表述算法将以上实例推演过程进一步整理,可以用如下所示的表格表述算法:步 骤 描 述第一步新建变量“一个数”、“和”,分别用于存储当前值和结果值;第二步变量初始化:“一个数”=2,“和”=0;第三步条件判断:变量“一个数”是否大于100;第四步 如果条件不成立,则把“和”的值和“一个数”的值相加,并
7、把得到的最新结果存入变量“和”中;第五步 把变量“一个数”的值累加2,并跳转到第3步;第六步 如果条件成立,则输出变量“和”的值,结束程序。3.用流程图规范算法以上用表格表述的算法,可以用如下图所示的流程图表示:试一试:打开流程图绘制网站(https:/www.draw.io/),模仿绘制以上这幅“求100以内3的倍数的和”程序的流程图。4.编写代码实现算法根据以上用流程图表示的算法,可以编写这个“求100以内3的倍数的和”的程序。编写程序代码要编写这个“用累加法求100以内偶数和”的程序,可以按以下步骤操作:1.新建“一个数”、“和”这两个变量。2.在“当绿旗被点击”指令下方,添加“将变量值
8、设为”指令;设置指令的第一个参数为第1步新建的变量“和”;第二个参数设置为数值0。3.复制第2步添加的“将变量值设为”指令;修改指令的第一个参数为“一个数”;第二个参数设置为数值2。4.再添加一个“多条件判断”指令;设置指令的指定条件为“大于”指令;“大于”指令一共有两个参数,设置指令的第一个参数为“一个数”,第二个参数为数值100。5.如果“多条件判断”指令条件成立,则执行指令块:将“连接字符”指令设置为“说”这个指令参数,设置这个“连接字符”指令的参数依次为:字符“100以内偶数的和为”和变量“和”。6.如果“多条件判断”指令条件不成立,则执行第二个指令块。第二个指令块为两条指令,均为“将
9、变量值增加”指令,设置这4个参数依次为:变量“和”、变量“一个数”、变量“一个数”以及数值2。7.最后再添加一个“重复执行”指令,将第4步添加的“多条件判断”指令嵌套进来。点击此处可以查看完整程序代码。练一练:根据以上步骤描述编写代码,然后运行、查看程序是否正常,试着修改求100以内奇数的和。1.扩展、优化算法用以上编写的这个“累加法求100以内偶数和”的程序,能让使用者迅速求出100以内偶数的和。请修改程序,使运行程序后,能求出100以内所有奇数的和。再想一想,相应的流程图应该如何修改。方法二、取余法另外一种求100以内偶数和的方法是,我们通常会先检验当前数值是否是2的倍数,即能否被2整除,
10、再计算符合条件的第1项和第2项加数的和,然后把得到的结果和符合条件的第3项相加,依次类推,直到加上最后一项。1.用实例推演算法为了更好的理解这种算法,可以用具体实例,推演这种算法:1.判断1能否整除2,结果为否;2.判断2能否整除2,结果为是,则和为2;3.依次类推,先判断当前数能否整除2,当结果为是,则前1步得到的结果值和当前除数值相加。直到当前除数值大于100为止。试一试:试着随机输入一个数字,去求100以内该数的倍数之和。2.用表格表述算法将以上实例推演过程进一步整理,可以用如下所示的表格表述算法:步 骤 描 述第一步新建变量“一个数”、“和”,分别用于存储当前值和结果值;第二步变量初始
11、化:“一个数”=1,“和”=0;第三步条件判断:变量“一个数”是否大于100;第四步 如果条件不成立,条件判断:变量“一个数”能否整除2;第五步 如果条件成立,把“和”的值和“一个数”的值相加,并把得到的最新结果存入变量“和”中;第六步 把变量“一个数”的值增加1,并跳转到第3步;第七步 如果条件成立,则输出变量“和”的值,结束程序。3.用流程图规范算法以上用表格表述的算法,可以用如下图所示的流程图表示:试一试:打开流程图绘制网站(https:/www.draw.io/),模仿绘制以上这幅“求100以内3的倍数的和”程序的流程图。4.编写代码实现算法根据以上用流程图表示的算法,可以编写这个“求
12、100以内3的倍数的和”的程序。(1)了解指令这个程序编写过程中,需要用到以下指令:指令名称:取余指令用途:求第一个参数除以第二个参数的余数。指令参数:本指令有两个参数,分别用于指定相除的这两个数。(2)编写程序代码要编写这个“求100以内偶数的和”程序,可以按以下步骤操作:1.新建“一个数”、“和”这两个变量。2.在“当绿旗被点击”指令下方,添加“将变量设为指定值”指令;设置指令的第一个参数为第1步新建的变量“和”;第二个参数设置为数值0。3.复制第2步添加的“将变量设为指定值”指令;修改指令的第一个参数为“一个数”;第二个参数设置为数值1。4.再添加一个“多条件判断”指令;设置指令的判断条
13、件为“大于”指令;“大于”指令一共有两个参数,设置指令的第一个参数为“一个数”,第二个参数为数值100。5.如果“多条件判断”指令条件成立,则执行指令块:将“连接字符”指令设置为“说”这个指令参数,设置这个“连接字符”指令的参数依次为:字符“100以内偶数的和为”和变量“和”。6.如果“多条件判断”指令条件不成立,则执行第二个指令块。7.“多条件判断”第二个指令块首先添加一个“条件判断”指令;设置指令的判断条件为“等于”指令;“等于”指令一共有两个参数,在指令的第一个参数位置上添加“取余”指令,“取余”指令也有两个参数,这两个参数分别按照次序设置为变量“一个数”和数值2;“等于”指令的第二个参数设置为数值0。8.“多条件判断”第二个指令块下“条件判断”指令后再添加“将变量值增加”指令;指令参数按照次序依次为变量“一个数”和数值1。 9.最后再添加一个“重复执行”指令,将第4步添加的“多条件判断”指令嵌套进来。点击此处可以查看完整程序代码。练一练:根据以上步骤描述编写代码,然后运行、查看程序是否正常,试着修改求100以内10的倍数,并手动计算验证计算机运行结果。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1