吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4707|回复: 3
收起左侧

[易语言 转载] 从数值运算看易语言程序代码的优化

[复制链接]
小宇0721 发表于 2013-12-25 19:42
有人说易语言不讲究算法,不是这样的。易语言的编程原理跟其他编程语言一样,哪有不讲究算法的道理?易语言跟其他编程语言一样都要优化代码、讲究编程效率。下面试举一例说明在易语言中如何优化代码。
我们还在读书的时候,常会接触一些数学智力题,比如当最大数为n时计算下面算式的值:
1-2+3-4+5-6+7……+n         
我相信没有哪个同学会这样计算:先算1-2的结果,再算1-2+3的结果……一步一步这样算下去。这种计算方法很慢,太笨了。有些计算能力比较强的同学可能会较快找到好的方法得到正确的结果。
编程的运算原理跟我们数学的计算方法差不多,一般来说,在数学中好的运算方法用到编程中也是好的,在数学中不好的方法在编程中也会不好。下面我们就用编程的方法计算上面算式的值来说明这一点,我们编制一个子程序“运算最大值”来完成这项功能。
可能一般人首先想到的是下面这种方法:




上面的步骤肯定可以得到正确的答案。但是只要你测试一下,就会发现:当最大值为很大时,程序的执行速度非常慢。在程序开发中,程序的运行效率很重要,能让CPU少执行一条指令都是好的,让我们看看这个程序还有什么可以修改的地方,把程序优化一下。
我们修改为下面的代码看看:




经测试上面代码的执行速度比第一种代码快了一点点,原因是加法运算会比乘法运算快,而代价仅仅是增加了一个整数型变量。但是当最大值为很大时,运算速度仍然很慢。也就是说这个程序仍然不能达到要求,还应该有更优的方案。
更优的方案是:

运用上面的方法,计算结果好像即算即出。在数学中的最好计算方法是不是这种方法?怎么样?想到了吗?没错,当最大值很大的时候这三种程序的运行时间简直是天壤之别!所以,不要认为CPU运算速度快就把所有的问题都推给它去做,程序员应该将代码优化再优化,我们自己能做的决不要让CPU做,因为CPU是为用户服务的,不是为我们程序员服务的

本文章来自:精易论坛(http://bbs.125.la/thread-13680713-1-1.html)请保留此链接, 感谢!
233843

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

9hack 发表于 2013-12-25 20:54
CPU是为用户服务的,不是为我们程序员服务的
这句话很有道理,优化程序是优秀的程序猿所必须具备的!
674525854 发表于 2013-12-25 22:23
CPU是为用户服务的,不是为我们程序员服务的,,,支持一个
peeete 发表于 2013-12-25 22:59

CPU是为用户服务的,不是为我们程序员服务的   说出了问题关键所在
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-1-11 06:20

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表