计算机编程算法和数学有什么关系?

恒少Jacky


谢谢,这是一个比较普遍的问题,而且被问了很多次,在大学里面孩子们在选择方向的时候,如果是知道编程这个方向,基本上都会问出这个问题。我自己本身,教过中学,目前在大学里工作,虽然不是做编程的,但是主要做计算机设计与媒体方向,是和计算机相关。



回到这个问题,我觉得应该从以下几个方面去了解

第一,我觉得编程的人一般都是具有良好的逻辑思维的人,因为,如何用程序语言的方式,把一件事情,说清楚,这本身就是一个逻辑问题。因为依靠程序去实现一个目的,所使用的方式不止一种。而数学,被认为与逻辑,非常相关的一个学科。

第二,大学里软件类的编程相关专业中要学数学,比如高等数学,线性代数,离散数学,数据库等,而且都是专业课和考试课。


第三,编程和数学有关,但并不是说,不学数学,编程就没法学,其实是越往高层,对数学的要求,就会越低,比如,以前网络编程系统编程,大都是封装好的,但对于一个系统来说,整体的规划和设计更关键,这就是说前期的需求分析,逻辑结构设计,和物理结构设计比编码更重要。

最后一点,我想补充的,很多人认为学设计,就和编程没有关系,其实这也是不对的。特别是图形学理论的学习,没有线性代数基础,是根本看不懂的,还有在三维视图方面,又涉及到高等数学当中的坐标知识。很多算法,对于平面几何分析水平的要求也是很高的,比如说,如果你想搞游戏设计,动画电影,很多时候也是要编写脚本的,否则画面,是没有那么好的。

总的来说,他们之间还是有一定关系的。谢谢


精彩辑选


计算机编程和数学有很大关系

计算机编程和数学都是具有很强逻辑性。

编程和数学都可以锻炼逻辑思维能力。而且是以可以相互促进的两门学科。这就是为什么,很多学数学的人最后转行做编程的原因,因为他们是想通的。

学计算机编程需要有底层数学知识。

不会高等数学的话,编程只能是做一些基础性的,日常性的事情。但如果数学足够好,就可以做更精密的一些,误差更小,精确度更高,也更有可能做创造性的内容。


阿慧么么


站在程序员角度,常用算法与数学没有一毛钱的关系,仅是评估算法是定量分析下。但对多数程序员而言,这些常用算法还需要再自己评估吗?平时只是调用库函数而已。

站在科研人负角度,解决某一具体问题,通常要采用数学模型进行建模分析,但这个模型与实用算法之间通常有非常大的差距。

结论:是程序员的话,深刻理解常见算法,并应用其解决自己工作中的常见问题,不要老想到数学家的事!是科研人员的话,多多发论文,多申请基金,反正现在国家在基金支助上不差钱,就不要想着什么实用了,这么多年都证明:真正实用的是少数!


清零19491001


一般来说两者是没有联系的,只是两者都需要很强的逻辑能力。对于日常使用计算机编程算法不需要数学,只是在具体使用中由于用途中会使用数学公式或者数学方法,这时编程语言需要执行数学公式,两者就结合在一起了,比如在用程序语言进行图像处理就常常会用到傅立叶变换,或者拉普拉斯算子之类的数学方法。

另外理工科领域在大学之后的计算常常要借助计算机进行循环计算或者大批量数据处理,有时为了特定的目标需要自己编写程序,比如使用神经算法实现优化计算。常常需要编程进行统计学的计算。


楼雁南


编程算法强调的是逻辑,简单说就是第一步怎么做,第二步怎么做,直到结束。数学算法是利用数与数之间的关系进行比较快的运算。如果数学算法有很好的基础,对于编程是有很大的帮助的。例如判断一个数n是否为质数,一般方法判断[2,n-1]区间内的整数是否存在能整除n,不存在就是质数。如果有数学算法的底子就知道,只需要判断2到根号n之间的整数是否存在能整除n,不存在就是质数。这样做的好处就是,搜索的范围小了,求解速度快。


一笑不乐


严格的来说,计算机编程算法,是数学的一个具体分枝,在高中数学中,大家都要学习程序框图,而程序框图,是编程的关键。在计算机早期的发展过程中,计算机程序设计是归入数学系,要学习布尔代数,逻辑等很多课程,随着社会的发展,计算机的应用越来越广泛,计算机和其他的知识结合越来越多,计算机发展成为一个专门的学科,但,它的基础是数学,是逻辑思维。


分享到:


相關文章: