电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

程序设计教学中算法优化的素质培养

程序设计教学中算法优化的素质培养_第1页
程序设计教学中算法优化的素质培养_第2页
程序设计教学中算法优化的素质培养_第3页
程序设计教学中算法优化的素养培育总结有以下几个方面的内容。4.1 循环变量上下界的取值范围的优化由(2)式乘 3,可得15×X+9×Y+Z==300(3)(3)-(1)除 2 得 7×X+4×Y=100(4)由(4)得X=(100-4Y)/7<=100/7<15(5)所以 X 为 0<=X<=14 中的整数同理,Y=(100-7×X)/4<=25(6)所以 Y 为 0<=Y<=25 中的整数通过推导 X,Y 的取值范围,循环可改为:程序四:Dimx%,y%,z%DimcountAsLongClsForx=0To14Fory=0To25z=100-x-yIf5*x+3*y+z/3=100ThenPrintx,y,zEndIfcount=count+1NextyNextxPrint“循环次数”;countEndSub由此,内层循环体执行次数降低为 390 次。同样,可推导 Z 的取值为,75<=Z<=85 的整数。4.2 运行结果的数学分析阅读运行结果,我们发现有如下结论:a.X 取值为 4 的整数倍,Z 的取值为 3 的整数倍;b.Y 取值为公差为 7 的等差数列。同学们也做了完整的论证。例如,由(6)式 Y=(100-7×X)/4,因为 Y 为整数,所以 7×X/4 为整数,故 X 为 4 的整数倍。因此循环可改为:程序五:Dimx%,y%,z%DimcountAsLongClsForx=0To14Step4Fory=0To25z=100-x-yIf5*x+3*y+z/3=100ThenPrintx,y,zEndIfcount=count+1NextyNextxPrint“循环次数”;countEndSub由此,内层循环体执行次数降低为 104 次。4.3 通过数学推导建立单层循环一些同学做了更深化的讨论,在一、二节数学分析的结论支持下,进一步提出将 X,Y 的取值通过 Z 的函数关系求得,由此建立 Z 的单层循环实现。由(1)(3)式消去 Y,得到X=4×Z/3-100(7)结合一、二节的相关结论,循环可改为:程序六:Dimx%,y%,z%DimcountAsLongClsForz=75To85Step3x=4*z/3-100y=100-x-zPrintx,y,zcount=count+1NextzPrint“循环次数”;countEndSub这样,内层循环体执行次数只需 4 次,且每次循环做两次乘除法运算!确实让我们感受到数学方法对程序优化过程的强大作用。5.程序优化的效率分析综述以上各节的讨论,以内层循环执行次数为主要指标,可列出下表:6.结语由本文以上分析可以看出,随着程序的逐步优化,程序运行效率得以成百上千倍的提高。但是引入数学方法后,程序运行效率提高更为明显,但是程序的可读性明显降低,需要在程序代码中添加注释详细予以说明。因此,程序的优化过程要考虑运行效率和程序可读性的取舍平衡。虽然计算机运算速度不断提高,小型程序优化与否对运行时间影响有限。但是程序优化技能的培育,数学工具的应用,对学生增强编程兴趣,提高创新意识,尤其在大型软件过程设计质量的提高方面具有重大作用。

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

文森传品+ 关注
实名认证
内容提供者

一家传播文化教育的小店,资料丰富,随意挑选。

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部