程序设计教学中算法优化的素养培育总结有以下几个方面的内容。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.结语由本文以上分析可以看出,随着程序的逐步优化,程序运行效率得以成百上千倍的提高。但是引入数学方法后,程序运行效率提高更为明显,但是程序的可读性明显降低,需要在程序代码中添加注释详细予以说明。因此,程序的优化过程要考虑运行效率和程序可读性的取舍平衡。虽然计算机运算速度不断提高,小型程序优化与否对运行时间影响有限。但是程序优化技能的培育,数学工具的应用,对学生增强编程兴趣,提高创新意识,尤其在大型软件过程设计质量的提高方面具有重大作用。