数学算法在计算机编程优化中的应用分析

2018-04-26 08:51本溪广播电视大学
电子世界 2018年7期
关键词:编程语言计算机软件C语言

本溪广播电视大学 熊 慧

随着现代信息技术的发展,计算机软件技术已经普遍应用于人们工作、生活和学习的方方面面。对于计算机软件来说,它的出现为人们的生活提供了便利,然而,对于功能相似的软件来说,其受欢迎程度存在较大差异,导致这一问题的主要原因在于不同软件之间的数学算法存在区别。数学算法是一种理论模型架构,通过理论模型的设计来实现较高的逻辑效率,在计算机软件编程设计过程中,数学算法的合理使用,能够实现计算机编程的优化,使软件的逻辑性和适用性得到提高。

一、基于数学算法的建模思想在计算机编程优化中的应用

在使用计算机解决现实问题的过程中,需要考虑几个方面的问题,首先,当前面对的问题所适用的数学模型,并根据与之相适应的数学模型确定数学算法;其次,在数学算法的指导下,利用计算机编程软件进行程序设计;最后,对已经编好的程序进行测试,并根据测试结果进行调整,最终得到符合要求的程序设计方案。

数学建模是解决生活中实际问题的有效手段之一,之所以进行数学建模,是为了将抽象的问题进行简单化处理,降低难度。然而,这并不意味着所有的问题都可以通过数学建模的方式实现,数学建模仅适用于具备一定规律的问题的研究。数学模型构建的过程,也就是寻找相关参数之间固定规律的过程,因此,基于数学模型的计算机编程优化,其基础就是对数学算法的掌握,否则,计算机编程优化工作将无从下手。

随着计算机软件更新换代速度的加快,计算机软件的复杂程度不断提高,这对于计算机软件使用者来说不失为一个好消息,然而,对于计算机编程人员来说,对已经较为完善的软件程序进行完善和优化,是一个极为“痛苦”的过程。所谓“痛苦”,是指计算机编程人员需要对其中的数学算法进行调整,然而,计算机编程优化是一个系统化的过程,程序内不同模块之间的计算结果存在必然联系,一旦出现失误,将导致极为严重的连锁反应。因此,为便于计算机编程优化工作的开展,在软件设计之初,就应当选择较为科学合理的数学模型,并根据实际问题进行算法设计,在后期编程阶段,对算法的适用性进行检验,并根据检验结果调整数学算法,尽最大可能的对程序进行优化。

二、数学算法对不同计算机编程语言的优化

计算机编程是一门应用性较强的专业性学科,利用计算机编程软件,通过计算机语言的重新组织,设计出具备某一特定功能的程序。在实际应用中,计算机编程语言种类繁多,目前使用较为广泛的编程语言为C、C++两种类型,VB、汇编等编程语言已经甚少使用。

1.数学算法对计算机C语言编程的优化

C语言是所有计算机高级语言中最为简单、基础的一种类型,正因为此,在计算机编程教学中,C语言多作为入门级编程语言来使用,不仅如此,在某些小程序的设计中,C语言也有着较为广泛的应用。通过C语言的学习,能够为进一步学习难度更高的计算机编程语言打下基础。尽管,C语言属于初级计算机编程语言,但是,在使用C语言编程的过程中,依然需要严格遵循代码逻辑操作,对于C语言编程中存在的问题,则可以使用数学算法进行弥补。

例如,在计算机编程的入门级教材中,大多会遇到如何判断某一年是否是闰年的题目,闰年的判断标准具有复合性,从数学算法的角度来看,首先,闰年不能被100整除,但能够被4整除;其闰年应为100的倍数并且是400的倍数。通过归类法,可以直接对某一年分是否是闰年进行判断。

如使用流程图的方式进行分析的话,其效果更加直观,流程图在这里就相当于数学建模的形式,通过流程图能够更加直观的分析编程中的冗余点,并找到程序优化的具体方法。

2.数学算法对C++编程语言的优化

C++是一种面向对象的计算机语言,属于计算机高级语言中使用较为广泛的一种类型,从名字就可以看出,C++语言是在C语言的基础上发展起来的。作为面向对象的计算机编程语言,在实际编程过程中,会对对象进行不同形式的封装,从而避免C语言中存在的弊端,使计算机编程效率得到大大提高,这也是C++语言能够编写较为复杂的大型程序的主要原因之一。然而,C++编程语言的封装和类的继承同样需要利用数学算法进行优化,否则,由于逻辑的复杂性,将导致软件运行效率无法得到提高。

在使用C++语言编程时,需要根据程序设计的需要进行类的定义,以及在不同类之间的嵌套、封装和继承,对于一个较为复杂的程序来说,类的嵌套、封装和继承需要消耗掉计算机大量的计算资源。在此情况下,利用数学算法对C++语言编程进行优化,能够有效解决面向对象程序设计过程中的代码冗余和逻辑陷阱等问题,从而有效发挥面向对象程序设计的效率优势。

三、数学算法在计算机编程优化中的案例分析

对于这一题目,利用传统计算方式不仅难度较大,庞大的计算量也将消耗大量的时间,因此,利用计算机则可以快速求出相对应的结果,根据,将n的取值代入,得到最终结果,然后数一下最后0的个数。但是,人工录入数据计算的方式依然过于繁琐,利用其中存在的规律,通过计算机编程的方式则可以明显简化这一问题,关键是如何选择数学算法。

方法一:

从以上程序代码中可以看出,尽管,该程序能够解决题目中的问题,但是,由于计算次数过多,牺牲了大量的时间。不仅如此,在计算机过程中,某些数字的计算是不会出现末尾为0的结果,如2*3,2*4等,大量的无用计算造成了时间的浪费,因此,该数学算法并不是此题的最优算法。

方法二:

针对方法一中的问题,我们发现,在末尾0被去掉的情况下,能够再次产生0的情况仅有四种,也就是2*5,4*5,6*5和8*5的组合形式。针对这一逻辑关系,我们可以将代码进行如下调整:

由方法二可以看出,通过算法优化,程序的计算量相当于方法一的1/5,通过对分解数n的整理,可以发现,n中含有5的个数就是最终答案0的个数。因此,在计算机编程优化过程中,应注意发现其中的规律,并以此指导数学算法的修改,尽可能的压缩程序所占用的空间和时间。

四、总结

数学算法是数学学习中经常使用的计算方法,并且,不同数学算法的使用效果也会跟实际问题的不同形成差异。利用数学算法思想,能够实现计算机编程优化的深入进行,是原本复杂的程序设计更加简单化,提高程序运行效率,这对于竞争日益激烈的计算机软件行业来说显得极为重要。

[1]张楠.计算机编程中数学算法优化探析[J].数字通信世界,2017(09).

[2]郭亿鸿.数学算法在计算机编程优化中的作用[J].电子技术与软件工程,2016(24).

[3]高占江.计算机编程中数学算法优化探析[J].电脑迷,2016(09).

猜你喜欢
编程语言计算机软件C语言
压力-体积转换在CFC编程语言中的实现解析
基于Visual Studio Code的C语言程序设计实践教学探索
Java编程语言的特点与应用
基于C语言的计算机软件编程
浅谈不同编程语言对计算机软件开发的影响
浅谈基于C语言的计算机软件程序设计
高职高专院校C语言程序设计教学改革探索
面向对象Web开发编程语言的的评估方法
论子函数在C语言数据格式输出中的应用
基于计算机软件开发中分层技术的应用