【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《高等数学在计算机编程中的作用》,欢迎阅读!
1、如果程序中要使用算法,高等数学可能用得上。不过一般的程序,还是很难用得上高等数学的。
2、高等数学只是基础,一旦你进入数据结构、数据库或其它比较专业的东西,它的基础作用就很明显了!
3、其实关键是看你干什么,计算机编程也有很多方面,比如说你要搞图形图象处理建模,就肯定要线形代数方面的知识,但你如果是一般的编程,就不是那么明显。 4、思想,逻辑思维对一个程序员太重要了,多少时候,我们都需要在头脑里面把程序运行上几遍,这凭什么?因为程序员有出色的逻辑思维,而这种出色的逻辑思维从何处而来??数学数学还是数学.基础学科锻炼人的基础,没有地基何来高楼大厦,所以,我认为,不管是数学还是离散数学等等的相关东西都要好好学习
5、高数的作用:一是培养思维,二是算法分析,三是程序可能本身与高数有关。 6、如果你做图象处理的话 高数很重要。
7、高等数学是一门基础学科,如果没有学过高数,那么看计算方法就可能象看天书似的了。如果你要做一名编程熟练工,可以不学它,否则好好学学吧!
8、高数就象是武林高手的内功,虽然不能用来击败对手,但是可以让你的招式更有杀伤力。
当然必要的招式还是很重要的,至于象令狐冲那样的只用招式打天下的天才比较少。 9、思想,逻辑思维对一个程序员是很重要的,你不能只是学会click,click,click. 那样你是没有什么前途的。
10、说白了,高等数学是训练你的思维的。如果你是数学系的本科生,考研你可以考除了文学系和新闻系的任何一个科系,为什么?因为你的思维比较能跟得上拍。 11、高等数学在一些常用数值计算算法上能用的上,不过在一般的程序上是用不上的。
不过小弟我听说高数在解密方面有用,如果你想当黑客就要好好学了,呵呵~~~~~ 12、我希望你知道编程只是为了表现你的思维、你的创造力,仅仅是一种表达方式,而数学是你能不断创新的基石。
13、数学是所有学科的基础,数学不好,什么都不可能学好,我看过一个报道,有的软件公司根本不要计算机专业的程序员,而是到数学系去找,经过短期的培训他们的编程能力肯定比不注重数学基础的程序员强,现在知道它的利害性了吧,好好学数学吧!
14、我认为那得看你是将来拿编程来干什么,如果用与科学计算, 比如火箭发射那种计算,那数学和物理差一点都不行;如果你是一个应用程序开发者,那对数学的要求就不一定高。我在系里数学最差,但编程最好,这也是中国教育制度的缺陷。不能尽展所长,我学校里的计算机教学计划还是5年以前制定的,学的都是理论,没有实际的东西。
15、高等数学对编程有何作用?
数学是计算机的鼻祖,等你到商业的开发环境,比如做游戏开发,就需要数学基础很深的人工智能了,很多公司就找那些数学系的来做开发,对他们来说,计算机很快就会上首,并且很牛彼得啊,哈哈,好好学吧,freshman
建议看《计算机编程艺术》。纯粹的基础算法恐怕是没有什么机会用高数了……但是只要是做到音频、视频之类的东西,高数是少不了的……
16、作为理论功底,在图像/声音图像压缩算法/人工智能/CAD等领域广泛使用微积分作理论研究工具,所以如果你不想只是做做连中专,高中毕业就能做coder,那么请学好高等数学,为以后要走的路做准备
17、现在很多人说的编程好,就是说在一个小范围的。 人群/代码规模/错误率/工程难度, 下个人的代码, 风格/写代码速度。就像造房子的砌砖工人一样,说自己每天能比别人多砌几块砖,就以为天下老子最大。方不知造一幢楼最赚钱的是设计院里的人,再者是包工头,这些人对砌砖相去甚远,甚至根本不知。 这其中的道理够明了了吧
18、当然有用了,并且很有用,你没看大学考计算机的研究生数学都难些,并且很多数学专业的在计算机方面都相当地厉害,除了计算机专业的就是数学专业的。这些不光是逻辑思维能力的培养,还有一些算法等很多方面的问题。
19、其实不该问这个问题,数学对编程有如蔬菜对肌肉。你说你吃了这盘菜对你身上的哪块肌肉有好处谁也说不出,但如果你一点蔬菜都不吃,你身上的每块肌肉都会没用。
20、其实高等数学还是有一点用处的,不过我建议你学高数的时候,顺便参考一下大学, 数学系专用的《数学分析》,此书对逻辑思维有相当帮助 【实列分析】
下面将以3个实例与大家共同探讨:
首先我们来看一个使用数学方法可以大大提高效率的例子。 实例一:给定一个自然数a,判断它是不是质数。
普通的想法:若a是合数,那么必然有一个因数不大于a1/2,建立一个a1/2以内的质数表,逐一检索。显然,这样速度太慢!
下面介绍一种基于费马小定理的Miller-Rabin测试算法:
首先是引理:费马小定理,相信大家都有耳闻,这里我也不嫌累赘,仍旧列出。 若n是质数,(a,n)=1,则an-1mod n =1。
同样,若我们选取若干个a,都满足以上等式的话,几乎可以肯定n是素数。(尽管不能完全确认,但在实际操作中是可行的) 下面给出算法:
Function Miller-Rabin(n:longint):Boolean; Begin
For I:=1 to s do Begin
a:=random(n-2)+2;
If modular_exp(a,n-1,n)<>1 then return false; End;
Return true; End;
事实上,数学在计算机当中最为重要的还是递推关系的应用:许多看似棘手的题目,在有了这一层的关系后便显得柳暗花明了。 实例二:Hannoi塔问题
Hanoi塔由n个大小不同的圆盘和三根木柱a,b,c组成。开始时,这n个圆盘由大到小依次套在a柱上,要求把a柱上n个圆盘按下述规则移到c柱上: (1) 一次只能移一个圆盘;
(2) 圆盘只能在三个柱上存放;
(3) 在移动过程中,不允许大盘压小盘。
问将这n个盘子从a柱移到c柱上,总计需要移动多少个盘次?
解:设hn为n个盘子从a柱移到c柱所需移动的盘次。显然,当n=1时,只需把
a柱上的盘子直接移动到c柱就可以了,故h1=1。当n=2时,先将a柱上面的小盘子移动到b柱上去;然后将大盘子从a柱移到c柱;最后,将b柱上的小盘子移到c柱上,共计3个盘次,故h2=3。以此类推,当a柱上有n(n>=2)个盘子时,总是先借助c柱把上面的n-1个盘移动到b柱上,然后把a柱最下面的盘子移动到c柱上;再借助a柱把b柱上的n-1个盘子移动到c柱上;总共移动h(n-1)+1+h(n-1)个盘次。所以:hn=2h(n-1)+1 (边界条件:h1=1)这个问题其实只是数学题目的简单变形。下面再来看一个应用更加灵活的例子:
实例三:方格取数在一个n*m的方格中,m为奇数,放置有n*m个数,方格中间的下方有一人,此人可按照正前方相临的五个方向(方格)前进但不能越出方格。人每走过一个方格必须取此方格中的数。要求找到一条从底到顶的路径,使其数相加之和为最大。输出和的最大值。
解:这题在本质上类似于递推,是从一个点可以到达的点计算可以到达一个点的所有可能点,然后从中发掘它们的关系。我们用坐标(x,y)唯一确定一个点,其中(m,n)表示图的右上角,而人的出发点是([m/2],0),受人前进方向的限制,能直接到达点(x,y)的点只有(x+2,y-1),(x+1,y-1),(x,y-1),(x-1,y-1),(x-2,y-1)。 到达(x,y)的路径中和最大的路径必然要从到
(x+2,y-1),(x+1,y-1),(x,y-1),(x-1,y-1),(x-2,y-1)的几条路径中产生,既然要求最优方案,当然要挑一条和最大的路径,关系式如下:
F(x,y)=Max{F(x+2,y-1),F(x+1,y-1),F(x,y-1),F(x-1,y-1),F(x-2,y-1)}+Num(x,y),其中Num(x,y)表示(x,y)点上的数字。(边界条件为:F([m/2],0)=0,F(x,0)=-0(1<=x<=m且x<>[m/2]))。
这种问题,涉及到最值,采用的递推手法被称为"动态规划"。简称DP。
程序设计中可采用多种数学方法,恰如其分的数学方法可以大大减少程序运行的时间和所需空间,起到优化程序的作用。遇到一道题目时,如进制运算,多项式运算等,应不急于马上用递归,回溯等搜索算法,特别是测试数据的范围很大的时候。不妨先用笔算,从中发现一些规律.但是也不是每一道题都可以用数学方法完成,数学方法只能用于一些求总数,最值之类的题目上。 【结束语】
数学方法的合理运用,可以给编程带来很大方便,现在一些软件的编写,越来越多的用到数学推导归纳。要在如此众多的程序编写员里面取得优异成绩,坚实的数学基础和能力是很重要的。
不仅是在编程方面,在计算机的其他领域中,数学也有广泛的应用。但限于水平的关系。本人就只探讨至此,愿它对大家能够有所帮助。
本文来源:https://www.wddqxz.cn/382c787b31b765ce0508143a.html