编程 和 数学 的关系是什么?

编程 和 数学 的关系是什么?,第1张

数学是基础学科,有丰富的数学基础可以对理解编程中的逻辑有帮助。

编程对不同的人有不同的意义:

对于一般的程序员就是代码的产出和可运行程序(数学在这里面并不是特别重要,更重要的是对各种框架的理解、熟练掌握、设计模式等)。

对于算法工程师来说,数学就很重要了(例如机器学习,密码学,计算机图形学等,当然这个对题主来说还太遥远)。

题主说的函数实际上就是为了实现目的的一种封装形式,而递归只是在函数中调用自身(当然需要终止条件)。

扩展资料:

编程的核心是什么,总结起来就是编程思想和逻辑算法,编程思想需要不断的总结归纳,框架思想也是编程思想的一种,需要从千千万万的代码逻辑种抽象出解决问题的方案或者框架。

说的通俗一点就是解决问题的能力,问题也是分为很多种,有直接简单的问题,有长期复杂的问题,也有未来还没有发生的问题,解决方案有直接的办法,也有通过设计框架来解。

所以格局低一点的人可能就是着重眼前实际问题的解决,格局高的人就会想着设计一个框架也就是业内常说的轮子来规避类似问题的发生,这就是普通程序员和顶级高手的差距,出发点和格局都不在一个步调上。

至于具体解决问题的模式设计,就会涉及到逻辑算法,简单的可能非常容易理解,复杂一点或者多种组合了基本上就需要用到数学知识了,所以只有认识到这一层面才会觉得数学这东西对于编程显得特别重要。

特别针对一些复杂问题或者解决根本问题上,由于自身条件或者所处的工作岗位决定,有些程序员甚至一辈子都不会接触到,但并不意味着不存在,数学对于编程逻辑的重要性不言而喻。

不管是分析解决问题,还是喜欢从更大的格局来解决问题,不要小瞧数学对编程的影响,虽然不是每个编程角落都能和数学扯上关系,但对于重要场景一定不会缺席,但也没有必要为了学习编程专门去学一遍数学,如果是在校学生看到可能意义会更加重大一些。

所以讲数学逻辑好的人,学习编程是有一定优势的,喜欢逻辑推理的人从骨子看是非常适合做一名优秀的程序员,当然真的优秀,还需要发自内心的热爱。

参考资料来源:

知网论文-数学算法对计算机编程优化的分析与研究

你好,我是计算机专业大三的学生,我来说说在我的印象中数学的关系:

第一,编写程序体现的是一个人的逻辑思维,既然涉及到逻辑,必然会与数学有些关系。但是与数学关系的深浅要与你所涉及的方面有关。

第二,编程中必须要学的数学:

1.最基本的数字与运算知识:二进制的概念(在哈夫曼树,哈弗曼编码等方面有直接的应用),取余的概念(在循环链表,随机数方面有应用),基础平面几何(在绘制窗口,绘制曲线,自定义按钮等图形化的地方会用到),还有些很基础的数学知识绝对不超出初中的范畴。

2.计算机中的数学知识:主要的一门叫做离散数学,讲的是逻辑代数的相关知识,其实在真正的编程中不会直接体现这门课的重要性,对于初学者只要知道:与或非是怎么回事,什么是集合就可以了。离散数学还涉及到一些图与树的概念,我现在先把这些划归到数据结构中。

3.我前面说了,编程与你的需求有直接的关系,有些编程领域与数学的知识密不可分:

1)搞底层:举个例子,如果你想设计一套你自己的windows字体,那么肯定涉及到字体平滑,字体平滑就涉及到一个很难的数学知识:插值。这个知识在数值分析中讲解,而且没有高等数学的基础,这门课想学会的可能性几乎是零。。。这门课主要解决的是高等数学中的问题如何用计算机解决,比如:泰勒插值,拉格朗日插值,求解一般方程或微分方程的解,还有的我忘了,反正都是很难的知识。而底层的很多编程都是以这些为基础的。

2)搞图形学:CG技术由于在游戏中的如日中天,使得很多初高中生对图形学神往已久,但却不知计算机图形学的知识是建立在很多大学数学课程的基础上的。尤其是图形学理论的学习,没有线性代数的基础是根本看不懂的。而在三维视图方面又要涉及到高等数学中极坐标的知识。很多算法,比如梁-Baskey算法对于平面几何分析水平的要求是非常高的!如果你想搞游戏设计,动画电影(这个是要写脚本程序的,否则画面哪能那么好),我劝你还是到了大学再深入学习吧。

3)搞算法:学习算法与其说数学要好,还不如说成是智力要好。。。比如分治法,动态规划算法,回溯法等对于问题的前期分析要求很高,尤其是列出递归方程,这些我觉得是在考智力。还有一些,比如图算法,树的应用,排序,查找,这些知识涉及到计算机专业的另一门课程:数据结构,这门课是计算机专业的核心课程之一,也是专业与非专业的最大区别。这门课对数学要求不高,但对于一个人的思维要求比较高。还有像计算几何的问题,那就是纯数学问题了。。。

4)搞密码学:我不搞这方面,而且也没研究过,但听说这方面对数学要求极高!由于我的数学比较好,别人还推荐过我去搞这方面,但是我一想到面对的都是数字,我就退缩了。。。

以上就是我所知道的与数学有关的计算机分支,每个方面都够人学一辈子,而且学好了,前途与钱途都是大大的!

第三,这么多方面都跟数学有关,那编程岂不没法学了?还有些方面对于数学要求相对较低,我说的相对较低是由于不管哪方面都会涉及到一些基础的数学算法。总的来说,越往高层,对数学的要求越低,比如MFC,那些网络编程,系统编程都是封装好的,但对于一个系统来说整体的规划和设计更关键,就是说前期的需求分析、逻辑结构设计和物理结构设计比编码更重要,当然工资也更高。。。

最后,我想给你提些学习编程的建议:

1)由于你的年龄还小,中国的教育体质问题,希望你不要把太多的精力放在这上面。。。我想你懂的。虽然听说过哪个孩子做了个游戏之后成了百万富翁,但这么多年了,似乎只有他一个,不要怀疑自己的实力,但更不要幻想你有这个运气。。。

2)编程注重逻辑思维,你才是初中生,大脑的发育不知是否成熟(绝不是说你智力低,你应该知道大脑发育是有阶段的吧),所以要以语言的基础为主,这个对数学要求不高。

3)请选一门语言去练习,编程注重实践,没有实践只有理论那就等于没学,所以一定多练练。至于语言,我推荐学习C或C++,至于C与C++是怎么回事,怎么学习,这是另一个比较难的话题。。。注意别上来就学VC++(MFC),否则你会一事无成!

4)编程很枯燥,所以要耐得住性子,不要一见到难题就退缩,一见到不会的概念就把书扔了,不会的时候请多看看基础,八成是语言基础不到位。

就写这么多吧,希望我的回答对你有帮助。你若有什么问题还可以继续问,若是编程过程中遇到什么问题也可以问我,很欢迎的!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11523614.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存