您当前的位置:首页 > 互联网教程

编程需要数学很好吗

发布时间:2025-05-22 11:44:31    发布人:远客网络

编程需要数学很好吗

一、编程需要数学很好吗

不需要,很多很多特别优秀的架构师数学并不好。

编程可以粗略分为算法和架构。架构主要是理解各种库和分布式系统的优缺点,这样才能在做设计的时候选择正确的部件。比如说,你要设计百度:百度有哪些模块,然后选择什么数据库,前端框架,后台框架,消息队列,如何把这些模块组合起来。如果只是纯码代码,那就需要对自己使用的框架很了解,然后就是要思维缜密。

但是在算法编程过程中会大量使用数学概念和技巧,如果没有相应的数学基础,可能会遇到一些困难。以下是一些编程中常用的数学概念:1.线性代数:线性代数是研究向量、矩阵、行列式、线性方程组等概念的数学学科,在编程中会用到线性代数的知识,例如向量加法、矩阵乘法、向量相乘、矩阵相乘等。2.微积分:微积分是研究函数的极限、导数、积分等概念的数学学科,在编程中会用到微积分的知识,例如极限、导数、积分等概念,以及利用导数和积分来计算函数的值。3.概率论:概率论是研究随机现象的数学学科,在编程中会用到概率论的知识,例如事件发生的概率、随机数生成等。

因此,如果你对数学有兴趣并且有一定的数学基础,学习编程可能会更加得心应手。但是如果你没有相应的数学基础,也不需要过于担心,可以通过学习相关的数学知识和编程技巧来克服困难。

二、学编程要掌握什么水平的数学知识

1、学习编程所需掌握的数学知识水平主要取决于编程领域和目标,但多数情况下,掌握中学数学知识便足够。具体来说:

2、基础编程:对于大多数基础编程任务,如网页开发、移动应用开发等,掌握中学数学知识便足够应对。这些基础知识有助于理解编程中的基本概念和逻辑。

3、算法与数据结构:虽然算法是编程中的核心部分,但其代码量在整套程序中通常占比较小。对于算法和数据结构的学习,可能需要一定的数学基础,如离散数学、概率论等,但这些知识可以在学习算法时逐步掌握。

4、高级领域:如果你对编程的兴趣涉及更高级的领域,如机器学习、人工智能、图形处理等,那么可能需要深入学习高等数学。这些数学知识对于理解相关算法和模型至关重要。

5、学习路径:对于编程初学者来说,建议先学习编程基础知识,如数据结构、控制流程等,再逐渐深入学习算法和数学模型。这样可以在掌握编程逻辑和实际操作的基础上,逐步提高对数学知识的需求和应用能力。

6、总之,学习编程时的数学知识水平应根据个人兴趣和目标进行调整。在初学阶段,不必过分强调数学知识,而应注重建立对编程逻辑和实际操作的直观理解。随着学习的深入,再根据需要逐步补充相关数学知识。

三、编程和数学的关系

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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